VR-Link API Documentation for HLA 1.3
leTspiPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include <vlutil/vlMachineTypes.h>
15 #include "hostStructs.h"
16 #include "interactionDIS.h"
17 #include <matrix/vlMath.h>
18 #include "exerciseConn.h"
19 
20 #include "packets/leTspiP.h"
21 
23 #include "leEntityID.h"
25 #include "leEntityOrientation.h"
26 #include "leEntityLinearVelocity.h"
27 #include "leOrientationError.h"
28 #include "lePositionError.h"
29 
30 
31 
32 class DT_DLL_VL DtLeTspiPdu;
33 
35 typedef void (*DtLeTspiPduCb)(DtLeTspiPdu* pdu, void* usr);
36 
37 
41 class DT_DLL_VL DtLeTspiPdu : public DtInteraction
42 {
43 
44 public:
45 
47  DtLeTspiPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
48  DtLeTspiPdu(const DtNetLeTspiPdu* initial,
49  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
50  DtLeTspiPdu(const DtLeTspiPdu& orig);
51 
53  virtual ~DtLeTspiPdu();
54 
56  DtLeTspiPdu& operator=(const DtLeTspiPdu& orig);
57 
59  virtual void setSubProtocol(DtSubProtocol value);
60  virtual DtSubProtocol subProtocol() const;
61 
63  virtual void setEntityID(const DtLeEntityID& id);
64  virtual const DtLeEntityID& entityID() const;
65 
68  virtual DtU8 tspiField() const;
69 
71  virtual bool tspiFlag(DtLE_TSPI_FieldFlag flag) const;
72 
74  virtual void setLocation(const DtLeEntityLocationWorldCoordinates& value);
75  virtual const DtLeEntityLocationWorldCoordinates& location() const;
76 
80 
82  virtual void setVelocity(const DtLeEntityLinearVelocity& value);
83  virtual bool getVelocity(DtLeEntityLinearVelocity& value) const;
84 
86  virtual void setOrientation(const DtLeEntityOrientation& value);
87  virtual bool getOrientation(DtLeEntityOrientation& value) const;
88 
90  virtual void setPositionError(const DtLePositionError& value);
91  virtual bool getPositionError(DtLePositionError& value) const;
92 
94  virtual void setOrientationError(const DtLeOrientationError& value);
95  virtual bool getOrientationError(DtLeOrientationError& value) const;
96 
98  virtual void setDeadReckoningParameters(
99  const DtLeDeadReckoningParameters& value);
100  virtual bool getDeadReckoningParameters(
101  DtLeDeadReckoningParameters& value) const;
102 
104  virtual void setMeasuredSpeed(DtU16 value);
105  virtual bool getMeasuredSpeed(DtU16& value) const;
106 
108  virtual bool setSystemSpecificDataLength(DtU8 value);
109  virtual DtU8 systemSpecificDataLength() const;
110 
113  virtual bool setSystemSpecificData(DtU8* dataPtr);
114  virtual bool getSystemSpecificData(DtU8* dataPtr);
115 
117  virtual void printData() const;
118 
120  virtual void printDataToStream(std::ostream& stream) const;
121 
123  virtual void printHeader() const;
124 
126  virtual void printHeaderToStream(std::ostream& stream) const;
127 
128 public:
129 
132  static DtPdu* create(const DtNetPacket* initial,
133  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
134 
137  static void addCallback(DtExerciseConn* conn,
138  DtLeTspiPduCb cb, void* usr);
139  static void removeCallback(DtExerciseConn* conn,
140  DtLeTspiPduCb cb, void* usr);
141 
142 protected:
143 
145  virtual DtPduKind internalGetPduKind() const;
146 
148  virtual DtNetLeTspiPdu* netPduStruct() const;
149 
152  DtLeTspiPdu* self() const;
153 
155  virtual char* var() const;
156 
158  virtual void setTspiField(DtU8 value);
159 
161  virtual void setTspiFlag(DtLE_TSPI_FieldFlag flag);
162 
164  virtual void clearTspiFlags(DtLE_TSPI_FieldFlag flag);
165 
167  virtual int tspiFlagOffset() const;
168  virtual int locationOffset() const;
169  virtual int velocityOffset() const;
170  virtual int orientationOffset() const;
171  virtual int positionErrorOffset() const;
172  virtual int orientationErrorOffset() const;
173  virtual int deadReckoningParametersOffset() const;
174  virtual int measuredSpeedOffset() const;
175  virtual int systemSpecificOffset() const;
176 
177 protected:
178 
180  static const int theStaticSize;
181 
182 protected:
183 
185  DtLeEntityID myEntityID;
186  DtLeEntityLocationWorldCoordinates myLocation;
187 
188 };
189 
190 #endif

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)