VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
leFirePdu.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 "interactionDIS.h"
17 #include <matrix/vlMath.h>
18 #include "exerciseConn.h"
19 
20 #include "packets/leFireP.h"
21 
23 #include "leEntityID.h"
25 #include "leEntityLinearVelocity.h"
26 
27 
28 class DT_DLL_VL DtLeFirePdu;
29 
31 typedef void (*DtLeFirePduCb)(DtLeFirePdu* pdu, void* usr);
32 
33 
37 class DT_DLL_VL DtLeFirePdu : public DtInteraction
38 {
39 
40 public:
41 
43  DtLeFirePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
44  DtLeFirePdu(const DtNetLeFirePdu* initial,
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
46  DtLeFirePdu(const DtLeFirePdu& orig);
47 
49  virtual ~DtLeFirePdu();
50 
52  DtLeFirePdu& operator=(const DtLeFirePdu& orig);
53 
55  virtual void setSubProtocol(DtSubProtocol value);
56  virtual DtSubProtocol subProtocol() const;
57 
59  virtual void setFiringEntityID(const DtLeEntityID& id);
60  virtual const DtLeEntityID& firingEntityID() const;
61 
64  virtual DtU8 fireFlagsField() const;
65 
67  virtual bool fireFlag(DtLE_FireFieldFlag flag) const;
68 
72 
74  virtual void setTargetEntityID(const DtLeEntityID& id);
75  virtual bool getTargetEntityID(DtLeEntityID& id) const;
76 
78  virtual void setMunitionID_Site(DtU8 value);
79  virtual bool getMunitionID_Site(DtU8& value) const;
80 
82  virtual void setMunitionID_Application(DtU8 value);
83  virtual bool getMunitionID_Application(DtU8& value) const;
84 
86  virtual void setMunitionID_Entity(DtU16 value);
87  virtual bool getMunitionID_Entity(DtU16& value) const;
88 
90  virtual void setEventID_Site(DtU8 value);
91  virtual bool getEventID_Site(DtU8& value) const;
92 
94  virtual void setEventID_Application(DtU8 value);
95  virtual bool getEventID_Application(DtU8& value) const;
96 
98  virtual void setEventID_Event(DtU16 value);
99  virtual DtU16 eventID_Event() const;
100 
102  virtual void setLocation(const DtLeEntityLocationWorldCoordinates& value);
103  virtual bool getLocation(
104  DtLeEntityLocationWorldCoordinates& value) const;
105 
107  virtual void setBurstMunitionType(DtEntityType& type);
108  virtual const DtEntityType& burstMunitionType() const;
109 
111  virtual void setBurstWarhead(DtU16 value);
112  virtual bool getBurstWarhead(DtU16& value) const;
113 
115  virtual void setBurstFuse(DtU16 value);
116  virtual bool getBurstFuse(DtU16& value) const;
117 
119  virtual void setBurstQuantity(DtU16 value);
120  virtual bool getBurstQuantity(DtU16& value) const;
121 
123  virtual void setBurstRate(DtU16 value);
124  virtual bool getBurstRate(DtU16& value) const;
125 
127  virtual void setVelocity(const DtLeEntityLinearVelocity& value);
128  virtual const DtLeEntityLinearVelocity& velocity() const;
129 
131  virtual void setRange(DtU16 value);
132  virtual DtU16 range() const;
133 
135  virtual void printData() const;
136 
138  virtual void printDataToStream(std::ostream& stream) const;
139 
141  virtual void printHeader() const;
142 
144  virtual void printHeaderToStream(std::ostream& stream) const;
145 
146 public:
147 
150  static DtPdu* create(const DtNetPacket* initial,
151  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
152 
155  static void addCallback(DtExerciseConn* conn,
156  DtLeFirePduCb cb, void* usr);
157  static void removeCallback(DtExerciseConn* conn,
158  DtLeFirePduCb cb, void* usr);
159 
160 protected:
161 
163  virtual DtPduKind internalGetPduKind() const;
164 
166  virtual DtNetLeFirePdu* netPduStruct() const;
167 
170  DtLeFirePdu* self() const;
171 
173  virtual char* var() const;
174 
176  virtual void setFireFlagsField(DtU8 value);
177 
179  virtual void setFireFlag(DtLE_FireFieldFlag flag);
180 
182  virtual void clearFireFlags(DtLE_FireFieldFlag flag);
183 
187  virtual int fireFlagFieldOffset() const;
188  virtual int targetEntityID_Offset() const;
189  virtual int munitionID_Offset1() const;
190  virtual int munitionID_Offset2() const;
191  virtual int eventID_Offset1() const;
192  virtual int eventID_Offset2() const;
193  virtual int locationOffset() const;
194  virtual int burstOffset1() const;
195  virtual int burstOffset2() const;
196  virtual int burstOffset3() const;
197  virtual int velocityOffset() const;
198  virtual int rangeOffset() const;
199 
200 protected:
201 
203  static const int theStaticSize;
204 
205 protected:
206 
208  DtLeEntityID myEntityID;
209  DtLeEntityLinearVelocity myVelocity;
210  DtEntityType myEntityType;
211 
212 };
213 
214 #endif

Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)