VR-Link API Documentation for HLA 1.3
 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 
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
DtInteraction is an abstract base class for representing HLA interactions (or events) (as opposed to ...
Definition: interactionHLA.h:33
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:60
DtInteraction & operator=(const DtInteraction &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
This file declares the class DtLeEntityLocationWorldCoordinates.
Definition: pduHeader.h:14
virtual void printHeaderToStream(std::ostream &stream) const
Print the header info to a stream.
static void removeCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
This file defines math constants and methods which may be useful in simulations.
virtual void printData() const
Print the interaction&#39;s data to DtInfo.
Definition: interactionHLA.h:348
This file declares the class DtLeDeadReckoningParameters.
virtual void printDataToStream(std::ostream &stream) const
Print the interaction&#39;s data to the stream.
Definition: interactionHLA.h:356
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
This file declares the class DtLeEntityLinearVelocity.
static void addCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
Register/Deregister callback function cb with conn, on all interaction class name (char*) contained i...
This file provides protocol to independence DtExerciseConn.
This file declares the class DtLeOrientationError.
virtual void printHeader() const
Print the header info.
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
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
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
This file contains typedefs for machine dependant types.
DtLE_TSPI_FieldFlag
Definition: disEnums.h:2656
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)