7 #ifndef DtBaseEntityEncoder_H_
8 #define DtBaseEntityEncoder_H_
24 #define DtDECLARE_ENTITY_ATTR_CHECKER(attrName) \
25 DtDECLARE_ATTR_CHECKER(DtEntityStateRepository, attrName)
29 #define DtDECLARE_ENTITY_ATTR_ENCODER(attrName) \
30 DtDECLARE_ATTR_ENCODER(DtEntityStateRepository, attrName)
34 #define DtDECLARE_AGGREGATE_ATTR_CHECKER(attrName) \
35 DtDECLARE_ATTR_CHECKER(DtAggregateStateRepository, attrName)
39 #define DtDECLARE_AGGREGATE_ATTR_ENCODER(attrName) \
40 DtDECLARE_ATTR_ENCODER(DtAggregateStateRepository, attrName)
44 #define DtDECLARE_BASE_ENTITY_ATTR_CHECKER(attrName) \
45 DtDECLARE_ATTR_CHECKER(DtBaseEntityStateRepository, attrName)
49 #define DtDECLARE_BASE_ENTITY_ATTR_ENCODER(attrName) \
50 DtDECLARE_ATTR_ENCODER(DtBaseEntityStateRepository, attrName)
58 class DT_DLL_VL DtBaseEntityEncoder :
public DtHlaStateEncoder
65 DtObjClassDesc* classDesc);
68 virtual ~DtBaseEntityEncoder();
71 DtBaseEntityEncoder(
const DtBaseEntityEncoder& orig);
74 DtBaseEntityEncoder& operator=(
const DtBaseEntityEncoder& orig);
79 static DtHlaStateEncoder* create(
81 DtObjClassDesc* classDesc);
85 static bool tpsiChanged(
94 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(Spatial);
95 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(RelativeSpatial);
96 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(IsPartOf);
99 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(AccelerationVector);
100 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(AngularVelocityVector);
101 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(EntityType);
102 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(IsFrozen);
103 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(Orientation);
104 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(VelocityVector);
107 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(DeadReckoningAlgorithm);
108 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(Position);
109 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(EntityIdentifier);
112 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(DRAlgorithm);
113 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(WorldLocation);
114 DtDECLARE_BASE_ENTITY_ATTR_CHECKER(EntityID);
119 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(Spatial);
120 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(RelativeSpatial);
121 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(IsPartOf);
122 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(IsPartOf_RPR_20014);
125 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(AccelerationVector);
126 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(AngularVelocityVector);
127 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(EntityType);
128 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(IsFrozen);
129 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(Orientation);
130 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(VelocityVector);
133 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(DeadReckoningAlgorithm);
134 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(Position);
135 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(EntityIdentifier);
138 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(DRAlgorithm);
139 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(WorldLocation);
140 DtDECLARE_BASE_ENTITY_ATTR_ENCODER(EntityID);
148 #define DtDEFINE_SIMPLE_BASE_ENTITY_ATTR_ENCODER( \
149 attrName, netType, inspector) \
150 DtDEFINE_SIMPLE_ATTR_ENCODER(DtBaseEntityEncoder, \
151 DtBaseEntityStateRepository, \
152 attrName, netType, inspector)
159 #define DtDEFINE_SIMPLE_BASE_ENTITY_ATTR_CHECKER( \
160 attrName, inspector) \
161 DtDEFINE_SIMPLE_ATTR_CHECKER(DtBaseEntityEncoder, \
162 DtBaseEntityStateRepository, \