VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
relativeLocationPdu.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 "pdu.h"
15 #include "exerciseConnDIS.h"
16 #include "stateMsg.h"
17 #include "packets/relLocP.h"
18 
20 
23 typedef void (*DtRelativeLocationPduCb)(DtRelativeLocationPdu* pdu, void* usr);
24 
30 {
31 
32  public:
33 
37 
43  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0 );
44 
46  virtual ~DtRelativeLocationPdu();
47 
50 
53 
55  bool operator==( const DtRelativeLocationPdu& orig );
56 
59  virtual void printData() const;
60 
62  virtual void printDataToStream(std::ostream &stream) const;
63 
68 
69  virtual DtNetRelativeLocationPdu* networkRepresentation();
70  virtual const DtNetRelativeLocationPdu* networkRepresentation() const;
71 
73  virtual void setId(const DtEntityIdentifier &id);
74  virtual const DtEntityIdentifier& id() const;
75 
77  virtual void setHostId(const DtEntityIdentifier &id);
78  virtual const DtEntityIdentifier& hostId() const;
79 
81  virtual void setRelativeAlgorithm( DtDeadReckonTypes alg );
82  virtual DtDeadReckonTypes relativeAlgorithm() const;
83 
85  virtual void setRelativeLocation( const DtVector& loc );
86  virtual const DtVector& relativeLocation() const;
87 
89  virtual void setRelativeVelocity( const DtVector32& vel );
90  virtual const DtVector32& relativeVelocity() const;
91 
93  virtual void setRelativeAcceleration( const DtVector32& accel );
94  virtual const DtVector32& relativeAcceleration() const;
95 
97  virtual void setRelativeOrientation(const DtTaitBryan &orient);
98  virtual const DtTaitBryan& relativeOrientation() const;
99 
101  virtual void setRelativeRotationalVelocity( const DtVector32& vel );
102  virtual const DtVector32& relativeRotationalVelocity() const;
103 
105  virtual void setNature(DtNature value);
106  virtual DtNature nature() const;
107 
109  virtual void setPartPosition(DtPosition value);
110  virtual DtPosition partPosition() const;
111 
113  virtual void setStationName(DtStationName value);
114  virtual DtStationName stationName() const;
115 
117  virtual void setStationNumber(DtU16 value);
118  virtual DtU16 stationNumber() const;
119 
125 
126  static DtPdu* create( const DtNetPacket* initial,
127  DtBufferPtr buiffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
128 
135 
136  static void addCallback( DtExerciseConn *conn, DtRelativeLocationPduCb cb,
137  void *usr );
138 
139  static void removeCallback( DtExerciseConn *conn,
140  DtRelativeLocationPduCb cb, void *usr );
141 
142  protected:
143 
146 
147  virtual DtPduKind internalGetPduKind() const;
148 
151  DtRelativeLocationPdu* self() const;
152 
153  protected:
154 
163 };
164 
165 #endif
DtEntityIdentifier myEntityId
These objects are for "reference returns".
Definition: relativeLocationPdu.h:156
const bool operator==(const DtU128 &lhs, const DtU128 &rhs)
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtNature
IsPartOf PDU enums.
Definition: disEnums.h:2417
DtStationName
Definition: disEnums.h:2439
Definition: pduHeader.h:14
DtTaitBryan myRelativeOrientation
Definition: relativeLocationPdu.h:161
DtVector32 myRelativeAcceleration
Definition: relativeLocationPdu.h:160
class DtPduFactory:
Definition: pduFactory.h:38
DtPosition
Definition: disEnums.h:2432
DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles...
Definition: vlTaitBryan.h:43
virtual void printDataToStream(std::ostream &stream) const
DtStateMsg & operator=(const DtStateMsg &orig)
assignment operator
Instances of DtRelativeLocationPdu are used to convey the fact that one unit is located at a position...
Definition: relativeLocationPdu.h:29
Definition: vlVector.h:224
virtual DtPduKind internalGetPduKind() const =0
Returns the PDU kind associated with the derived PDU class.
DtPdu is the base class for all PDU's in VR-Link.
Definition: pdu.h:69
DtVector32 myRelativeVelocity
Definition: relativeLocationPdu.h:159
DtVector myRelativeLocation
Definition: relativeLocationPdu.h:158
Definition: vlVector.h:162
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
void(* DtRelativeLocationPduCb)(DtRelativeLocationPdu *pdu, void *usr)
Functions of type DtRelativeLocationPduCb can be registered a callbacks to be called upon receipt of ...
Definition: relativeLocationPdu.h:23
virtual void printData() const
Print the PDU's data (not including header).
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
DtEntityIdentifier myHostId
Definition: relativeLocationPdu.h:157
The following is the network representation of the RelativeLocation PDU.
Definition: relLocP.h:15
DtDeadReckonTypes
Definition: disEnums.h:993
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
DtVector32 myRelativeRotationalVelocity
Definition: relativeLocationPdu.h:162
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 Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)