VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
leDetonationPdu.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/leDetonP.h"
21 
22 #include "leEntityID.h"
25 #include "leEntityLinearVelocity.h"
26 #include "leEntityOrientation.h"
27 
29 
31 typedef void (*DtLeDetonationPduCb)(DtLeDetonationPdu* pdu, void* usr);
32 
33 
38 {
39 
40 public:
41 
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
47 
49  virtual ~DtLeDetonationPdu();
50 
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 detonFlagsField() const;
65 
69  virtual bool getDeton2FlagsField(DtU8& field) const;
70 
72  virtual bool detonFlag(DtLE_DetonFieldFlag flag) const;
73 
76  virtual bool getDeton2Flag(
77  DtLE_DetonField2Flag flag, bool& value) const;
78 
82 
84  virtual void setTargetEntityID(const DtLeEntityID& id);
85  virtual bool getTargetEntityID(DtLeEntityID& id) const;
86 
88  virtual void setMunitionID_Site(DtU8 value);
89  virtual bool getMunitionID_Site(DtU8& value) const;
90 
92  virtual void setMunitionID_Application(DtU8 value);
93  virtual bool getMunitionID_Application(DtU8& value) const;
94 
96  virtual void setMunitionID_Entity(DtU16 value);
97  virtual bool getMunitionID_Entity(DtU16& value) const;
98 
100  virtual void setEventID_Site(DtU8 value);
101  virtual bool getEventID_Site(DtU8& value) const;
102 
104  virtual void setEventID_Application(DtU8 value);
105  virtual bool getEventID_Application(DtU8& value) const;
106 
108  virtual void setEventID_Event(DtU16 value);
109  virtual bool getEventID_Event(DtU16& value) const;
110 
115  virtual void setLocationWorld(
117  virtual bool getLocationWorld(
119 
124  virtual void setLocationEntity(
126  virtual bool getLocationEntity(
128 
130  virtual void setVelocity(const DtLeEntityLinearVelocity& value);
131  virtual const DtLeEntityLinearVelocity& velocity() const;
132 
134  virtual void setOrientation(const DtLeEntityOrientation& value);
135  virtual bool getOrientation(DtLeEntityOrientation& value) const;
136 
138  virtual void setBurstMunitionType(DtEntityType& type);
139  virtual const DtEntityType& burstMunitionType() const;
140 
142  virtual void setBurstWarhead(DtU16 value);
143  virtual bool getBurstWarhead(DtU16& value) const;
144 
146  virtual void setBurstFuse(DtU16 value);
147  virtual bool getBurstFuse(DtU16& value) const;
148 
150  virtual void setBurstQuantity(DtU16 value);
151  virtual bool getBurstQuantity(DtU16& value) const;
152 
154  virtual void setBurstRate(DtU16 value);
155  virtual bool getBurstRate(DtU16& value) const;
156 
158  virtual void setDetonationResult(DtU8 value);
159  virtual DtU8 detonationResult() const;
160 
162  virtual void printData() const;
163 
165  virtual void printDataToStream(std::ostream& stream) const;
166 
168  virtual void printHeader() const;
169 
171  virtual void printHeaderToStream(std::ostream& stream) const;
172 
173 public:
174 
177  static DtPdu* create(const DtNetPacket* initial,
178  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
179 
182  static void addCallback(DtExerciseConn* conn,
183  DtLeDetonationPduCb cb, void* usr);
184  static void removeCallback(DtExerciseConn* conn,
185  DtLeDetonationPduCb cb, void* usr);
186 
187 protected:
188 
190  virtual DtPduKind internalGetPduKind() const;
191 
193  virtual DtNetLeDetonationPdu* netPduStruct() const;
194 
197  DtLeDetonationPdu* self() const;
198 
200  virtual char* var() const;
201 
203  virtual void setDetonFlagsField(DtU8 value);
204 
206  virtual void setDeton2FlagsField(DtU8 value);
207 
209  virtual void setDetonFlag(DtLE_DetonFieldFlag flag);
210 
212  virtual void setDeton2Flag(DtLE_DetonField2Flag flag);
213 
217  virtual int detonFlagFieldOffset() const;
218  virtual int deton2FlagFieldOffset() const;
219  virtual int targetEntityID_Offset() const;
220  virtual int munitionID_Offset1() const;
221  virtual int munitionID_Offset2() const;
222  virtual int eventID_Offset1() const;
223  virtual int eventID_Offset2() const;
224  virtual int locationWorldOffset() const;
225  virtual int velocityOffset() const;
226  virtual int munitionOrientationOffset() const;
227  virtual int burstOffset1() const;
228  virtual int burstOffset2() const;
229  virtual int burstOffset3() const;
230  virtual int locationEntityOffset() const;
231  virtual int resultOffset() const;
232 
233 protected:
234 
236  static const int theStaticSize;
237 
238 protected:
239 
244 
245 };
246 
247 #endif

Document ID: Generated on Fri May 15 06:36:13 EDT 2015 from SVN revision 153263
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)