VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
33 
35 typedef void (*DtLeTspiPduCb)(DtLeTspiPdu* pdu, void* usr);
36 
37 
42 {
43 
44 public:
45 
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 
187 
188 };
189 
190 #endif
DtInteraction is an base class for representing DIS PDUs which don&#39;t have state.
Definition: interactionDIS.h:24
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
DtInteraction & operator=(const DtInteraction &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
This file declares the class DtLeEntityLocationWorldCoordinates.
class DtLeEntityLocationWorldCoordinates:
Definition: leEntityLocationWorldCoordinates.h:29
Definition: pduHeader.h:14
class DtLeDeadReckoningParameters:
Definition: leDeadReckoningParameters.h:29
class DtPduFactory:
Definition: pduFactory.h:38
static const int theStaticSize
Size of PDU with zero parameter records.
Definition: leTspiPdu.h:180
virtual void printDataToStream(std::ostream &stream) const
DtNetTspiPdu is the network structure for the time-space-position- information PDU.
Definition: leTspiP.h:123
Instances of DtLeTspiPdu are used to send state information for live entities.
Definition: leTspiPdu.h:41
This file defines math constants and methods which may be useful in simulations.
DtLeEntityLocationWorldCoordinates myLocation
Definition: leTspiPdu.h:186
This file declares the class DtLeDeadReckoningParameters.
DtLeEntityID myEntityID
Temporary objects for reference returns.
Definition: leTspiPdu.h:185
virtual DtPduKind internalGetPduKind() const =0
Returns the PDU kind associated with the derived PDU class.
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
class DtLeOrientationError:
Definition: leOrientationError.h:29
This file declares the class DtLeEntityLinearVelocity.
virtual void printHeader() const
Print the PDU&#39;s header. This calls printHeaderToStream(DtInfo).
void(* DtLeTspiPduCb)(DtLeTspiPdu *pdu, void *usr)
DtLeTspiPdu callback function signature.
Definition: leTspiPdu.h:35
This file provides protocol to independence DtExerciseConn.
class DtLePositionError:
Definition: lePositionError.h:28
This file declares the class DtLeOrientationError.
class DtLeEntityID:
Definition: leEntityID.h:28
virtual void printData() const
Print the PDU&#39;s data (not including header).
This file declares the class DtLeEntityOrientation.
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
class DtLeEntityOrientation:
Definition: leEntityOrientation.h:31
unsigned short DtU16
A 16 bit unsigned integer value.
Definition: vlMachineTypes.h:140
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
This file declares the class DtLeEntityID.
DtSubProtocol
Live entity protocol PDU enums.
Definition: disEnums.h:2645
virtual void printHeaderToStream(std::ostream &stream) const
Print the PDU&#39;s header to a stream.
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
This file contains typedefs for machine dependant types.
DtLE_TSPI_FieldFlag
Definition: disEnums.h:2656
class DtLeEntityLinearVelocity:
Definition: leEntityLinearVelocity.h:29
This file declares network classes for the LeEntity objects.

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)