VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
arealObjectStatePdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include <vlutil/vlMachineTypes.h>
15 #include "hostStructs.h"
16 #include "stateMsgDIS.h"
17 #include <matrix/vlMath.h>
18 #include "exerciseConn.h"
19 
20 #include "packets/arealObjStP.h"
21 
23 
24 class DT_DLL_VL DtArealObjectStatePdu;
25 
26 
28 typedef void (*DtArealObjectStatePduCb)(
29  DtArealObjectStatePdu* pdu, void* usr);
30 
31 
36 class DT_DLL_VL DtArealObjectStatePdu : public DtStateMsg
37 {
38 
39 public:
40 
42  DtArealObjectStatePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
43  DtArealObjectStatePdu(const DtNetArealObjectStatePdu* initial,
44  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
45  DtArealObjectStatePdu(const DtArealObjectStatePdu& orig);
46 
48  virtual ~DtArealObjectStatePdu();
49 
52  static DtPdu* create(const DtNetPacket* initial,
53  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
54 
57  static void addCallback(DtExerciseConn* conn,
58  DtArealObjectStatePduCb cb, void* usr);
59  static void removeCallback(DtExerciseConn* conn,
60  DtArealObjectStatePduCb cb, void* usr);
61 
63  DtArealObjectStatePdu& operator=(const DtArealObjectStatePdu& orig);
64 
66  virtual void setObjectID(const DtEntityIdentifier& id);
67  virtual const DtEntityIdentifier& objectID() const;
68 
70  virtual void setReferencedObjectID(const DtEntityIdentifier& id);
71  virtual const DtEntityIdentifier& referencedObjectID() const;
72 
74  virtual void setUpdateNumber(DtU16 field);
75  virtual DtU16 updateNumber() const;
76 
78  virtual void setForceID(DtForceType force);
79  virtual DtForceType forceID() const;
80 
82  virtual void setModifications(DtU8 value);
83  virtual DtU8 modifications() const;
84 
86  virtual void setModificationsField(
87  DtModificationField field, bool value);
88  virtual bool modificationsField(
89  DtModificationField field) const;
90 
92  virtual void setObjectType(const DtSyntheticEnvironmentObjectType& type);
93  virtual const DtSyntheticEnvironmentObjectType& objectType() const;
94 
96  virtual void setAppearance(DtU16 app);
97  virtual DtU16 appearance() const;
98 
100  virtual void setAppearanceAttribute(
102  virtual DtAppearAttrVal appearanceAttribute(
103  DtAppearAttribute attr) const;
104 
106  virtual void setSpecificAppearance(DtU32 app);
107  virtual DtU32 specificAppearance() const;
108 
110  virtual void setSpecificAppearanceAttribute(
111  const DtAppearAttribute attr, const DtAppearAttrVal val);
112  virtual DtAppearAttrVal specificAppearanceAttribute(
113  const DtAppearAttribute attr) const;
114 
116  virtual bool setNumPoints(DtU16 num);
117  virtual DtU16 numPoints() const;
118 
120  virtual void setRequesterID(const DtSimulationAddress& type);
121  virtual const DtSimulationAddress& requesterID() const;
122 
124  virtual void setReceivingID(const DtSimulationAddress& type);
125  virtual const DtSimulationAddress& receivingID() const;
126 
128  virtual bool setPointLocation(int index,
129  const DtVector& init);
130  virtual bool getPointLocation(int index,
131  DtVector& record) const;
132 
134  virtual void printData() const;
135 
137  virtual void printDataToStream(std::ostream& stream) const;
138 
139 protected:
140 
142  virtual DtPduKind internalGetPduKind() const;
143 
145  virtual DtNetArealObjectStatePdu* netPduStruct() const;
146 
149  DtArealObjectStatePdu* self() const;
150 
152  virtual char* var() const;
153 
154 protected:
155 
157  static const int theStaticSize;
158 
159 protected:
160 
162  DtEntityIdentifier myEntityID;
164  DtSimulationAddress mySimulationAddress;
165 
166 };
167 
168 #endif
DtAppearAttrVal
Create an enumeration type, but since many of the names will have the same value, define them all as ...
Definition: disEnums.h:1421
A DtSimulationAddress is used in DIS to identify a particular simulator.
Definition: simulationAddress.h:29
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:60
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: pduHeader.h:14
This file defines math constants and methods which may be useful in simulations.
DtStateMsg & operator=(const DtStateMsg &orig)
assignment operator
Definition: vlVector.h:224
DtSyntheticEnvironmentObjectType is a class which contains information identifying the type of a synt...
Definition: vlpi/syntheticEnvironmentObjectType.h:19
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file provides protocol to independence DtExerciseConn.
This file declares the class DtNetArealObjectStatePdu.
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
DtForceType
Section 4.
Definition: disEnums.h:199
unsigned short DtU16
A 16 bit unsigned integer value.
Definition: vlMachineTypes.h:140
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
DtModificationField
Definition: disEnums.h:2476
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtAppearAttribute
If you put spaces between the &quot;&lt;&lt;&quot; and the surrounding strings, enumstr gets confused and thinks the ...
Definition: disEnums.h:1266
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
class DtStateMsg:
Definition: stateMsgHLA.h:32
This file contains typedefs for machine dependant types.

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)