7 #ifndef DtBaseEntityDecoder_H_
8 #define DtBaseEntityDecoder_H_
23 #define DtDECLARE_ENTITY_ATTR_DECODER(attrName) \
24 DtDECLARE_ATTR_DECODER(DtEntityStateRepository, attrName)
28 #define DtDECLARE_AGGREGATE_ATTR_DECODER(attrName) \
29 DtDECLARE_ATTR_DECODER(DtAggregateStateRepository, attrName)
33 #define DtDECLARE_BASE_ENTITY_ATTR_DECODER(attrName) \
34 DtDECLARE_ATTR_DECODER(DtBaseEntityStateRepository, attrName)
41 class DT_DLL_VL DtBaseEntityDecoder :
public DtHlaStateDecoder
48 DtObjClassDesc* classDesc);
51 virtual ~DtBaseEntityDecoder();
54 DtBaseEntityDecoder(
const DtBaseEntityDecoder& orig);
57 DtBaseEntityDecoder& operator=(
const DtBaseEntityDecoder& orig);
60 virtual DtHlaStateDecoder* clone()
const;
66 virtual DtHlaStateDecoder* clone(DtObjClassDesc* classDesc)
const;
71 static DtHlaStateDecoder* create(
73 DtObjClassDesc* classDesc);
90 DtDECLARE_BASE_ENTITY_ATTR_DECODER(Spatial);
91 DtDECLARE_BASE_ENTITY_ATTR_DECODER(RelativeSpatial);
92 DtDECLARE_BASE_ENTITY_ATTR_DECODER(IsPartOf);
95 DtDECLARE_BASE_ENTITY_ATTR_DECODER(IsPartOf_RPR_20014);
98 DtDECLARE_BASE_ENTITY_ATTR_DECODER(AccelerationVector);
99 DtDECLARE_BASE_ENTITY_ATTR_DECODER(AngularVelocityVector);
100 DtDECLARE_BASE_ENTITY_ATTR_DECODER(EntityType);
101 DtDECLARE_BASE_ENTITY_ATTR_DECODER(IsFrozen);
102 DtDECLARE_BASE_ENTITY_ATTR_DECODER(Orientation);
103 DtDECLARE_BASE_ENTITY_ATTR_DECODER(VelocityVector);
106 DtDECLARE_BASE_ENTITY_ATTR_DECODER(DRAlgorithm);
107 DtDECLARE_BASE_ENTITY_ATTR_DECODER(Position);
108 DtDECLARE_BASE_ENTITY_ATTR_DECODER(EntityID);
111 DtDECLARE_BASE_ENTITY_ATTR_DECODER(DeadReckoningAlgorithm);
112 DtDECLARE_BASE_ENTITY_ATTR_DECODER(WorldLocation);
113 DtDECLARE_BASE_ENTITY_ATTR_DECODER(EntityIdentifier);
121 #define DtDEFINE_SIMPLE_BASE_ENTITY_ATTR_DECODER_WITH_CAST( \
122 attrName, netType, mutator, castExpr) \
123 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \
124 DtBaseEntityDecoder, DtBaseEntityStateRepository, \
125 attrName, netType, mutator, castExpr)
127 #define DtDEFINE_SIMPLE_BASE_ENTITY_ATTR_DECODER( \
128 attrName, netType, inspector) \
129 DtDEFINE_SIMPLE_BASE_ENTITY_ATTR_DECODER_WITH_CAST( \
130 attrName, netType, inspector, (netType))