VR-Link API Documentation for HLA 1.3
isGroupOfPdu.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 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 

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)