VR-Link API Documentation for HLA 1.3
mineDataPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #ifndef DtMinefieldDataPdu_H_
11 #define DtMinefieldDataPdu_H_
12 
13 #if DtDIS
14 
15 #include <vlutil/vlMachineTypes.h>
16 #include "hostStructs.h"
17 #include "dInteraction.h"
18 #include <matrix/vlMath.h>
19 #include "exerciseConn.h"
20 
21 #include "packets/mineDataP.h"
22 
23 
24 class DT_DLL_VL DtMinefieldDataPdu;
25 
27 typedef void (*DtMinefieldDataPduCb)(DtMinefieldDataPdu* pdu, void* usr);
28 
29 
33 class DT_DLL_VL DtMinefieldDataPdu : public DtInteraction
34 {
35 
36 public:
37 
39  DtMinefieldDataPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
40  DtMinefieldDataPdu(const DtNetMinefieldDataPdu* initial,
42  DtMinefieldDataPdu(const DtMinefieldDataPdu& orig);
43 
45  virtual ~DtMinefieldDataPdu();
46 
48  DtMinefieldDataPdu& operator=(const DtMinefieldDataPdu& orig);
49 
51  virtual void setMinefieldID(const DtEntityIdentifier& id);
52  virtual const DtEntityIdentifier& minefieldID() const;
53 
55  virtual void setRequestingEntityID(const DtEntityIdentifier& id);
56  virtual const DtEntityIdentifier& requestingEntityID() const;
57 
59  virtual void setMinefieldSequenceNumber(DtU16 field);
60  virtual DtU16 minefieldSequenceNumber() const;
61 
63  virtual void setRequestID(DtU8 value);
64  virtual DtU8 requestID() const;
65 
67  virtual void setPDU_SequenceNumber(DtU8 value);
68  virtual DtU8 PDU_SequenceNumber() const;
69 
71  virtual void setNumberOfPdus(DtU8 value);
72  virtual DtU8 numberOfPdus() const;
73 
76  virtual bool setNumberOfMines(DtU8 value);
77  virtual DtU8 numberOfMines() const;
78 
81  virtual bool setNumberOfSensorTypes(DtU8 value);
82  virtual DtU8 numberOfSensorTypes() const;
83 
86  virtual void setDataFilter(DtU32 value);
87  virtual DtU32 dataFilter() const;
88 
91  virtual void setDataFilterBit(
92  DtMinefieldDataFilterField field, bool value);
93  virtual bool dataFilterBit(DtMinefieldDataFilterField field) const;
94 
96  virtual void setMineType(const DtEntityType& value);
97  virtual const DtEntityType& mineType() const;
98 
101  virtual bool setSensorTypeCategory(
102  int sensorIndex, DtSensorTypeCategory value);
103  virtual bool getSensorTypeCategory(
104  int sensorIndex, DtSensorTypeCategory& value) const;
105 
108  virtual bool setSensorTypeSubcategory(
109  int sensorIndex, DtU16 value);
110  virtual bool getSensorTypeSubcategory(
111  int sensorIndex, DtU16& value) const;
112 
114  virtual bool setMineLocation(int mineIndex, const DtVector& value);
115  virtual bool getMineLocation(int mineIndex, DtVector& value) const;
116 
119  virtual bool setGroundBurialDepthOffset(
120  int mineIndex, DtFloat32 value);
121  virtual bool getGroundBurialDepthOffset(
122  int mineIndex, DtFloat32& value) const;
123 
126  virtual bool setWaterBurialDepthOffset(
127  int mineIndex, DtFloat32 value);
128  virtual bool getWaterBurialDepthOffset(
129  int mineIndex, DtFloat32& value) const;
130 
133  virtual bool setSnowBurialDepthOffset(
134  int mineIndex, DtFloat32 value);
135  virtual bool getSnowBurialDepthOffset(
136  int mineIndex, DtFloat32& value) const;
137 
140  virtual bool setMineOrientation(
141  int mineIndex, const DtTaitBryan& value);
142  virtual bool getMineOrientation(
143  int mineIndex, DtTaitBryan& value) const;
144 
147  virtual bool setThermalContrast(int mineIndex, DtFloat32 value);
148  virtual bool getThermalContrast(int mineIndex, DtFloat32& value) const;
149 
152  virtual bool setReflectance(int mineIndex, DtFloat32 value);
153  virtual bool getReflectance(int mineIndex, DtFloat32& value) const;
154 
157  virtual bool setMineEmplacementTime(int mineIndex, DtTime value);
158  virtual bool getMineEmplacementTime(int mineIndex, DtTime& value) const;
159 
161  virtual bool setMineEntityID(int mineIndex, DtU16 value);
162  virtual bool getMineEntityID(int mineIndex, DtU16& value) const;
163 
166  virtual bool setPrimaryFusing(int mineIndex,
167  DtMinefieldFusing value);
168  virtual bool getPrimaryFusing(int mineIndex,
169  DtMinefieldFusing& value) const;
170 
173  virtual bool setSecondaryFusing(int mineIndex,
174  DtMinefieldFusing value);
175  virtual bool getSecondaryFusing(int mineIndex,
176  DtMinefieldFusing& value) const;
177 
180  virtual bool setAntiHandlingDevice(int mineIndex,
182  virtual bool getAntiHandlingDevice(int mineIndex,
183  DtMinefieldAntiHandlingDevice& value) const;
184 
187  virtual bool setScalarDetectionCoefficient(
188  int sensorIndex, int mineIndex, DtU8 value);
189  virtual bool getScalarDetectionCoefficient(
190  int sensorIndex, int mineIndex, DtU8& value) const;
191 
194  virtual bool setMinefieldAlgae(
195  int mineIndex, DtMinefieldAlgae value);
196  virtual bool getMinefieldAlgae(
197  int mineIndex, DtMinefieldAlgae& value) const;
198 
201  virtual bool setPaintScheme(
202  int mineIndex, DtMinefieldPaintScheme value);
203  virtual bool getPaintScheme(
204  int mineIndex, DtMinefieldPaintScheme& value) const;
205 
208  virtual bool setNumTripWires(int mineIndex, DtU8 num);
209  virtual bool getNumTripWires(int mineIndex, DtU8& num) const;
210 
213  virtual bool setNumVertices(
214  int mineIndex, int wireIndex, DtU8 num);
215  virtual bool getNumVertices(
216  int mineIndex, int wireIndex, DtU8& num) const;
217 
220  virtual bool setVertex(int mineIndex, int wireIndex, int vertexIndex,
221  const DtVector& value);
222  virtual bool getVertex(int mineIndex, int wireIndex, int vertexIndex,
223  DtVector& value) const;
224 
226  virtual void printData() const;
227 
229  virtual void printDataToStream(std::ostream& stream) const;
230 
231 public:
232 
235  static DtPdu* create(const DtNetPacket* initial,
237 
240  static void addCallback(DtExerciseConn* conn,
241  DtMinefieldDataPduCb cb, void* usr);
242  static void removeCallback(DtExerciseConn* conn,
243  DtMinefieldDataPduCb cb, void* usr);
244 
245 protected:
246 
248  virtual DtPduKind internalGetPduKind() const;
249 
251  virtual DtNetMinefieldDataPdu* netPduStruct() const;
252 
255  DtMinefieldDataPdu* self() const;
256 
258  virtual char* var() const;
259 
261  virtual int sensorTypeRecordOffset(int sensorIndex) const;
262 
264  virtual int sensorTypePaddingOffset() const;
265 
267  virtual int sensorTypePaddingBytes() const;
268 
270  virtual int mineLocationRecordOffset(int mineIndex) const;
271 
273  virtual int groundBurialDepthRecordOffset(int mineIndex) const;
274 
276  virtual int waterBurialDepthRecordOffset(int mineIndex) const;
277 
279  virtual int snowBurialDepthRecordOffset(int mineIndex) const;
280 
282  virtual int mineOrientationRecordOffset(int mineIndex) const;
283 
285  virtual int thermalContrastRecordOffset(int mineIndex) const;
286 
288  virtual int reflectanceRecordOffset(int mineIndex) const;
289 
291  virtual int mineEmplacementTimeRecordOffset(int mineIndex) const;
292 
294  virtual int mineEntityID_RecordOffset(int mineIndex) const;
295 
297  virtual int fusingRecordOffset(int mineIndex) const;
298 
300  virtual int scalarDetectionCoefficientRecordOffset(
301  int sensorIndex, int mineIndex) const;
302 
304  virtual int paintSchemeRecordOffset(int mineIndex) const;
305 
307  virtual int paintSchemePaddingOffset() const;
308 
310  virtual int paintSchemePaddingBytes() const;
311 
313  virtual int numberOfTripWiresRecordOffset(int mineIndex) const;
314 
316  virtual int numberOfTripWiresPaddingOffset() const;
317 
319  virtual int numberOfTripWiresPaddingBytes() const;
320 
324  virtual int variableDataLengthAfterReset() const;
325 
327  virtual int numberOfVerticesRecordOffset(
328  int mineIndex, int wireIndex) const;
329 
332  virtual int numberOfVerticesPaddingOffset() const;
333 
335  virtual int numberOfVerticesPaddingBytes() const;
336 
338  virtual int vertexRecordOffset(int mineIndex, int wireIndex,
339  int vertexIndex) const;
340 
342  virtual int variableDataLength() const;
343 
344 protected:
345 
347  static const int theStaticSize;
348 
349 protected:
350 
352  DtEntityIdentifier myEntityID;
353  DtEntityType myEntityType;
354 
355 };
356 
357 #endif
358 #endif
359 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)