VR-Link API Documentation for HLA 1.3
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 
19 class DtRelativeLocationPdu;
20 
23 typedef void (*DtRelativeLocationPduCb)(DtRelativeLocationPdu* pdu, void* usr);
24 
29 class DT_DLL_VL DtRelativeLocationPdu : public DtStateMsg
30 {
31 
32  public:
33 
36  DtRelativeLocationPdu( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
37 
42  DtRelativeLocationPdu( const DtNetRelativeLocationPdu* initial,
43  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0 );
44 
46  virtual ~DtRelativeLocationPdu();
47 
49  DtRelativeLocationPdu( const DtRelativeLocationPdu& orig );
50 
52  DtRelativeLocationPdu& operator=( const DtRelativeLocationPdu& orig );
53 
56  virtual void printData() const;
57 
59  virtual void printDataToStream(std::ostream &stream) const;
60 
65 
66  virtual DtNetRelativeLocationPdu* networkRepresentation();
67  virtual const DtNetRelativeLocationPdu* networkRepresentation() const;
68 
70  virtual void setId(const DtEntityIdentifier &id);
71  virtual const DtEntityIdentifier& id() const;
72 
74  virtual void setHostId(const DtEntityIdentifier &id);
75  virtual const DtEntityIdentifier& hostId() const;
76 
78  virtual void setRelativeAlgorithm( DtDeadReckonTypes alg );
79  virtual DtDeadReckonTypes relativeAlgorithm() const;
80 
82  virtual void setRelativeLocation( const DtVector& loc );
83  virtual const DtVector& relativeLocation() const;
84 
86  virtual void setRelativeVelocity( const DtVector& vel );
87  virtual const DtVector& relativeVelocity() const;
88 
90  virtual void setRelativeAcceleration( const DtVector& accel );
91  virtual const DtVector& relativeAcceleration() const;
92 
94  virtual void setRelativeOrientation(const DtTaitBryan &orient);
95  virtual const DtTaitBryan& relativeOrientation() const;
96 
98  virtual void setRelativeRotationalVelocity( const DtVector& vel );
99  virtual const DtVector& relativeRotationalVelocity() const;
100 
102  virtual void setNature(DtNature value);
103  virtual DtNature nature() const;
104 
106  virtual void setPartPosition(DtPosition value);
107  virtual DtPosition partPosition() const;
108 
110  virtual void setStationName(DtStationName value);
111  virtual DtStationName stationName() const;
112 
114  virtual void setStationNumber(DtU16 value);
115  virtual DtU16 stationNumber() const;
116 
122 
123  static DtPdu* create( const DtNetPacket* initial,
124  DtBufferPtr buiffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
125 
132 
133  static void addCallback( DtExerciseConn *conn, DtRelativeLocationPduCb cb,
134  void *usr );
135 
136  static void removeCallback( DtExerciseConn *conn,
137  DtRelativeLocationPduCb cb, void *usr );
138 
139  protected:
140 
143 
144  virtual DtPduKind internalGetPduKind() const;
145 
148  DtRelativeLocationPdu* self() const;
149 
150  protected:
151 
153 
154  DtEntityIdentifier myEntityId;
155 
156  DtEntityIdentifier myHostId;
157 
158  DtVector myRelativeLocation;
159 
160  DtVector myRelativeVelocity;
161 
162  DtVector myRelativeAcceleration;
163 
164  DtTaitBryan myRelativeOrientation;
165 
166  DtVector myRelativeRotationalVelocity;
167 
168 };
169 
170 #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)