VR-Link API Documentation for HLA 1.3
minefieldDataPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
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/mineDataP.h"
21 
22 
23 class DT_DLL_VL DtMinefieldDataPdu;
24 
26 typedef void (*DtMinefieldDataPduCb)(DtMinefieldDataPdu* pdu, void* usr);
27 
28 
32 class DT_DLL_VL DtMinefieldDataPdu : public DtInteraction
33 {
34 
35 public:
36 
38  DtMinefieldDataPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
39  DtMinefieldDataPdu(const DtNetMinefieldDataPdu* initial,
40  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
41  DtMinefieldDataPdu(const DtMinefieldDataPdu& orig);
42 
44  virtual ~DtMinefieldDataPdu();
45 
47  DtMinefieldDataPdu& operator=(const DtMinefieldDataPdu& orig);
48 
50  virtual void setMinefieldID(const DtEntityIdentifier& id);
51  virtual const DtEntityIdentifier& minefieldID() const;
52 
54  virtual void setRequestingEntityID(const DtEntityIdentifier& id);
55  virtual const DtEntityIdentifier& requestingEntityID() const;
56 
58  virtual void setMinefieldSequenceNumber(DtU16 field);
59  virtual DtU16 minefieldSequenceNumber() const;
60 
62  virtual void setRequestID(DtU8 value);
63  virtual DtU8 requestID() const;
64 
66  virtual void setPDU_SequenceNumber(DtU8 value);
67  virtual DtU8 PDU_SequenceNumber() const;
68 
70  virtual void setNumberOfPdus(DtU8 value);
71  virtual DtU8 numberOfPdus() const;
72 
75  virtual bool setNumberOfMines(DtU8 value);
76  virtual DtU8 numberOfMines() const;
77 
80  virtual bool setNumberOfSensorTypes(DtU8 value);
81  virtual DtU8 numberOfSensorTypes() const;
82 
85  virtual void setDataFilter(DtU32 value);
86  virtual DtU32 dataFilter() const;
87 
90  virtual void setDataFilterBit(
91  DtMinefieldDataFilterField field, bool value);
92  virtual bool dataFilterBit(DtMinefieldDataFilterField field) const;
93 
95  virtual void setMineType(const DtEntityType& value);
96  virtual const DtEntityType& mineType() const;
97 
100  virtual bool setSensorTypeCategory(
101  int sensorIndex, DtSensorTypeCategory value);
102  virtual bool getSensorTypeCategory(
103  int sensorIndex, DtSensorTypeCategory& value) const;
104 
107  virtual bool setSensorTypeSubcategory(
108  int sensorIndex, DtU16 value);
109  virtual bool getSensorTypeSubcategory(
110  int sensorIndex, DtU16& value) const;
111 
113  virtual bool setMineLocation(int mineIndex, const DtVector& value);
114  virtual bool getMineLocation(int mineIndex, DtVector& value) const;
115 
118  virtual bool setGroundBurialDepthOffset(
119  int mineIndex, DtFloat32 value);
120  virtual bool getGroundBurialDepthOffset(
121  int mineIndex, DtFloat32& value) const;
122 
125  virtual bool setWaterBurialDepthOffset(
126  int mineIndex, DtFloat32 value);
127  virtual bool getWaterBurialDepthOffset(
128  int mineIndex, DtFloat32& value) const;
129 
132  virtual bool setSnowBurialDepthOffset(
133  int mineIndex, DtFloat32 value);
134  virtual bool getSnowBurialDepthOffset(
135  int mineIndex, DtFloat32& value) const;
136 
139  virtual bool setMineOrientation(
140  int mineIndex, const DtTaitBryan& value);
141  virtual bool getMineOrientation(
142  int mineIndex, DtTaitBryan& value) const;
143 
146  virtual bool setThermalContrast(int mineIndex, DtFloat32 value);
147  virtual bool getThermalContrast(int mineIndex, DtFloat32& value) const;
148 
151  virtual bool setReflectance(int mineIndex, DtFloat32 value);
152  virtual bool getReflectance(int mineIndex, DtFloat32& value) const;
153 
156  virtual bool setMineEmplacementTime(int mineIndex, DtTime value);
157  virtual bool getMineEmplacementTime(int mineIndex, DtTime& value) const;
158 
160  virtual bool setMineEntityID(int mineIndex, DtU16 value);
161  virtual bool getMineEntityID(int mineIndex, DtU16& value) const;
162 
165  virtual bool setPrimaryFusing(int mineIndex,
166  DtMinefieldFusing value);
167  virtual bool getPrimaryFusing(int mineIndex,
168  DtMinefieldFusing& value) const;
169 
172  virtual bool setSecondaryFusing(int mineIndex,
173  DtMinefieldFusing value);
174  virtual bool getSecondaryFusing(int mineIndex,
175  DtMinefieldFusing& value) const;
176 
179  virtual bool setAntiHandlingDevice(int mineIndex,
181  virtual bool getAntiHandlingDevice(int mineIndex,
182  DtMinefieldAntiHandlingDevice& value) const;
183 
186  virtual bool setScalarDetectionCoefficient(
187  int sensorIndex, int mineIndex, DtU8 value);
188  virtual bool getScalarDetectionCoefficient(
189  int sensorIndex, int mineIndex, DtU8& value) const;
190 
193  virtual bool setMinefieldAlgae(
194  int mineIndex, DtMinefieldAlgae value);
195  virtual bool getMinefieldAlgae(
196  int mineIndex, DtMinefieldAlgae& value) const;
197 
200  virtual bool setPaintScheme(
201  int mineIndex, DtMinefieldPaintScheme value);
202  virtual bool getPaintScheme(
203  int mineIndex, DtMinefieldPaintScheme& value) const;
204 
207  virtual bool setNumTripWires(int mineIndex, DtU8 num);
208  virtual bool getNumTripWires(int mineIndex, DtU8& num) const;
209 
212  virtual bool setNumVertices(
213  int mineIndex, int wireIndex, DtU8 num);
214  virtual bool getNumVertices(
215  int mineIndex, int wireIndex, DtU8& num) const;
216 
219  virtual bool setVertex(int mineIndex, int wireIndex, int vertexIndex,
220  const DtVector& value);
221  virtual bool getVertex(int mineIndex, int wireIndex, int vertexIndex,
222  DtVector& value) const;
223 
225  virtual void printData() const;
226 
228  virtual void printDataToStream(std::ostream& stream) const;
229 
230 public:
231 
234  static DtPdu* create(const DtNetPacket* initial,
235  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
236 
239  static void addCallback(DtExerciseConn* conn,
240  DtMinefieldDataPduCb cb, void* usr);
241  static void removeCallback(DtExerciseConn* conn,
242  DtMinefieldDataPduCb cb, void* usr);
243 
244 protected:
245 
247  virtual DtPduKind internalGetPduKind() const;
248 
250  virtual DtNetMinefieldDataPdu* netPduStruct() const;
251 
254  DtMinefieldDataPdu* self() const;
255 
257  virtual char* var() const;
258 
260  virtual int sensorTypeRecordOffset(int sensorIndex) const;
261 
263  virtual int sensorTypePaddingOffset() const;
264 
266  virtual int sensorTypePaddingBytes() const;
267 
269  virtual int mineLocationRecordOffset(int mineIndex) const;
270 
272  virtual int groundBurialDepthRecordOffset(int mineIndex) const;
273 
275  virtual int waterBurialDepthRecordOffset(int mineIndex) const;
276 
278  virtual int snowBurialDepthRecordOffset(int mineIndex) const;
279 
281  virtual int mineOrientationRecordOffset(int mineIndex) const;
282 
284  virtual int thermalContrastRecordOffset(int mineIndex) const;
285 
287  virtual int reflectanceRecordOffset(int mineIndex) const;
288 
290  virtual int mineEmplacementTimeRecordOffset(int mineIndex) const;
291 
293  virtual int mineEntityID_RecordOffset(int mineIndex) const;
294 
296  virtual int fusingRecordOffset(int mineIndex) const;
297 
299  virtual int scalarDetectionCoefficientRecordOffset(
300  int sensorIndex, int mineIndex) const;
301 
303  virtual int paintSchemeRecordOffset(int mineIndex) const;
304 
306  virtual int paintSchemePaddingOffset() const;
307 
309  virtual int paintSchemePaddingBytes() const;
310 
312  virtual int numberOfTripWiresRecordOffset(int mineIndex) const;
313 
315  virtual int numberOfTripWiresPaddingOffset() const;
316 
318  virtual int numberOfTripWiresPaddingBytes() const;
319 
323  virtual int variableDataLengthAfterReset() const;
324 
326  virtual int numberOfVerticesRecordOffset(
327  int mineIndex, int wireIndex) const;
328 
331  virtual int numberOfVerticesPaddingOffset() const;
332 
334  virtual int numberOfVerticesPaddingBytes() const;
335 
337  virtual int vertexRecordOffset(int mineIndex, int wireIndex,
338  int vertexIndex) const;
339 
341  virtual int variableDataLength() const;
342 
343 protected:
344 
346  static const int theStaticSize;
347 
348 protected:
349 
351  DtEntityIdentifier myEntityID;
352  DtEntityType myEntityType;
353 
354 };
355 
356 #endif

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)