VR-Link API Documentation for HLA 1516
 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  const DtFederateId& operator=(const DtFederateId &);
35  const 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  const DtEntityType& operator=(const DtEntityType&);
67  const DtNetEntityType& operator=(const DtNetEntityType &);
68 };
69 
71 {
72  public:
79 
80  const DtRadioEntityType& operator=(const DtRadioEntityType &);
81  const DtNetRadioEntityType& operator=(const DtNetRadioEntityType &);
82 };
83 
85 {
86  public:
92 
93  const DtBurstDescriptor& operator=(const DtBurstDescriptor&);
94  const DtNetBurstDescriptor& operator=(const DtNetBurstDescriptor&);
95 };
96 
98 {
99  public:
102 
103  const DtSimulationAddress& operator=(const DtSimulationAddress&);
104  const DtNetSimulationAddress& operator=(const DtNetSimulationAddress&);
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  const DtEntityIdentifier& operator=(const DtEntityIdentifier&);
123  const 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  const 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];}
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];}
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();}
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 
DtNetFloat32 East
Definition: netStructs.h:377
struct DtNetTopoUpCoord DtNetTopoUpCoord
DtNetU32 myArtOrAttached
Definition: netStructs.h:218
DtNetU16 site
Definition: netStructs.h:31
DtNetU8 myAssociationStatus
Definition: netStructs.h:240
DtNet64Vector()
Definition: netStructs.h:163
Definition: netStructs.h:249
This file contains routines for manipulating DIS time stamps.
struct DtNetLinearVelocity DtNetLinearVelocity
Definition: netStructs.h:375
DtNetU8 kind
Definition: netStructs.h:73
DtNet64Bits DtValue
Definition: netStructs.h:230
const bool operator==(const DtU128 &lhs, const DtU128 &rhs)
DtNetFloat32 DtY
Definition: netStructs.h:371
DtNetU16 DtHost
Definition: netStructs.h:101
DtNetU16 nomenclature
Definition: netStructs.h:78
A DtSimulationAddress is used in DIS to identify a particular simulator.
Definition: simulationAddress.h:29
DtNetU16 country
Definition: netStructs.h:75
bool operator!=(const DtNetEntityIdentifier &rhs) const
Definition: netStructs.h:129
DtNetFloat32 psi
Definition: netStructs.h:204
struct DtNetAttachedPart DtNetAttachedPart
DtNetU16 padding16
Definition: netStructs.h:265
Definition: netStructs.h:195
DtNet32Vector(const DtVector &vec)
Definition: netStructs.h:183
DtNetU8 padding8
Definition: netStructs.h:263
DtNetU32 myClass
Definition: netStructs.h:219
bool operator!=(const DtNetEntityCoordinates &rhs) const
Definition: netStructs.h:366
Definition: netStructs.h:280
DtNetU8 myKind
Definition: netStructs.h:140
DtNetU8 category
Definition: netStructs.h:76
DtNetArtParamRecord DtNetArtPartRecord
Definition: netStructs.h:234
DT_DLL_VLPROTIND DtTime DtClockTime2AbsTime(const DtNetClockTime *clock)
DtNetU8 DtCharacterSet
Definition: netStructs.h:42
DtNetFloat64 & operator[](int i)
Definition: netStructs.h:170
struct DtNetWorldCoordinates DtNetWorldCoordinates
DtNetU16 DtCountry
Definition: netStructs.h:60
DtNetU8 myChange
Definition: netStructs.h:272
DtNetEntityIdentifier myEntityId
Definition: netStructs.h:242
DtNet32Vector()
Definition: netStructs.h:181
DtNetU16 app
Definition: netStructs.h:32
DtNetFloat64 DtX
Definition: netStructs.h:353
Definition: netStructs.h:47
Definition: entityType.h:126
DtNetU8 DtEntityKind
Definition: netStructs.h:58
DtNetU32 myStation
Definition: netStructs.h:276
DtNetU8 myAssociationType
Definition: netStructs.h:241
DtNetU32 myTypeMetric
Definition: netStructs.h:220
Network-order unsigned 16-bit quantity.
Definition: vlNetTypes.h:51
DtNetU16 padding16
Definition: netStructs.h:254
This file contains the declaration of DtClock and DtTime.
DtNetFloat32 phi
Definition: netStructs.h:206
DtNetU32 myUnused4
Definition: netStructs.h:296
DtNetFloat32 DtY
Definition: netStructs.h:337
DtNetU16 myUnused2
Definition: netStructs.h:294
DtNetTimeStamp hourFrac
Definition: netStructs.h:385
struct DtNetAngularVelocity DtNetAngularVelocity
This file contains the declaration of DtNetTimeStamp.
Network-order unsigned 32-bit quantity.
Definition: vlNetTypes.h:98
DtNetU16 myOwnStationLocation
Definition: netStructs.h:243
Definition: netStructs.h:270
DtNetU8 myGroupMemberType
Definition: netStructs.h:245
Definition: netStructs.h:358
DtNetU8 DtCategory
Definition: netStructs.h:61
Definition: netStructs.h:382
DtNetU8 myChange
Definition: netStructs.h:215
Definition: netStructs.h:341
bool operator!=(const DtNetObjectType &rhs) const
Definition: netStructs.h:152
DtNetU8 padding
Definition: netStructs.h:273
DtNetU32 myUnused3
Definition: netStructs.h:295
DtVector operator=(const DtVector &vec)
Definition: netStructs.h:167
DtNetFloat32 operator[](int i) const
Definition: netStructs.h:190
DtNetSimulationAddress DtSimulator
Definition: netStructs.h:119
DtNetU32 myUnused5
Definition: netStructs.h:297
DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles...
Definition: vlTaitBryan.h:43
DtNetU8 padding
Definition: netStructs.h:216
DtNetU8 DtSpecific
Definition: netStructs.h:63
DtNetU8 mySeparationReason
Definition: netStructs.h:261
DtNetU8 myChange
Definition: netStructs.h:252
DtNetU8 myArtOrAttached
Definition: netStructs.h:251
DtNetFloat32 theta
Definition: netStructs.h:205
bool operator!=(const DtNetSimulationAddress &rhs) const
Definition: netStructs.h:110
DtNet64Vector(const DtVector &vec)
Definition: netStructs.h:165
DtNetU16 myStationNumber
Definition: netStructs.h:267
DtNetFloat32 myValue
Definition: netStructs.h:221
DtNetEntityType myType
Definition: netStructs.h:277
bool operator==(const DtNetLinearVelocity &rhs) const
Definition: netStructs.h:309
DtNetFloat32 wx
Definition: netStructs.h:302
DtNetU16 DtFuze
Definition: netStructs.h:89
DtNetU8 nomenclatureVersion
Definition: netStructs.h:77
DtNetU16 myAttachedTo
Definition: netStructs.h:274
DtNetU32 myStation
Definition: netStructs.h:286
Definition: netStructs.h:307
DtTaitBryan operator=(const DtTaitBryan &tait)
Definition: netStructs.h:201
DtNetU16 myAttachedTo
Definition: netStructs.h:217
Definition: netStructs.h:136
This file defines math constants and methods which may be useful in simulations.
#define DtMaxEntityMarkingLength
Definition: netStructs.h:43
struct DtNetAttachedPartRPR1 DtNetAttachedPartRPR1
DtNetFloat64 DtZ
Definition: netStructs.h:355
This class is deprecated, please use DtNetVector32 in vlVector.h.
Definition: netStructs.h:178
DtNetU32 myArtOrAttatched
Definition: netStructs.h:275
Network-order 64-bit IEEE-754 floating-point quantity.
Definition: vlNetTypes.h:173
DtNetFloat32 wy
Definition: netStructs.h:303
Definition: netStructs.h:236
DtNetU8 myPhysicalConnectionType
Definition: netStructs.h:244
bool operator!=(const DtNetLinearAcceleration &rhs) const
Definition: netStructs.h:332
DtVector64 DtVector
Definition: vlVector.h:285
Definition: vlVector.h:224
Definition: netStructs.h:84
struct DtNetEntityTypeRecord DtNetEntityTypeRecord
This file declares DtTaitBryan.
DtU8 DtNetU8
Unsigned 8-bit value.
Definition: vlNetTypes.h:30
DtNetFloat32 DtZ
Definition: netStructs.h:372
Definition: netStructs.h:39
DtNetU8 myChange
Definition: netStructs.h:239
struct DtNetEntityAssociationRecord DtNetEntityAssociationRecord
DtSimulationAddress DtFederateId
Definition: netStructs.h:26
bool operator==(const DtNetObjectType &rhs) const
Definition: netStructs.h:145
DtNetU8 DtNet64Bits[8]
Definition: vlNetTypes.h:46
DtNetU8 myVPType
Definition: netStructs.h:292
Represents Events in the RPR FOM.
Definition: eventId.h:52
DtNetFloat32 wz
Definition: netStructs.h:304
Instances of DtNetTimeStamp are network representations of a DIS time stamp.
Definition: vlNetTimeStamp.h:28
DtNetEntityType myEntityType
Definition: netStructs.h:253
Definition: netStructs.h:116
Definition: netStructs.h:213
bool operator==(const DtNetSimulationAddress &rhs) const
Definition: netStructs.h:105
DtNetEntityType myType
Definition: netStructs.h:287
bool operator!=(const DtNetWorldCoordinates &rhs) const
Definition: netStructs.h:349
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
bool operator==(const DtNetWorldCoordinates &rhs) const
Definition: netStructs.h:343
Definition: netStructs.h:97
Definition: netStructs.h:224
DtNetU16 DtRate
Definition: netStructs.h:91
bool operator==(const DtNetLinearAcceleration &rhs) const
Definition: netStructs.h:326
struct DtNetSeparationRecord DtNetSeparationRecord
#define DT_DLL_VLPROTIND
Definition: vlMachineTypes.h:110
DtFloat64 psi() const
bool operator!=(const DtNetLinearVelocity &rhs) const
Definition: netStructs.h:315
DtVector operator=(const DtVector &vec)
Definition: netStructs.h:185
Definition: netStructs.h:55
DtNetU16 myAttachedTo
Definition: netStructs.h:285
#define DtMaxAggregateMarkingLength
Definition: netStructs.h:51
DtNetFloat32 DtZ
Definition: netStructs.h:321
DtNetFloat32 North
Definition: netStructs.h:378
DtNetU8 myPreEntityIndicator
Definition: netStructs.h:262
DtNetU8 DtCharacterSet
Definition: netStructs.h:50
DtNetFloat32 DtY
Definition: netStructs.h:320
DtNetU16 DtEntity
Definition: netStructs.h:120
Burst descriptors represent Fire and detonate descriptors in DIS and HLA.
Definition: burstDescriptor.h:24
bool operator==(const DtNetEntityIdentifier &rhs) const
Definition: netStructs.h:124
DtNetFloat32 & operator[](int i)
Definition: netStructs.h:189
DtNetU8 DtChange
Definition: netStructs.h:227
DtNetU8 myArtOrAttached
Definition: netStructs.h:260
DtNetFloat64 DtY
Definition: netStructs.h:354
DtNetEulerAngles(const DtTaitBryan &tait)
Definition: netStructs.h:199
struct DtNetArtParamRecordRPR1 DtNetArtParamRecordRPR1
DtNetFloat32 DtX
Definition: netStructs.h:370
DtNetU8 myDomain
Definition: netStructs.h:139
DT_DLL_VLPROTIND void DtAbsTime2ClockTime(DtTime absTime, DtNetClockTime *clock)
Definition: netStructs.h:28
DtNetFloat32 DtX
Definition: netStructs.h:336
DtNetU8 domain
Definition: netStructs.h:74
DtNetU8 myArtOrAttached
Definition: netStructs.h:283
DtNetFloat32 DtX
Definition: netStructs.h:319
struct DtNetArtParamRecord DtNetArtParamRecord
DtNetFloat32 DtZ
Definition: netStructs.h:338
DtNetInt32 hour
Definition: netStructs.h:384
DtNetU8 DtExtra
Definition: netStructs.h:64
bool operator==(const DtNetEntityCoordinates &rhs) const
Definition: netStructs.h:360
DtNetU8 artOrAttached
Definition: netStructs.h:226
DtNetEntityIdentifier myParentEntityId
Definition: netStructs.h:264
Network-order 32-bit IEEE-754 floating-point quantity.
Definition: vlNetTypes.h:147
DtNetFloat32 Up
Definition: netStructs.h:379
DtNetU8 myUnused1
Definition: netStructs.h:293
DtNetU8 DtSubCategory
Definition: netStructs.h:62
Definition: netStructs.h:258
Definition: netStructs.h:70
DtNetU32 padding32
Definition: netStructs.h:255
Definition: netStructs.h:324
struct DtNetVPRecord DtNetVPRecord
DtNetFloat64 operator[](int i) const
Definition: netStructs.h:171
DtNetArtParamRecord DtArticulatedParts
Definition: netStructs.h:233
DtNetU8 DtDomain
Definition: netStructs.h:59
DtNetU16 DtAttachedTo
Definition: netStructs.h:228
float DtFloat32
A 32 bit floating point value.
Definition: vlMachineTypes.h:209
struct DtNetLinearAcceleration DtNetLinearAcceleration
DtNetEntityType DtMunition
Definition: netStructs.h:87
DtFloat64 phi() const
DtFloat64 theta() const
DtNetU8 myCategory
Definition: netStructs.h:141
This class is deprecated, please use DtNetVector64 in vlVector.h.
Definition: netStructs.h:160
DtNetU16 DtQuantity
Definition: netStructs.h:90
Definition: netStructs.h:300
DtNetU8 myArtOrAttached
Definition: netStructs.h:238
DtNetU16 myGroupNumber
Definition: netStructs.h:246
DtNetU8 myChange
Definition: netStructs.h:284
DtNetU16 myStationName
Definition: netStructs.h:266
Network-order signed 32-bit quantity.
Definition: vlNetTypes.h:123
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26
DtNetU16 DtWarhead
Definition: netStructs.h:88
Definition: netStructs.h:290
DtNetU32 DtType
Definition: netStructs.h:229
DtNetU16 DtSite
Definition: netStructs.h:100
struct DtNetEntityCoordinates DtNetEntityCoordinates
DtNetU8 mySubcategory
Definition: netStructs.h:142
DtNetEulerAngles()
Definition: netStructs.h:198

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)