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);
153 static void convertToRPR1_0(
158 static void encodeAttachedParts(
163 static void setArticulatedPartDeadReckoningEnabled(
bool enable);
164 static bool articulatedPartDeadReckoningEnabled();
167 static bool theAreArticulatedPartsDeadReckoned;
175 #define DtDEFINE_SIMPLE_PHYS_ENTITY_ATTR_ENCODER( \
176 attrName, netType, inspector) \
177 DtDEFINE_SIMPLE_ATTR_ENCODER(DtPhysicalEntityEncoder, \
178 DtEntityStateRepository, \
179 attrName, netType, inspector)
186 #define DtDEFINE_SIMPLE_PHYS_ENTITY_ATTR_CHECKER( \
187 attrName, inspector) \
188 DtDEFINE_SIMPLE_ATTR_CHECKER(DtPhysicalEntityEncoder, \
189 DtEntityStateRepository, \
195 #define DtDEFINE_LIGHT_ATTR_CHECKER( \
196 encClass, attrName, arg1) \
197 bool encClass::need##attrName( \
198 const DtEntityStateRepository& stateRep, \
199 const DtEntityStateRepository& asSeenByRemote) \
201 return (bool) (stateRep.lightState(arg1) != asSeenByRemote.lightState(arg1)); \
204 #define DtDEFINE_LIGHT_ATTR_ENCODER( \
205 encClass, attrName, arg1) \
206 void encClass::encode##attrName( \
207 const DtEntityStateRepository& rep, \
208 RTI::AttributeHandleValuePairSet* attrs, \
209 RTI::AttributeHandle attrHandle) \
211 DtNetBoolean netVal; \
212 netVal = rep.lightState(arg1); \
213 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:61
Definition: netStructs.h:301
#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:37
Definition: netStructs.h:234
Contains the DtEntityStateRepository class declaration.
Definition: netStructs.h:245