VR-Link API Documentation for DIS
leTspiPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #ifndef DtLeTspiPdu_H_
11 #define DtLeTspiPdu_H_
12 
13 #if DtDIS
14 
15 #include <vlutil/vlMachineTypes.h>
16 #include "hostStructs.h"
17 #include "dInteraction.h"
18 #include <matrix/vlMath.h>
19 #include "exerciseConn.h"
20 
21 #include "packets/leTspiP.h"
22 
23 #include "leDeadReck.h"
24 #include "leEntityID.h"
25 #include "leLocWorld.h"
26 #include "leEntityOri.h"
27 #include "leEntityVel.h"
28 #include "leOriError.h"
29 #include "lePosError.h"
30 
31 
32 
34 
36 typedef void (*DtLeTspiPduCb)(DtLeTspiPdu* pdu, void* usr);
37 
38 
43 {
44 
45 public:
46 
49  DtLeTspiPdu(const DtNetLeTspiPdu* initial,
51  DtLeTspiPdu(const DtLeTspiPdu& orig);
52 
54  virtual ~DtLeTspiPdu();
55 
57  DtLeTspiPdu& operator=(const DtLeTspiPdu& orig);
58 
60  virtual void setSubProtocol(DtSubProtocol value);
61  virtual DtSubProtocol subProtocol() const;
62 
64  virtual void setEntityID(const DtLeEntityID& id);
65  virtual const DtLeEntityID& entityID() const;
66 
69  virtual DtU8 tspiField() const;
70 
72  virtual bool tspiFlag(DtLE_TSPI_FieldFlag flag) const;
73 
75  virtual void setLocation(const DtLeEntityLocationWorldCoordinates& value);
76  virtual const DtLeEntityLocationWorldCoordinates& location() const;
77 
81 
83  virtual void setVelocity(const DtLeEntityLinearVelocity& value);
84  virtual bool getVelocity(DtLeEntityLinearVelocity& value) const;
85 
87  virtual void setOrientation(const DtLeEntityOrientation& value);
88  virtual bool getOrientation(DtLeEntityOrientation& value) const;
89 
91  virtual void setPositionError(const DtLePositionError& value);
92  virtual bool getPositionError(DtLePositionError& value) const;
93 
95  virtual void setOrientationError(const DtLeOrientationError& value);
96  virtual bool getOrientationError(DtLeOrientationError& value) const;
97 
99  virtual void setDeadReckoningParameters(
100  const DtLeDeadReckoningParameters& value);
101  virtual bool getDeadReckoningParameters(
102  DtLeDeadReckoningParameters& value) const;
103 
105  virtual void setMeasuredSpeed(DtU16 value);
106  virtual bool getMeasuredSpeed(DtU16& value) const;
107 
109  virtual bool setSystemSpecificDataLength(DtU8 value);
110  virtual DtU8 systemSpecificDataLength() const;
111 
114  virtual bool setSystemSpecificData(DtU8* dataPtr);
115  virtual bool getSystemSpecificData(DtU8* dataPtr);
116 
118  virtual void printData() const;
119 
121  virtual void printDataToStream(std::ostream& stream) const;
122 
124  virtual void printHeader() const;
125 
127  virtual void printHeaderToStream(std::ostream& stream) const;
128 
129 public:
130 
133  static DtPdu* create(const DtNetPacket* initial,
135 
138  static void addCallback(DtExerciseConn* conn,
139  DtLeTspiPduCb cb, void* usr);
140  static void removeCallback(DtExerciseConn* conn,
141  DtLeTspiPduCb cb, void* usr);
142 
143 protected:
144 
146  virtual DtPduKind internalGetPduKind() const;
147 
149  virtual DtNetLeTspiPdu* netPduStruct() const;
150 
153  DtLeTspiPdu* self() const;
154 
156  virtual char* var() const;
157 
159  virtual void setTspiField(DtU8 value);
160 
162  virtual void setTspiFlag(DtLE_TSPI_FieldFlag flag);
163 
165  virtual void clearTspiFlags(DtLE_TSPI_FieldFlag flag);
166 
168  virtual int tspiFlagOffset() const;
169  virtual int locationOffset() const;
170  virtual int velocityOffset() const;
171  virtual int orientationOffset() const;
172  virtual int positionErrorOffset() const;
173  virtual int orientationErrorOffset() const;
174  virtual int deadReckoningParametersOffset() const;
175  virtual int measuredSpeedOffset() const;
176  virtual int systemSpecificOffset() const;
177 
178 protected:
179 
181  static const int theStaticSize;
182 
183 protected:
184 
188 
189 };
190 
191 #endif
192 #endif
193 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)