MAK Data Logger API Documentation for HLA
hlaPacket.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef hlaPacket_H_
11 #define hlaPacket_H_
12 
13 #if DtHLA
14 
15 #include "lgrSim.h"
16 #include "hlaMessageFactory.h"
17 #include "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  DtString objectName() const;
109 
112  DtString asciiTag() const;
113 
115  DtLgrVariableLengthData binaryTag() const;
116 
118  DtLgrHlaHandle objectClassHandle() const;
119 
121  DtLgrHlaHandle interactionClassHandle() const;
122 
125  bool getInteractionRegionID( DtRegionID& regionID, unsigned int index = 0) const;
126 
129  bool getObjectRegionID( DtRegionID& regionID, unsigned int index = 0 ) const;
130 
133  unsigned int getObjectRegionIdSet( DtRegionIDSet& regionIDSet );
134 
137  unsigned int getInteractionRegionIdSet( DtRegionIDSet& regionIDSet );
138 
141  DtLgrHandleValueMap* createAttrs() const;
142 
144  DtLgrHandleValueMap* createParams() const;
145 
149  const DtLgrHandleValueReferenceMap* referenceAttrs() const;
150 
154  const DtLgrHandleValueReferenceMap* referenceParams() const;
155 
160  DtDDMRegionSP interactionDDMRegion(const DtExerciseConn *exerciseConn,
161  unsigned int index=0, DtIDRegionMap* regionCache=0, bool updateRegion=false ) const;
162 
167  DtDDMRegionSP objectDDMRegion(const DtExerciseConn *exerciseConn,
168  unsigned int index=0, DtIDRegionMap* regionCache=0, bool updateRegion=false ) const;
169 
175  unsigned int getInteractionDDMRegionSet(const DtExerciseConn *exerciseConn,
176  DtDDMRegionSet& regionSet, DtIDRegionMap* regionCache=0, bool updateRegions=false ) const;
177 
183  unsigned int getObjectDDMRegionSet(const DtExerciseConn *exerciseConn,
184  DtDDMRegionSet& regionSet, DtIDRegionMap* regionCache=0, bool updateRegions=false ) const;
185 
189  unsigned int getInteractionDDMRegionDescSet(DtRegionDescSet& regionSet) const;
190 
194  unsigned int getObjectDDMRegionDescSet(DtRegionDescSet& regionSet) const;
195 
196  DtInteraction* createInteraction(DtInteractionFactory* factory,
197  const DtLgrOnlineFomDesc& fom) const;
198 
201  DtLgrStateMsg* createStateMsg(const DtLgrOnlineFomDesc& fom) const;
202 
203 
206  DtLgrStateMsg** createMultiStateMsgs(const DtLgrOnlineFomDesc& fom,int& count) const;
207 
209  void paramHandles(std::vector<DtLgrHlaHandle>&) const;
210 
212  void attrHandles(std::vector<DtLgrHlaHandle>& handles) const;
213 
214  const DtPacket* packet() const;
215 
216  protected:
218  };
219 
221  {
222 
223  public:
224 
226  DtLgrHlaMessage(DtPacket* packet);
227 
229  virtual ~DtLgrHlaMessage();
230 
233  void setObjectHandle(DtLgrHlaHandle handle);
234 
237  void setObjectClassHandle(DtLgrHlaHandle handle);
238 
241  void setInteractionClassHandle(DtLgrHlaHandle handle);
242 
246  DtLgrHandleValueReferenceMap* referenceAttrs();
247 
251  DtLgrHandleValueReferenceMap* referenceParams();
252 
254  void setParamHandles(const std::vector<DtLgrHlaHandle>&);
255 
257  void setAttrHandles(const std::vector<DtLgrHlaHandle>& handles);
258 
259  protected:
261  };
262 
263 }
264 
265 #endif
266 #endif

Document ID: Generated on Sun Dec 15 18:04:30 EST 2013 from SVN revision 134418
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)