VR-Link API Documentation for HLA 1.3
relLocPdu.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 relLocPdu_h_
11 #define relLocPdu_h_
12 
13 #if DtDIS
14 
15 #include "pdu.h"
16 #include "dExerciseConn.h"
17 #include "stateMsg.h"
18 #include "packets/relLocP.h"
19 
20 class DtRelativeLocationPdu;
21 
24 typedef void (*DtRelativeLocationPduCb)(DtRelativeLocationPdu* pdu, void* usr);
25 
30 class DT_DLL_VL DtRelativeLocationPdu : public DtStateMsg
31 {
32 
33  public:
34 
37  DtRelativeLocationPdu( DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER );
38 
43  DtRelativeLocationPdu( const DtNetRelativeLocationPdu* initial,
45 
47  virtual ~DtRelativeLocationPdu();
48 
50  DtRelativeLocationPdu( const DtRelativeLocationPdu& orig );
51 
53  DtRelativeLocationPdu& operator=( const DtRelativeLocationPdu& orig );
54 
57  virtual void printData() const;
58 
60  virtual void printDataToStream(std::ostream &stream) const;
61 
66 
67  virtual DtNetRelativeLocationPdu* networkRepresentation();
68  virtual const DtNetRelativeLocationPdu* networkRepresentation() const;
69 
71  virtual void setId(const DtEntityIdentifier &id);
72  virtual const DtEntityIdentifier& id() const;
73 
75  virtual void setHostId(const DtEntityIdentifier &id);
76  virtual const DtEntityIdentifier& hostId() const;
77 
79  virtual void setRelativeAlgorithm( DtDeadReckonTypes alg );
80  virtual DtDeadReckonTypes relativeAlgorithm() const;
81 
83  virtual void setRelativeLocation( const DtVector& loc );
84  virtual const DtVector& relativeLocation() const;
85 
87  virtual void setRelativeVelocity( const DtVector& vel );
88  virtual const DtVector& relativeVelocity() const;
89 
91  virtual void setRelativeAcceleration( const DtVector& accel );
92  virtual const DtVector& relativeAcceleration() const;
93 
95  virtual void setRelativeOrientation(const DtTaitBryan &orient);
96  virtual const DtTaitBryan& relativeOrientation() const;
97 
99  virtual void setRelativeRotationalVelocity( const DtVector& vel );
100  virtual const DtVector& relativeRotationalVelocity() const;
101 
103  virtual void setNature(DtNature value);
104  virtual DtNature nature() const;
105 
107  virtual void setPartPosition(DtPosition value);
108  virtual DtPosition partPosition() const;
109 
111  virtual void setStationName(DtStationName value);
112  virtual DtStationName stationName() const;
113 
115  virtual void setStationNumber(DtU16 value);
116  virtual DtU16 stationNumber() const;
117 
123 
124  static DtPdu* create( const DtNetPacket* initial,
126 
133 
134  static void addCallback( DtExerciseConn *conn, DtRelativeLocationPduCb cb,
135  void *usr );
136 
137  static void removeCallback( DtExerciseConn *conn,
138  DtRelativeLocationPduCb cb, void *usr );
139 
140  protected:
141 
144 
145  virtual DtPduKind internalGetPduKind() const;
146 
149  DtRelativeLocationPdu* self() const;
150 
151  protected:
152 
154 
155  DtEntityIdentifier myEntityId;
156 
157  DtEntityIdentifier myHostId;
158 
159  DtVector myRelativeLocation;
160 
161  DtVector myRelativeVelocity;
162 
163  DtVector myRelativeAcceleration;
164 
165  DtTaitBryan myRelativeOrientation;
166 
167  DtVector myRelativeRotationalVelocity;
168 
169 };
170 
171 #endif
172 
173 #endif
174 

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)