7 #ifndef physicalEntityEncoder_H_
8 #define physicalEntityEncoder_H_
25 class DT_DLL_VL DtPhysicalEntityEncoder :
public DtBaseEntityEncoder
30 DtPhysicalEntityEncoder(
32 DtObjClassDesc* classDesc);
35 virtual ~DtPhysicalEntityEncoder();
38 DtPhysicalEntityEncoder(
const DtPhysicalEntityEncoder& orig);
41 DtPhysicalEntityEncoder& operator=(
const DtPhysicalEntityEncoder& orig);
47 static DtHlaStateEncoder* create(
49 DtObjClassDesc* classDesc);
54 DtDECLARE_ENTITY_ATTR_CHECKER(ArticulatedParametersArray);
55 DtDECLARE_ENTITY_ATTR_CHECKER(DamageState);
56 DtDECLARE_ENTITY_ATTR_CHECKER(EngineSmokeOn);
57 DtDECLARE_ENTITY_ATTR_CHECKER(FlamesPresent);
58 DtDECLARE_ENTITY_ATTR_CHECKER(HasFuelSupplyCap);
59 DtDECLARE_ENTITY_ATTR_CHECKER(HasRecoveryCap);
60 DtDECLARE_ENTITY_ATTR_CHECKER(HasRepairCap);
61 DtDECLARE_ENTITY_ATTR_CHECKER(Immobilized);
62 DtDECLARE_ENTITY_ATTR_CHECKER(Marking);
63 DtDECLARE_ENTITY_ATTR_CHECKER(PowerPlantOn);
64 DtDECLARE_ENTITY_ATTR_CHECKER(SmokePlumePresent);
65 DtDECLARE_ENTITY_ATTR_CHECKER(TentDeployed);
68 DtDECLARE_ENTITY_ATTR_CHECKER(HatchState);
69 DtDECLARE_ENTITY_ATTR_CHECKER(LifeformState);
70 DtDECLARE_ENTITY_ATTR_CHECKER(LightsState);
71 DtDECLARE_ENTITY_ATTR_CHECKER(RampDeployed);
72 DtDECLARE_ENTITY_ATTR_CHECKER(TrailState);
75 DtDECLARE_ENTITY_ATTR_CHECKER(AlternateEntityType);
76 DtDECLARE_ENTITY_ATTR_CHECKER(CamouflageType);
77 DtDECLARE_ENTITY_ATTR_CHECKER(FirePowerDisabled);
78 DtDECLARE_ENTITY_ATTR_CHECKER(ForceIdentifier);
79 DtDECLARE_ENTITY_ATTR_CHECKER(HasAmmunitionSupplyCap);
80 DtDECLARE_ENTITY_ATTR_CHECKER(IsConcealed);
81 DtDECLARE_ENTITY_ATTR_CHECKER(TrailingEffectsCode);
84 DtDECLARE_ENTITY_ATTR_CHECKER(AcousticSignatureIndex);
85 DtDECLARE_ENTITY_ATTR_CHECKER(InfraredSignatureIndex);
86 DtDECLARE_ENTITY_ATTR_CHECKER(PropulsionSystemsData);
87 DtDECLARE_ENTITY_ATTR_CHECKER(RadarCrossSectionSignatureIndex);
88 DtDECLARE_ENTITY_ATTR_CHECKER(VectoringNozzleSystemData);
91 DtDECLARE_ENTITY_ATTR_CHECKER(LiveEntityMeasuredSpeed);
94 DtDECLARE_ENTITY_ATTR_ENCODER(DamageState);
95 DtDECLARE_ENTITY_ATTR_ENCODER(EngineSmokeOn);
96 DtDECLARE_ENTITY_ATTR_ENCODER(FlamesPresent);
97 DtDECLARE_ENTITY_ATTR_ENCODER(HasFuelSupplyCap);
98 DtDECLARE_ENTITY_ATTR_ENCODER(HasRecoveryCap);
99 DtDECLARE_ENTITY_ATTR_ENCODER(HasRepairCap);
100 DtDECLARE_ENTITY_ATTR_ENCODER(Immobilized);
101 DtDECLARE_ENTITY_ATTR_ENCODER(Marking);
102 DtDECLARE_ENTITY_ATTR_ENCODER(PowerPlantOn);
103 DtDECLARE_ENTITY_ATTR_ENCODER(SmokePlumePresent);
104 DtDECLARE_ENTITY_ATTR_ENCODER(TentDeployed);
107 static void encodeArticulatedParametersArrayPre09(
109 RTI::AttributeHandleValuePairSet* avList,
110 RTI::AttributeHandle attrHandle);
112 DtDECLARE_ENTITY_ATTR_ENCODER(HatchState);
113 DtDECLARE_ENTITY_ATTR_ENCODER(LifeformState);
114 DtDECLARE_ENTITY_ATTR_ENCODER(LightsState);
115 DtDECLARE_ENTITY_ATTR_ENCODER(RampDeployed);
116 DtDECLARE_ENTITY_ATTR_ENCODER(TrailState);
119 DtDECLARE_ENTITY_ATTR_ENCODER(ArticulatedParametersArray);
120 DtDECLARE_ENTITY_ATTR_ENCODER(AlternateEntityType);
121 DtDECLARE_ENTITY_ATTR_ENCODER(CamouflageType);
122 DtDECLARE_ENTITY_ATTR_ENCODER(FirePowerDisabled);
123 DtDECLARE_ENTITY_ATTR_ENCODER(ForceIdentifier);
124 DtDECLARE_ENTITY_ATTR_ENCODER(HasAmmunitionSupplyCap);
125 DtDECLARE_ENTITY_ATTR_ENCODER(IsConcealed);
126 DtDECLARE_ENTITY_ATTR_ENCODER(TrailingEffectsCode);
129 DtDECLARE_ENTITY_ATTR_ENCODER(AcousticSignatureIndex);
130 DtDECLARE_ENTITY_ATTR_ENCODER(InfraredSignatureIndex);
131 DtDECLARE_ENTITY_ATTR_ENCODER(PropulsionSystemsData);
132 DtDECLARE_ENTITY_ATTR_ENCODER(RadarCrossSectionSignatureIndex);
133 DtDECLARE_ENTITY_ATTR_ENCODER(VectoringNozzleSystemData);
134 DtDECLARE_ENTITY_ATTR_ENCODER(LiveEntityMeasuredSpeed);
137 DtDECLARE_ENTITY_ATTR_CHECKER(DIGuyAction);
138 DtDECLARE_ENTITY_ATTR_ENCODER(DIGuyAction);
139 DtDECLARE_ENTITY_ATTR_CHECKER(DIGuyAppearance);
140 DtDECLARE_ENTITY_ATTR_ENCODER(DIGuyAppearance);
141 DtDECLARE_ENTITY_ATTR_CHECKER(DIGuyArc);
142 DtDECLARE_ENTITY_ATTR_ENCODER(DIGuyArc);
143 DtDECLARE_ENTITY_ATTR_CHECKER(DIGuyType);
144 DtDECLARE_ENTITY_ATTR_ENCODER(DIGuyType);
145 DtDECLARE_ENTITY_ATTR_CHECKER(DIGuyParent);
146 DtDECLARE_ENTITY_ATTR_ENCODER(DIGuyParent);
149 DtDECLARE_ENTITY_ATTR_CHECKER(Status);
150 DtDECLARE_ENTITY_ATTR_CHECKER(UniqueId);
151 DtDECLARE_ENTITY_ATTR_CHECKER(SourceUnit);
152 DtDECLARE_ENTITY_ATTR_CHECKER(Callsign);
153 DtDECLARE_ENTITY_ATTR_CHECKER(Activity);
154 DtDECLARE_ENTITY_ATTR_CHECKER(EmbeddedUnitList);
155 DtDECLARE_ENTITY_ATTR_CHECKER(SymbolId);
156 DtDECLARE_ENTITY_ATTR_CHECKER(Destination);
157 DtDECLARE_ENTITY_ATTR_CHECKER(Route);
161 DtDECLARE_ENTITY_ATTR_ENCODER(Status);
162 DtDECLARE_ENTITY_ATTR_ENCODER(UniqueId);
163 DtDECLARE_ENTITY_ATTR_ENCODER(SourceUnit);
164 DtDECLARE_ENTITY_ATTR_ENCODER(Callsign);
165 DtDECLARE_ENTITY_ATTR_ENCODER(Activity);
166 DtDECLARE_ENTITY_ATTR_ENCODER(EmbeddedUnitList);
167 DtDECLARE_ENTITY_ATTR_ENCODER(SymbolId);
168 DtDECLARE_ENTITY_ATTR_ENCODER(Destination);
169 DtDECLARE_ENTITY_ATTR_ENCODER(Route);
176 static void convertToRPR1_0(
181 static void encodeAttachedParts(
186 static void setArticulatedPartDeadReckoningEnabled(
bool enable);
187 static bool articulatedPartDeadReckoningEnabled();
190 static bool theAreArticulatedPartsDeadReckoned;
198 #define DtDEFINE_SIMPLE_PHYS_ENTITY_ATTR_ENCODER( \
199 attrName, netType, inspector) \
200 DtDEFINE_SIMPLE_ATTR_ENCODER(DtPhysicalEntityEncoder, \
201 DtEntityStateRepository, \
202 attrName, netType, inspector)
209 #define DtDEFINE_SIMPLE_PHYS_ENTITY_ATTR_CHECKER( \
210 attrName, inspector) \
211 DtDEFINE_SIMPLE_ATTR_CHECKER(DtPhysicalEntityEncoder, \
212 DtEntityStateRepository, \
218 #define DtDEFINE_LIGHT_ATTR_CHECKER( \
219 encClass, attrName, arg1) \
220 bool encClass::need##attrName( \
221 const DtEntityStateRepository& stateRep, \
222 const DtEntityStateRepository& asSeenByRemote) \
224 return (bool) (stateRep.lightState(arg1) != asSeenByRemote.lightState(arg1)); \
227 #define DtDEFINE_LIGHT_ATTR_ENCODER( \
228 encClass, attrName, arg1) \
229 void encClass::encode##attrName( \
230 const DtEntityStateRepository& rep, \
231 RTI::AttributeHandleValuePairSet* attrs, \
232 RTI::AttributeHandle attrHandle) \
234 DtNetBoolean netVal; \
235 netVal = rep.lightState(arg1); \
236 attrs->add(attrHandle, (char*) &netVal, sizeof(DtNetBoolean)); \
A DtAttachedPartCollection is a collection of attached parts of an entity.
Definition: attachedPartCollection.h:24
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
Definition: netStructs.h:534
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtEntityStateRepository are used to maintain attributes and state of entity objects in a...
Definition: entityStateRepository.h:41
Definition: netStructs.h:467
Contains the DtEntityStateRepository class declaration.
Definition: netStructs.h:478