VR-Link API Documentation for HLA 1.3
mineDataPdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00009 
00010 #ifndef DtMinefieldDataPdu_H_
00011 #define DtMinefieldDataPdu_H_
00012 
00013 #if DtDIS
00014 
00015 #include <vlutil/vlMachineTypes.h>
00016 #include "hostStructs.h"
00017 #include "dInteraction.h"
00018 #include <matrix/vlMath.h>
00019 #include "exerciseConn.h"
00020 
00021 #include "packets/mineDataP.h"
00022 
00023 
00024 class DT_DLL_VL DtMinefieldDataPdu;
00025 
00027 typedef void (*DtMinefieldDataPduCb)(DtMinefieldDataPdu* pdu, void* usr);
00028 
00029 
00033 class DT_DLL_VL DtMinefieldDataPdu : public DtInteraction
00034 {
00035 
00036 public:
00037 
00039    DtMinefieldDataPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00040    DtMinefieldDataPdu(const DtNetMinefieldDataPdu* initial,
00041       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00042    DtMinefieldDataPdu(const DtMinefieldDataPdu& orig);
00043 
00045    virtual ~DtMinefieldDataPdu();
00046 
00048    DtMinefieldDataPdu& operator=(const DtMinefieldDataPdu& orig);
00049 
00051    virtual void setMinefieldID(const DtEntityIdentifier& id);
00052    virtual const DtEntityIdentifier& minefieldID() const;
00053 
00055    virtual void setRequestingEntityID(const DtEntityIdentifier& id);
00056    virtual const DtEntityIdentifier& requestingEntityID() const;
00057 
00059    virtual void setMinefieldSequenceNumber(DtU16 field);
00060    virtual DtU16 minefieldSequenceNumber() const;
00061 
00063    virtual void setRequestID(DtU8 value);
00064    virtual DtU8 requestID() const;
00065 
00067    virtual void setPDU_SequenceNumber(DtU8 value);
00068    virtual DtU8 PDU_SequenceNumber() const;
00069 
00071    virtual void setNumberOfPdus(DtU8 value);
00072    virtual DtU8 numberOfPdus() const;
00073 
00076    virtual bool setNumberOfMines(DtU8 value);
00077    virtual DtU8 numberOfMines() const;
00078 
00081    virtual bool setNumberOfSensorTypes(DtU8 value);
00082    virtual DtU8 numberOfSensorTypes() const;
00083 
00086    virtual void setDataFilter(DtU32 value);
00087    virtual DtU32 dataFilter() const;
00088 
00091    virtual void setDataFilterBit(
00092       DtMinefieldDataFilterField field, bool value);
00093    virtual bool dataFilterBit(DtMinefieldDataFilterField field) const;
00094 
00096    virtual void setMineType(const DtEntityType& value);
00097    virtual const DtEntityType& mineType() const;
00098 
00101    virtual bool setSensorTypeCategory(
00102       int sensorIndex, DtSensorTypeCategory value);
00103    virtual bool getSensorTypeCategory(
00104       int sensorIndex, DtSensorTypeCategory& value) const;
00105 
00108    virtual bool setSensorTypeSubcategory(
00109       int sensorIndex, DtU16 value);
00110    virtual bool getSensorTypeSubcategory(
00111       int sensorIndex, DtU16& value) const;
00112 
00114    virtual bool setMineLocation(int mineIndex, const DtVector& value);
00115    virtual bool getMineLocation(int mineIndex, DtVector& value) const;
00116 
00119    virtual bool setGroundBurialDepthOffset(
00120       int mineIndex, DtFloat32 value);
00121    virtual bool getGroundBurialDepthOffset(
00122       int mineIndex, DtFloat32& value) const;
00123 
00126    virtual bool setWaterBurialDepthOffset(
00127       int mineIndex, DtFloat32 value);
00128    virtual bool getWaterBurialDepthOffset(
00129       int mineIndex, DtFloat32& value) const;
00130 
00133    virtual bool setSnowBurialDepthOffset(
00134       int mineIndex, DtFloat32 value);
00135    virtual bool getSnowBurialDepthOffset(
00136       int mineIndex, DtFloat32& value) const;
00137 
00140    virtual bool setMineOrientation(
00141       int mineIndex, const DtTaitBryan& value);
00142    virtual bool getMineOrientation(
00143       int mineIndex, DtTaitBryan& value) const;
00144 
00147    virtual bool setThermalContrast(int mineIndex, DtFloat32 value);
00148    virtual bool getThermalContrast(int mineIndex, DtFloat32& value) const;
00149 
00152    virtual bool setReflectance(int mineIndex, DtFloat32 value);
00153    virtual bool getReflectance(int mineIndex, DtFloat32& value) const;
00154 
00157    virtual bool setMineEmplacementTime(int mineIndex, DtTime value);
00158    virtual bool getMineEmplacementTime(int mineIndex, DtTime& value) const;
00159 
00161    virtual bool setMineEntityID(int mineIndex, DtU16 value);
00162    virtual bool getMineEntityID(int mineIndex, DtU16& value) const;
00163 
00166    virtual bool setPrimaryFusing(int mineIndex,
00167       DtMinefieldFusing value);
00168    virtual bool getPrimaryFusing(int mineIndex,
00169       DtMinefieldFusing& value) const;
00170 
00173    virtual bool setSecondaryFusing(int mineIndex,
00174       DtMinefieldFusing value);
00175    virtual bool getSecondaryFusing(int mineIndex,
00176       DtMinefieldFusing& value) const;
00177 
00180    virtual bool setAntiHandlingDevice(int mineIndex,
00181       DtMinefieldAntiHandlingDevice value);
00182    virtual bool getAntiHandlingDevice(int mineIndex,
00183       DtMinefieldAntiHandlingDevice& value) const;
00184 
00187    virtual bool setScalarDetectionCoefficient(
00188       int sensorIndex, int mineIndex, DtU8 value);
00189    virtual bool getScalarDetectionCoefficient(
00190       int sensorIndex, int mineIndex, DtU8& value) const;
00191 
00194    virtual bool setMinefieldAlgae(
00195       int mineIndex, DtMinefieldAlgae value);
00196    virtual bool getMinefieldAlgae(
00197       int mineIndex, DtMinefieldAlgae& value) const;
00198 
00201    virtual bool setPaintScheme(
00202       int mineIndex, DtMinefieldPaintScheme value);
00203    virtual bool getPaintScheme(
00204       int mineIndex, DtMinefieldPaintScheme& value) const;
00205 
00208    virtual bool setNumTripWires(int mineIndex, DtU8 num);
00209    virtual bool getNumTripWires(int mineIndex, DtU8& num) const;
00210 
00213    virtual bool setNumVertices(
00214       int mineIndex, int wireIndex, DtU8 num);
00215    virtual bool getNumVertices(
00216       int mineIndex, int wireIndex, DtU8& num) const;
00217 
00220    virtual bool setVertex(int mineIndex, int wireIndex, int vertexIndex,
00221       const DtVector& value);
00222    virtual bool getVertex(int mineIndex, int wireIndex, int vertexIndex,
00223       DtVector& value) const;
00224 
00226    virtual void printData() const;
00227 
00229    virtual void printDataToStream(std::ostream& stream) const;
00230 
00231 public:
00232 
00235    static DtPdu* create(const DtNetPacket* initial,
00236       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00237 
00240    static void addCallback(DtExerciseConn* conn,
00241       DtMinefieldDataPduCb cb, void* usr);
00242    static void removeCallback(DtExerciseConn* conn,
00243       DtMinefieldDataPduCb cb, void* usr);
00244 
00245 protected:
00246 
00248    virtual DtPduKind internalGetPduKind() const;
00249 
00251    virtual DtNetMinefieldDataPdu* netPduStruct() const; 
00252 
00255    DtMinefieldDataPdu* self() const; 
00256 
00258    virtual char* var() const;
00259 
00261    virtual int sensorTypeRecordOffset(int sensorIndex) const;
00262 
00264    virtual int sensorTypePaddingOffset() const;
00265 
00267    virtual int sensorTypePaddingBytes() const;
00268 
00270    virtual int mineLocationRecordOffset(int mineIndex) const;
00271 
00273    virtual int groundBurialDepthRecordOffset(int mineIndex) const;
00274 
00276    virtual int waterBurialDepthRecordOffset(int mineIndex) const;
00277 
00279    virtual int snowBurialDepthRecordOffset(int mineIndex) const;
00280 
00282    virtual int mineOrientationRecordOffset(int mineIndex) const;
00283 
00285    virtual int thermalContrastRecordOffset(int mineIndex) const;
00286 
00288    virtual int reflectanceRecordOffset(int mineIndex) const;
00289 
00291    virtual int mineEmplacementTimeRecordOffset(int mineIndex) const;
00292 
00294    virtual int mineEntityID_RecordOffset(int mineIndex) const;
00295 
00297    virtual int fusingRecordOffset(int mineIndex) const;
00298 
00300    virtual int scalarDetectionCoefficientRecordOffset(
00301       int sensorIndex, int mineIndex) const;
00302 
00304    virtual int paintSchemeRecordOffset(int mineIndex) const;
00305 
00307    virtual int paintSchemePaddingOffset() const;
00308 
00310    virtual int paintSchemePaddingBytes() const;
00311 
00313    virtual int numberOfTripWiresRecordOffset(int mineIndex) const;
00314 
00316    virtual int numberOfTripWiresPaddingOffset() const;
00317 
00319    virtual int numberOfTripWiresPaddingBytes() const;
00320 
00324    virtual int variableDataLengthAfterReset() const;
00325 
00327    virtual int numberOfVerticesRecordOffset(
00328       int mineIndex, int wireIndex) const;
00329 
00332    virtual int numberOfVerticesPaddingOffset() const;
00333 
00335    virtual int numberOfVerticesPaddingBytes() const;
00336 
00338    virtual int vertexRecordOffset(int mineIndex, int wireIndex,
00339       int vertexIndex) const;
00340 
00342    virtual int variableDataLength() const;
00343 
00344 protected:
00345 
00347    static const int theStaticSize;
00348 
00349 protected:
00350 
00352    DtEntityIdentifier myEntityID;
00353    DtEntityType myEntityType;
00354 
00355 };
00356 
00357 #endif
00358 #endif
00359 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)