![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtIsGroupOfPdu_H_ 00011 #define DtIsGroupOfPdu_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/isGroupOfP.h" 00022 00023 #include "gedBasFixWing.h" 00024 #include "gedBasRotWing.h" 00025 #include "gedBasSoldier.h" 00026 #include "gedBasVehicle.h" 00027 #include "gedEnhFixWing.h" 00028 #include "gedEnhRotWing.h" 00029 #include "gedEnhSoldier.h" 00030 #include "gedEnhVehicle.h" 00031 #include "gedLogVehicle.h" 00032 00033 00034 00035 class DT_DLL_VL DtIsGroupOfPdu; 00036 00038 typedef void (*DtIsGroupOfPduCb)(DtIsGroupOfPdu* pdu, void* usr); 00039 00040 00044 00045 00046 class DT_DLL_VL DtIsGroupOfPdu : public DtInteraction 00047 { 00048 00049 public: 00050 00052 DtIsGroupOfPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00053 DtIsGroupOfPdu(const DtNetIsGroupOfPdu* initial, 00054 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00055 DtIsGroupOfPdu(const DtIsGroupOfPdu& orig); 00056 00058 virtual ~DtIsGroupOfPdu(); 00059 00061 DtIsGroupOfPdu& operator=(const DtIsGroupOfPdu& orig); 00062 00064 virtual void setGroupEntityID(const DtEntityIdentifier& id); 00065 virtual const DtEntityIdentifier& groupEntityID() const; 00066 00069 virtual void setCategory(DtGroupedEntityCategory value); 00070 virtual DtGroupedEntityCategory category() const; 00071 00073 virtual bool setNumEntities(DtU8 num); 00074 virtual DtU8 numEntities() const; 00075 00077 virtual void setLattitude(DtFloat64 value); 00078 virtual DtFloat64 lattitude() const; 00079 00081 virtual void setLongitude(DtFloat64 value); 00082 virtual DtFloat64 longitude() const; 00083 00086 virtual bool setBasicFixedWingAircraftRecord(int index, 00087 const DtBasicFixedWingAircraftRecord& init); 00088 virtual bool getBasicFixedWingAircraftRecord(int index, 00089 DtBasicFixedWingAircraftRecord& record) const; 00090 00093 virtual bool setEnhancedFixedWingAircraftRecord(int index, 00094 const DtEnhancedFixedWingAircraftRecord& init); 00095 virtual bool getEnhancedFixedWingAircraftRecord(int index, 00096 DtEnhancedFixedWingAircraftRecord& record) const; 00097 00100 virtual bool setBasicRotorWingAircraftRecord(int index, 00101 const DtBasicRotorWingAircraftRecord& init); 00102 virtual bool getBasicRotorWingAircraftRecord(int index, 00103 DtBasicRotorWingAircraftRecord& record) const; 00104 00107 virtual bool setEnhancedRotorWingAircraftRecord(int index, 00108 const DtEnhancedRotorWingAircraftRecord& init); 00109 virtual bool getEnhancedRotorWingAircraftRecord(int index, 00110 DtEnhancedRotorWingAircraftRecord& record) const; 00111 00114 virtual bool setBasicGroundCombatSoldierRecord(int index, 00115 const DtBasicGroundCombatSoldierRecord& init); 00116 virtual bool getBasicGroundCombatSoldierRecord(int index, 00117 DtBasicGroundCombatSoldierRecord& record) const; 00118 00121 virtual bool setEnhancedGroundCombatSoldierRecord(int index, 00122 const DtEnhancedGroundCombatSoldierRecord& init); 00123 virtual bool getEnhancedGroundCombatSoldierRecord(int index, 00124 DtEnhancedGroundCombatSoldierRecord& record) const; 00125 00128 virtual bool setBasicGroundCombatVehicleRecord(int index, 00129 const DtBasicGroundCombatVehicleRecord& init); 00130 virtual bool getBasicGroundCombatVehicleRecord(int index, 00131 DtBasicGroundCombatVehicleRecord& record) const; 00132 00135 virtual bool setEnhancedGroundCombatVehicleRecord(int index, 00136 const DtEnhancedGroundCombatVehicleRecord& init); 00137 virtual bool getEnhancedGroundCombatVehicleRecord(int index, 00138 DtEnhancedGroundCombatVehicleRecord& record) const; 00139 00142 virtual bool setGroundLogisticsVehicleRecord(int index, 00143 const DtGroundLogisticsVehicleRecord& init); 00144 virtual bool getGroundLogisticsVehicleRecord(int index, 00145 DtGroundLogisticsVehicleRecord& record) const; 00146 00148 virtual void printData() const; 00149 00151 virtual void printDataToStream(std::ostream& stream) const; 00152 00153 public: 00154 00157 static DtPdu* create(const DtNetPacket* initial, 00158 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00159 00162 static void addCallback(DtExerciseConn* conn, 00163 DtIsGroupOfPduCb cb, void* usr); 00164 static void removeCallback(DtExerciseConn* conn, 00165 DtIsGroupOfPduCb cb, void* usr); 00166 00167 protected: 00168 00170 virtual DtPduKind internalGetPduKind() const; 00171 00173 virtual DtNetIsGroupOfPdu* netPduStruct() const; 00174 00177 DtIsGroupOfPdu* self() const; 00178 00180 virtual char* var() const; 00181 00183 virtual int recordSize() const; 00184 00185 protected: 00186 00188 static const int theStaticSize; 00189 00190 protected: 00191 00193 DtEntityIdentifier myEntityID; 00194 00195 }; 00196 00197 #endif 00198 #endif 00199