19 #include <vl/rtiNamespace.h>
20 #include <vlutil/vlString.h>
25 class DtInteractionFactory;
31 class DtLgrOnlineFomDesc;
42 DtLgrStateMsg(RTI::ObjectHandle classHandle, RTI::AttributeHandleValueMap* rtiAttrs);
44 DtLgrStateMsg(RTI::ObjectHandle classHandle, RTI::AttributeHandleValuePairSet* rtiAttrs);
48 virtual ~DtLgrStateMsg();
51 virtual DtStateMsg* stateMsg();
56 DtLgrStateMsg(
const DtLgrStateMsg& orig);
59 const DtLgrStateMsg& operator=(
const DtLgrStateMsg& orig);
64 DtStateMsg* myStateMsg;
67 RTI::AttributeHandleValueMap* myRtiAttrs;
69 RTI::AttributeHandleValuePairSet* myRtiAttrs;
81 DtConstLgrHlaMessage(
const DtPacket* packet);
84 DtConstLgrHlaMessage(
const DtPacket& packet);
87 virtual ~DtConstLgrHlaMessage();
90 bool isUpdate()
const;
93 bool isMultiUpdate()
const;
96 bool isDDMUpdate()
const;
99 bool isRemoval()
const;
102 bool isInteraction()
const;
105 DtLgrHlaHandle objectHandle()
const;
108 DtString objectName()
const;
112 DtString asciiTag()
const;
115 DtLgrVariableLengthData binaryTag()
const;
118 DtLgrHlaHandle objectClassHandle()
const;
121 DtLgrHlaHandle interactionClassHandle()
const;
125 bool getInteractionRegionID( DtRegionID& regionID,
unsigned int index = 0)
const;
129 bool getObjectRegionID( DtRegionID& regionID,
unsigned int index = 0 )
const;
133 unsigned int getObjectRegionIdSet( DtRegionIDSet& regionIDSet );
137 unsigned int getInteractionRegionIdSet( DtRegionIDSet& regionIDSet );
141 DtLgrHandleValueMap* createAttrs()
const;
144 DtLgrHandleValueMap* createParams()
const;
149 const DtLgrHandleValueReferenceMap* referenceAttrs()
const;
154 const DtLgrHandleValueReferenceMap* referenceParams()
const;
160 DtDDMRegionSP interactionDDMRegion(
const DtExerciseConn *exerciseConn,
161 unsigned int index=0, DtIDRegionMap* regionCache=0,
bool updateRegion=
false )
const;
168 unsigned int index=0, DtIDRegionMap* regionCache=0,
bool updateRegion=
false )
const;
175 unsigned int getInteractionDDMRegionSet(
const DtExerciseConn *exerciseConn,
176 DtDDMRegionSet& regionSet, DtIDRegionMap* regionCache=0,
bool updateRegions=
false )
const;
183 unsigned int getObjectDDMRegionSet(
const DtExerciseConn *exerciseConn,
184 DtDDMRegionSet& regionSet, DtIDRegionMap* regionCache=0,
bool updateRegions=
false )
const;
189 unsigned int getInteractionDDMRegionDescSet(DtRegionDescSet& regionSet)
const;
194 unsigned int getObjectDDMRegionDescSet(DtRegionDescSet& regionSet)
const;
196 DtInteraction* createInteraction(DtInteractionFactory* factory,
197 const DtLgrOnlineFomDesc& fom)
const;
201 DtLgrStateMsg* createStateMsg(
const DtLgrOnlineFomDesc& fom)
const;
206 DtLgrStateMsg** createMultiStateMsgs(
const DtLgrOnlineFomDesc& fom,
int& count)
const;
209 void paramHandles(std::vector<DtLgrHlaHandle>&)
const;
212 void attrHandles(std::vector<DtLgrHlaHandle>& handles)
const;
214 const DtPacket* packet()
const;
217 const DtPacket* myConstPacket;
220 class DT_DLL_LGRSIM DtLgrHlaMessage :
public DtConstLgrHlaMessage
226 DtLgrHlaMessage(DtPacket* packet);
229 virtual ~DtLgrHlaMessage();
233 void setObjectHandle(DtLgrHlaHandle handle);
237 void setObjectClassHandle(DtLgrHlaHandle handle);
241 void setInteractionClassHandle(DtLgrHlaHandle handle);
246 DtLgrHandleValueReferenceMap* referenceAttrs();
251 DtLgrHandleValueReferenceMap* referenceParams();
254 void setParamHandles(
const std::vector<DtLgrHlaHandle>&);
257 void setAttrHandles(
const std::vector<DtLgrHlaHandle>& handles);