VR-Link API Documentation for HLA Evolved
NetStructs.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #ifndef _NetStructs_H_
8 #define _NetStructs_H_
9 
10 #include <vlutil/vlTime.h>
11 #include <matrix/vlMath.h>
12 #include <matrix/vlTaitBryan.h>
13 #include <vlutil/vlNetTypes.h>
14 #include <vlutil/vlNetTimeStamp.h>
15 #include "oldTStamp.h"
16 
19 
20 
27 
29 
31 {
32 public:
35 
36  DtFederateId operator=(const DtFederateId &);
37  DtNetFederateId& operator=(const DtNetFederateId &);
38 };
39 
40 
42 {
43  public:
45 #define DtMaxEntityMarkingLength 11
47 };
48 
50 {
51 public:
53 #define DtMaxAggregateMarkingLength 31
55 };
56 
58 {
59  public:
67 
68  DtEntityType operator=(const DtEntityType&);
69  DtNetEntityType& operator=(const DtNetEntityType &);
70 };
71 
73 {
74  public:
81 
82  DtRadioEntityType operator=(const DtRadioEntityType &);
83  DtNetRadioEntityType&operator=(const DtNetRadioEntityType &);
84 };
85 
87 {
88  public:
94 
95  DtBurstDescriptor operator=(const DtBurstDescriptor&);
96  DtNetBurstDescriptor& operator=(const DtNetBurstDescriptor&);
97 };
98 
100 {
101  public:
104 
105  DtSimulationAddress operator=(const DtSimulationAddress&);
107 };
108 
110 {
111  public:
114 
115  DtEntityIdentifier operator=(const DtEntityIdentifier&);
116  DtNetEntityIdentifier& operator=(const DtNetEntityIdentifier&);
117 };
118 
119 
120 
124 {
125  public:
127  {rep[0] = rep[1] = rep[2] = 0.0;}
129  {rep[0] = vec[0]; rep[1] = vec[1]; rep[2] = vec[2];}
130  DtVector operator=(const DtVector &vec)
131  {rep[0] = vec[0]; rep[1] = vec[1]; rep[2] = vec[2]; return vec;}
132  operator DtVector() const {return DtVector(rep[0], rep[1], rep[2]);}
133  DtNetFloat64 &operator[](int i) { return rep[i];}
134  DtNetFloat64 operator[](int i) const { return rep[i];}
135  private:
136  DtNetFloat64 rep[3];
137 };
138 
142 {
143  public:
145  {rep[0] = rep[1] = rep[2] = (float)0.0;}
147  {rep[0] = (float)vec[0]; rep[1] = (float)vec[1]; rep[2] = (float)vec[2];}
148  DtVector operator=(const DtVector &vec)
149  {rep[0] = (float)vec[0]; rep[1] = (float)vec[1]; rep[2] = (float)vec[2]; return vec;}
150  operator DtVector() const
151  {return DtVector((DtFloat32) rep[0], (DtFloat32) rep[1], (DtFloat32) rep[2]);}
152  DtNetFloat32 &operator[](int i) { return rep[i];}
153  DtNetFloat32 operator[](int i) const { return rep[i];}
154  private:
155  DtNetFloat32 rep[3];
156 };
157 
159 {
160  public:
161  DtNetEulerAngles() { psi = theta = phi = (float)0.0;}
163  {psi = (DtFloat32)tait.psi(); theta = (DtFloat32)tait.theta(); phi = (DtFloat32)tait.phi();}
164  DtTaitBryan operator=(const DtTaitBryan &tait)
165  {psi = (DtFloat32)tait.psi(); theta = (DtFloat32)tait.theta(); phi = (DtFloat32)tait.phi(); return tait;}
166  operator DtTaitBryan() const {return DtTaitBryan(psi, theta, phi);}
167  DtNetFloat32 psi; /* Counter clockwise about z */
168  DtNetFloat32 theta; /* Counter clockwise about y */
169  DtNetFloat32 phi; /* Counter clockwise about x */
170 };
171 
172 /***************************************************************
173  These structures don't need to be C++ classes even on little endian machines.
174 ****************************************************************/
175 
177 {
186 
187 typedef struct DtNetArtParamRecord
188 {
195 
198 
199 typedef struct DtNetAttachedPartRPR1
200 {
208 
209 typedef struct DtNetAttachedPart
210 {
211 
218 
219 typedef struct DtNetAngularVelocity
220 {
225 
226 typedef struct DtNetLinearVelocity
227 {
232 
233 typedef struct DtNetWorldCoordinates
234 {
239 
241 {
246 
247 typedef struct DtNetTopoUpCoord
248 {
253 
254 typedef struct
255 {
259 
262 
263 #endif /* _NETSTRUCTS_H_ */
264 
265 
266 

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)