VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
netStructs.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
8 #include <vlutil/vlTime.h>
9 #include <matrix/vlMath.h>
10 #include <matrix/vlTaitBryan.h>
11 #include <vlutil/vlNetTypes.h>
12 #include <vlutil/vlNetTimeStamp.h>
13 #include "oldTStamp.h"
14 
17 
18 
25 
27 
29 {
30 public:
33 
34  DtFederateId operator=(const DtFederateId &);
35  DtNetFederateId& operator=(const DtNetFederateId &);
36 };
37 
38 
40 {
41  public:
43 #define DtMaxEntityMarkingLength 11
45 };
46 
48 {
49 public:
51 #define DtMaxAggregateMarkingLength 31
53 };
54 
56 {
57  public:
65 
66  DtEntityType operator=(const DtEntityType&);
67  DtNetEntityType& operator=(const DtNetEntityType &);
68 };
69 
71 {
72  public:
79 
80  DtRadioEntityType operator=(const DtRadioEntityType &);
81  DtNetRadioEntityType&operator=(const DtNetRadioEntityType &);
82 };
83 
85 {
86  public:
92 
93  DtBurstDescriptor operator=(const DtBurstDescriptor&);
94  DtNetBurstDescriptor& operator=(const DtNetBurstDescriptor&);
95 };
96 
98 {
99  public:
102 
103  DtSimulationAddress operator=(const DtSimulationAddress&);
105  bool operator==(const DtNetSimulationAddress& rhs) const
106  {
107  return (DtSite == rhs.DtSite)
108  && (DtHost == rhs.DtHost);
109  }
110  bool operator!=(const DtNetSimulationAddress& rhs) const
111  {
112  return !operator==(rhs);
113  }
114 };
115 
117 {
118  public:
121 
122  DtEntityIdentifier operator=(const DtEntityIdentifier&);
123  DtNetEntityIdentifier& operator=(const DtNetEntityIdentifier&);
124  bool operator==(const DtNetEntityIdentifier& rhs) const
125  {
126  return (DtSimulator == rhs.DtSimulator)
127  && (DtEntity == rhs.DtEntity);
128  }
129  bool operator!=(const DtNetEntityIdentifier& rhs) const
130  {
131  return !operator==(rhs);
132  }
133 };
134 
135 
137 {
138 public:
143 
144  DtNetObjectType& operator=(const DtNetObjectType&);
145  bool operator==(const DtNetObjectType& rhs) const
146  {
147  return (myDomain == rhs.myDomain)
148  && (myKind == rhs.myKind)
149  && (myCategory == rhs.myCategory)
150  && (mySubcategory == rhs.mySubcategory);
151  }
152  bool operator!=(const DtNetObjectType& rhs) const
153  {
154  return !operator==(rhs);
155  }
156 };
157 
161 {
162  public:
164  {rep[0] = rep[1] = rep[2] = 0.0;}
166  {rep[0] = vec[0]; rep[1] = vec[1]; rep[2] = vec[2];}
167  DtVector operator=(const DtVector &vec)
168  {rep[0] = vec[0]; rep[1] = vec[1]; rep[2] = vec[2]; return vec;}
169  operator DtVector() const {return DtVector(rep[0], rep[1], rep[2]);}
170  DtNetFloat64 &operator[](int i) { return rep[i];}
171  DtNetFloat64 operator[](int i) const { return rep[i];}
172  private:
173  DtNetFloat64 rep[3];
174 };
175 
179 {
180  public:
182  {rep[0] = rep[1] = rep[2] = (float)0.0;}
184  {rep[0] = (float)vec[0]; rep[1] = (float)vec[1]; rep[2] = (float)vec[2];}
185  DtVector operator=(const DtVector &vec)
186  {rep[0] = (float)vec[0]; rep[1] = (float)vec[1]; rep[2] = (float)vec[2]; return vec;}
187  operator DtVector() const
188  {return DtVector((DtFloat32) rep[0], (DtFloat32) rep[1], (DtFloat32) rep[2]);}
189  DtNetFloat32 &operator[](int i) { return rep[i];}
190  DtNetFloat32 operator[](int i) const { return rep[i];}
191  private:
192  DtNetFloat32 rep[3];
193 };
194 
196 {
197  public:
198  DtNetEulerAngles() { psi = theta = phi = (float)0.0;}
200  {psi = (DtFloat32)tait.psi(); theta = (DtFloat32)tait.theta(); phi = (DtFloat32)tait.phi();}
201  DtTaitBryan operator=(const DtTaitBryan &tait)
202  {psi = (DtFloat32)tait.psi(); theta = (DtFloat32)tait.theta(); phi = (DtFloat32)tait.phi(); return tait;}
203  operator DtTaitBryan() const {return DtTaitBryan(psi, theta, phi);}
204  DtNetFloat32 psi; /* Counter clockwise about z */
205  DtNetFloat32 theta; /* Counter clockwise about y */
206  DtNetFloat32 phi; /* Counter clockwise about x */
207 };
208 
209 /***************************************************************
210  These structures don't need to be C++ classes even on little endian machines.
211 ****************************************************************/
212 
214 {
223 
224 typedef struct DtNetArtParamRecord
225 {
232 
235 
237 {
248 
249 typedef struct DtNetEntityTypeRecord
250 {
257 
258 typedef struct DtNetSeparationRecord
259 {
269 
270 typedef struct DtNetAttachedPartRPR1
271 {
279 
280 typedef struct DtNetAttachedPart
281 {
282 
289 
290 typedef struct DtNetVPRecord
291 {
298 } DtNetVPRecord;
299 
300 typedef struct DtNetAngularVelocity
301 {
306 
307 typedef struct DtNetLinearVelocity
308 {
309  bool operator==(const DtNetLinearVelocity& rhs) const
310  {
311  return (DtX == rhs.DtX)
312  && (DtY == rhs.DtY)
313  && (DtZ == rhs.DtZ);
314  }
315  bool operator!=(const DtNetLinearVelocity& rhs) const
316  {
317  return !operator==(rhs);
318  }
323 
325 {
326  bool operator==(const DtNetLinearAcceleration& rhs) const
327  {
328  return (DtX == rhs.DtX)
329  && (DtY == rhs.DtY)
330  && (DtZ == rhs.DtZ);
331  }
332  bool operator!=(const DtNetLinearAcceleration& rhs) const
333  {
334  return !operator==(rhs);
335  }
340 
341 typedef struct DtNetWorldCoordinates
342 {
343  bool operator==(const DtNetWorldCoordinates& rhs) const
344  {
345  return (DtX == rhs.DtX)
346  && (DtY == rhs.DtY)
347  && (DtZ == rhs.DtZ);
348  }
349  bool operator!=(const DtNetWorldCoordinates& rhs) const
350  {
351  return !operator==(rhs);
352  }
357 
359 {
360  bool operator==(const DtNetEntityCoordinates& rhs) const
361  {
362  return (DtX == rhs.DtX)
363  && (DtY == rhs.DtY)
364  && (DtZ == rhs.DtZ);
365  }
366  bool operator!=(const DtNetEntityCoordinates& rhs) const
367  {
368  return !operator==(rhs);
369  }
374 
375 typedef struct DtNetTopoUpCoord
376 {
381 
382 typedef struct
383 {
387 
390 

Document ID: Generated on Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)