MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
hlaPacket.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef hlaPacket_H_
11 #define hlaPacket_H_
12 
13 #if DtHLA
14 
15 #include <lgrSim/lgrSim.h>
16 #include "hlaMessageFactory.h"
17 #include <lgrSim/lgrHlaAttribute.h>
18 
19 #include <vl/rtiNamespace.h>
20 #include <vlutil/vlString.h>
21 #include <vector>
22 
24 class DtInteraction;
25 class DtInteractionFactory;
26 
27 namespace MAKLogger
28 {
29 
30  class DtPacket;
31  class DtLgrOnlineFomDesc;
32  class DtBaseFomDesc;
33 
37  {
38  public:
39 
41 #if DtHLA_1516
42  DtLgrStateMsg(RTI::ObjectHandle classHandle, RTI::AttributeHandleValueMap* rtiAttrs);
43 #else
44  DtLgrStateMsg(RTI::ObjectHandle classHandle, RTI::AttributeHandleValuePairSet* rtiAttrs);
45 #endif
46 
48  virtual ~DtLgrStateMsg();
49 
51  virtual DtStateMsg* stateMsg();
52 
53  protected:
54 
56  DtLgrStateMsg(const DtLgrStateMsg& orig);
57 
59  const DtLgrStateMsg& operator=(const DtLgrStateMsg& orig);
60 
61  protected:
62 
64  DtStateMsg* myStateMsg;
65 
66 #if DtHLA_1516
67  RTI::AttributeHandleValueMap* myRtiAttrs;
68 #else
69  RTI::AttributeHandleValuePairSet* myRtiAttrs;
70 #endif
71 
72  };
73 
74 
76  {
77 
78  public:
79 
81  DtConstLgrHlaMessage(const DtPacket* packet);
82 
84  DtConstLgrHlaMessage(const DtPacket& packet);
85 
87  virtual ~DtConstLgrHlaMessage();
88 
90  bool isUpdate() const;
91 
93  bool isMultiUpdate() const;
94 
96  bool isDDMUpdate() const;
97 
99  bool isRemoval() const;
100 
102  bool isInteraction() const;
103 
105  DtLgrHlaHandle objectHandle() const;
106 
108  const DtString& objectName() const;
109 
112  const DtString& asciiTag() const;
113 
115  const DtLgrVariableLengthData& binaryTag() const;
116 
118  DtTime tagAsTimestamp() const;
119 
121  DtLgrHlaHandle objectClassHandle() const;
122 
124  DtLgrHlaHandle interactionClassHandle() const;
125 
128  bool getInteractionRegionID( DtRegionID& regionID, unsigned int index = 0) const;
129 
132  bool getObjectRegionID( DtRegionID& regionID, unsigned int index = 0 ) const;
133 
136  unsigned int getObjectRegionIdSet( DtRegionIDSet& regionIDSet );
137 
140  unsigned int getInteractionRegionIdSet( DtRegionIDSet& regionIDSet );
141 
144  std::auto_ptr<DtLgrHandleValueMap> createAttrs() const;
145 
147  std::auto_ptr<DtLgrHandleValueMap> createParams() const;
148 
152  std::auto_ptr<DtLgrHandleValueReferenceMap> referenceAttrs() const;
153 
157  std::auto_ptr<DtLgrHandleValueReferenceMap> referenceParams() const;
158 
163  DtDDMRegionSP interactionDDMRegion(const DtExerciseConn *exerciseConn,
164  unsigned int index=0, DtIDRegionMap* regionCache=0, bool updateRegion=false ) const;
165 
170  DtDDMRegionSP objectDDMRegion(const DtExerciseConn *exerciseConn,
171  unsigned int index=0, DtIDRegionMap* regionCache=0, bool updateRegion=false ) const;
172 
178  unsigned int getInteractionDDMRegionSet(const DtExerciseConn *exerciseConn,
179  DtDDMRegionSet& regionSet, DtIDRegionMap* regionCache=0, bool updateRegions=false ) const;
180 
186  unsigned int getObjectDDMRegionSet(const DtExerciseConn *exerciseConn,
187  DtDDMRegionSet& regionSet, DtIDRegionMap* regionCache=0, bool updateRegions=false ) const;
188 
192  unsigned int getInteractionDDMRegionDescSet(DtRegionDescSet& regionSet) const;
193 
197  unsigned int getObjectDDMRegionDescSet(DtRegionDescSet& regionSet) const;
198 
199  DtInteraction* createInteraction(DtInteractionFactory* factory,
200  const DtLgrOnlineFomDesc& fom) const;
201 
204  DtLgrStateMsg* createStateMsg(const DtLgrOnlineFomDesc& fom) const;
205 
206 
209  DtLgrStateMsg** createMultiStateMsgs(const DtLgrOnlineFomDesc& fom,int& count) const;
210 
212  void paramHandles(std::vector<DtLgrHlaHandle>&) const;
213 
215  void attrHandles(std::vector<DtLgrHlaHandle>& handles) const;
216 
217  const DtPacket* packet() const;
218 
219  protected:
224  mutable bool myGotTagTime;
225  mutable DtTime myTagTime;
226 
227  };
228 
230  {
231 
232  public:
233 
235  DtLgrHlaMessage(DtPacket* packet);
236 
238  virtual ~DtLgrHlaMessage();
239 
242  void setObjectHandle(DtLgrHlaHandle handle);
243 
246  void setObjectClassHandle(DtLgrHlaHandle handle);
247 
250  void setInteractionClassHandle(DtLgrHlaHandle handle);
251 
255  std::auto_ptr<DtLgrHandleValueReferenceMap> referenceAttrs();
256 
260  std::auto_ptr<DtLgrHandleValueReferenceMap> referenceParams();
261 
263  void setParamHandles(const std::vector<DtLgrHlaHandle>&);
264 
266  void setAttrHandles(const std::vector<DtLgrHlaHandle>& handles);
267 
268  protected:
270  };
271 
272 }
273 
274 #endif
275 #endif
Defines IMPORT/EXPORT macros for lgrSim library.
bool myGotTagTime
Definition: hlaPacket.h:224
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
DtString * myAsciiTag
Definition: hlaPacket.h:222
DtU32 DtLgrHlaHandle
Logger Psuedo Handle type.
Definition: hlaTimeStampedAttr.h:22
Definition: hlaPacket.h:75
An online fom description that has access to the RTI Ambassidor.
Definition: onlineFomDesc.h:34
DtTime myTagTime
Definition: hlaPacket.h:225
RTI::AttributeHandleValueMap * myRtiAttrs
Definition: hlaPacket.h:67
Contains MAKLogger::DtLgrHlaHandle typedef and MAKLogger::DtLgrValueReference and MAKLogger::DtLgrVal...
DtString * myObjectName
Definition: hlaPacket.h:221
DtPacket * myPacket
Definition: hlaPacket.h:269
Contains MAKLogger::DtLgrHlaMessageFactory class.
std::map< DtRegionID, DtDDMRegionSP > DtIDRegionMap
Definition: hlaMessageFactory.h:47
Variable length data object compile-time compatible with the RTI 1516 implementation.
Definition: lgrVariableLengthData.h:21
Definition: hlaPacket.h:229
A generic packed of typed binary data.
Definition: packet.h:41
/brief Create message and manage its attribute handle value pair set (ahvps).
Definition: hlaPacket.h:36
class DT_DLL_MATREX_TSPI_FOM_MAP DtInteraction
Definition: matrexTspiTagModifier.h:20
std::set< DtRegionID > DtRegionIDSet
Definition: hlaMessageFactory.h:46
DtStateMsg * myStateMsg
The state message.
Definition: hlaPacket.h:64
std::set< DtRegionDesc > DtRegionDescSet
Definition: hlaMessageFactory.h:43
const DtPacket * myConstPacket
Definition: hlaPacket.h:220
DtLgrVariableLengthData * myBinaryTag
Definition: hlaPacket.h:223

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)