VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stateMsgHLA.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #ifndef hDtStateMsg_H_
11 #define hDtStateMsg_H_
12 
13 #if DtHLA
14 
15 
16 #include <vlutil/vlTimeStampType.h>
17 
18 #include <vlutil/vlString.h>
19 #include <vlutil/vlTime.h>
20 #include "rtiNamespace.h"
21 
22 
23 class DT_DLL_VL DtHlaObject;
25 
26 
31 
33 {
34 public:
35 
36 
38  DtStateMsg(
39  objHandle id,
40  const HandleValueMap& attrs
41  );
42 
44  DtStateMsg(
45  objHandle id,
46  HandleValueMap* attrs
47  );
48 
49 
51  virtual ~DtStateMsg();
52 
54  DtStateMsg(const DtStateMsg& orig);
55 
57  DtStateMsg& operator=(const DtStateMsg& orig);
58 
60  virtual objHandle objectId() const;
61 
63  virtual const HandleValueMap& handleMap() const;
64 
66  virtual HandleValueMap* handleMap();
67 
68 #if DtHLA_1516
69 
71  virtual void setTag(const RTI::VariableLengthData& tag);
72  virtual void setCustomTag(const RTI::VariableLengthData& tag);
73  virtual const RTI::VariableLengthData& tag() const;
74 
75  #if DtHLA_1516_EVOLVED
76  virtual void setProducingFederateHandle(RTI::FederateHandle federateHandle);
82 
84  virtual RTI::FederateHandle producingFederateHandle() const;
85 
88  virtual const DtString& producingFederateName(DtExerciseConn* exConn) const;
89  #endif
90 
91  #if DtHLA_4
92  virtual void setTransportationTypeHandle(RTI::TransportationTypeHandle transportationTypeHandle);
94 
96  virtual RTI::TransportationTypeHandle transportationTypeHandle() const;
97  #endif
98 #else
99 
101  virtual void setTag(const DtString& tag);
102  virtual void setCustomTag(const DtString& tag);
103  virtual const DtString& tag() const;
104 
105 #endif
106 
108  virtual bool customTagSet() const;
109 
111  virtual void print(DtExerciseConn* exConn,
112  RTI::ObjectClassHandle h) const;
113 
115  virtual void printToStream(std::ostream& stream,DtExerciseConn* exConn,
116  RTI::ObjectClassHandle h) const;
117 
119  virtual void printHeader(DtExerciseConn* exConn,
120  RTI::ObjectClassHandle classHandle) const;
121 
123  virtual void printHeaderToStream(std::ostream& stream, DtExerciseConn* exConn,
124  RTI::ObjectClassHandle classHandle) const;
125 
127  virtual void printAttrs(DtExerciseConn* exConn,
128  RTI::ObjectClassHandle classHandle, int withHex) const;
129 
131  virtual void printAttrsToStream(std::ostream& stream, DtExerciseConn* exConn,
132  RTI::ObjectClassHandle classHandle, int withHex) const;
133 
135  virtual void print(DtHlaObject *obj,
136  bool fullReport = true) const;
137 
138 
139 
143  virtual void setTimeStamp(DtTime time,
145 
148  virtual DtTime timeStamp() const;
149 
151  virtual DtTimeStampType timeStampType() const;
152 
157  virtual DtTime guessTimeValid(DtTime referenceTime) const;
158 
164 #if DtHLA_1516
165  virtual const RTI::RegionHandleSet* conveyedRegion() const;
166  virtual void setConveyedRegion(const RTI::RegionHandleSet* sentRegionHandleSet);
167 #else
168  virtual const RTI::Region* conveyedRegion() const;
169  virtual void setConveyedRegion(const RTI::Region* region);
170 #endif
171 
172 
173 public:
174 
178  static void setTagIsAsciiTime(bool val);
179  static bool tagIsAsciiTime();
180 
181 protected:
182 
183 #if DtHLA_1516
184  HandleValueMap* myAvList;
185  objHandle myId;
186  RTI::VariableLengthData myTag;
187  const RTI::RegionHandleSet* myConveyedRegion;
188 #if DtHLA_1516_EVOLVED
189  mutable DtString myProducingFederateName;
190  RTI::FederateHandle myProducingFederateHandle;
191 #endif
192 #if DtHLA_4
193  RTI::TransportationTypeHandle myTransportationTypeHandle;
194 #endif
195 #else
196  HandleValueMap* myAvList;
197  DtString myTag;
198  objHandle myId;
199  const RTI::Region* myConveyedRegion;
200 #endif
201 
202  DtTime myTime;
203  DtTimeStampType myTimeType;
204  bool myCustomTagSet;
205 
206 protected:
207 
208  static bool theTagIsAsciiTime;
209 };
210 
211 inline const HandleValueMap& DtStateMsg::handleMap() const
212 {
213  return *myAvList;
214 }
215 
216 inline HandleValueMap* DtStateMsg::handleMap()
217 {
218  return myAvList;
219 }
220 
221 
222 inline objHandle DtStateMsg::objectId() const
223 {
224  return myId;
225 }
226 
227 #endif
228 #endif
229 
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Contains the DtString class declaration.
This file contains the declaration of DtClock and DtTime.
Definition: vlTimeStampType.h:18
DtTimeStampType
Definition: vlTimeStampType.h:16
Instances of DtString are used to represent strings.
Definition: vlString.h:36
Instances of DtStateMsg are used to represent state data communicated via the network in a DIS (as op...
Definition: stateMsgDIS.h:21

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)