VR-Link API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
baseEntityEncoder.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #ifndef DtBaseEntityEncoder_H_
8 #define DtBaseEntityEncoder_H_
9 
10 #if DtHLA
11 
12 #include "hlaStateEncoder.h"
13 
17 
21 
24 #define DtDECLARE_ENTITY_ATTR_CHECKER(attrName) \
25  DtDECLARE_ATTR_CHECKER(DtEntityStateRepository, attrName)
26 
29 #define DtDECLARE_ENTITY_ATTR_ENCODER(attrName) \
30  DtDECLARE_ATTR_ENCODER(DtEntityStateRepository, attrName)
31 
34 #define DtDECLARE_AGGREGATE_ATTR_CHECKER(attrName) \
35  DtDECLARE_ATTR_CHECKER(DtAggregateStateRepository, attrName)
36 
39 #define DtDECLARE_AGGREGATE_ATTR_ENCODER(attrName) \
40  DtDECLARE_ATTR_ENCODER(DtAggregateStateRepository, attrName)
41 
44 #define DtDECLARE_BASE_ENTITY_ATTR_CHECKER(attrName) \
45  DtDECLARE_ATTR_CHECKER(DtBaseEntityStateRepository, attrName)
46 
49 #define DtDECLARE_BASE_ENTITY_ATTR_ENCODER(attrName) \
50  DtDECLARE_ATTR_ENCODER(DtBaseEntityStateRepository, attrName)
51 
57 
59 {
60 public:
61 
64  DtExerciseConn* exConn,
65  DtObjClassDesc* classDesc);
66 
68  virtual ~DtBaseEntityEncoder();
69 
72 
75 
76 public:
77 
79  static DtHlaStateEncoder* create(
80  DtExerciseConn* exConn,
81  DtObjClassDesc* classDesc);
82 
85  static bool tpsiChanged(
86  const DtBaseEntityStateRepository& stateRep,
87  const DtBaseEntityStateRepository& asSeenByRemote);
88 
89 protected:
90 
92 
95  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(RelativeSpatial);
97 
99  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(AccelerationVector);
100  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(AngularVelocityVector);
104  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(VelocityVector);
105 
107  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(DeadReckoningAlgorithm);
109  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(EntityIdentifier);
110 
113  DtDECLARE_BASE_ENTITY_ATTR_CHECKER(WorldLocation);
115 
117 
120  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(RelativeSpatial);
122  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(IsPartOf_RPR_20014); //2.0d14
123 
125  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(AccelerationVector);
126  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(AngularVelocityVector);
130  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(VelocityVector);
131 
133  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(DeadReckoningAlgorithm);
135  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(EntityIdentifier);
136 
139  DtDECLARE_BASE_ENTITY_ATTR_ENCODER(WorldLocation);
141 };
142 
148 #define DtDEFINE_SIMPLE_BASE_ENTITY_ATTR_ENCODER( \
149  attrName, netType, inspector) \
150  DtDEFINE_SIMPLE_ATTR_ENCODER(DtBaseEntityEncoder, \
151  DtBaseEntityStateRepository, \
152  attrName, netType, inspector)
153 
159 #define DtDEFINE_SIMPLE_BASE_ENTITY_ATTR_CHECKER( \
160  attrName, inspector) \
161  DtDEFINE_SIMPLE_ATTR_CHECKER(DtBaseEntityEncoder, \
162  DtBaseEntityStateRepository, \
163  attrName, inspector)
164 
165 #endif
166 #endif
167 
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:58
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtBaseEntityStateRepository are used to maintain basic state information needed by all k...
Definition: baseEntityStateRepository.h:36
class DtBaseEntityEncoder:
Definition: baseEntityEncoder.h:58
This file contains the declaration of DtHlaStateEncoder.
DtHlaStateEncoder is used to provide encoding of a state repository into a state message in an HLA (a...
Definition: hlaStateEncoder.h:30
#define DtDECLARE_BASE_ENTITY_ATTR_CHECKER(attrName)
This is used to declare static member functions for determining whether or not an attribute needs to ...
Definition: baseEntityEncoder.h:44
An instance of DtObjClassDesc is a "class descriptor" for an HLA Object class.
Definition: objClassDesc13.h:41
Instances of DtEntityStateRepository are used to maintain attributes and state of entity objects in a...
Definition: entityStateRepository.h:36
#define DtDECLARE_BASE_ENTITY_ATTR_ENCODER(attrName)
This is used to declare attribute encoding functions which are members of the class.
Definition: baseEntityEncoder.h:49
DtHlaStateEncoder & operator=(const DtHlaStateEncoder &orig)
assignment operator
A protocol independent representation of an aggregate.
Definition: aggregateStateRepository.h:29

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)