VR-Link API Documentation for DIS
supEmisEsPdu.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 DtSuppEmisEntStatePdu_H_
00011 #define DtSuppEmisEntStatePdu_H_
00012 
00013 #if DtDIS
00014 
00015 #include <vlutil/vlMachineTypes.h>
00016 #include "hostStructs.h"
00017 #include "stateMsg.h"
00018 #include <matrix/vlMath.h>
00019 
00020 #include "packets/supEmisEsP.h"
00021 
00022 #include "supEmisEsNozz.h"
00023 #include "supEmisEsProp.h"
00024  
00025 
00026 class DT_DLL_VL DtSuppEmisEntStatePdu;
00027 
00029 typedef void (*DtSuppEmisEntStatePduCb)(DtSuppEmisEntStatePdu* pdu, void* usr);
00030 
00031 
00036 
00037 class DT_DLL_VL DtSuppEmisEntStatePdu : public DtStateMsg
00038 {
00039 
00040 public:
00041 
00043    DtSuppEmisEntStatePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00044    DtSuppEmisEntStatePdu(const DtNetSuppEmisEntStatePdu* initial,
00045       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00046    DtSuppEmisEntStatePdu(const DtSuppEmisEntStatePdu& orig);
00047 
00049    virtual ~DtSuppEmisEntStatePdu();
00050 
00052    DtSuppEmisEntStatePdu& operator=(const DtSuppEmisEntStatePdu& orig);
00053 
00055    virtual void setOriginatingEntityID(const DtEntityIdentifier& entity);
00056    virtual const DtEntityIdentifier& originatingEntityID() const;
00057 
00059    virtual void setInfraRedSigRepIndex(DtU16 value);
00060    virtual DtU16 infraRedSigRepIndex() const;
00061 
00063    virtual void setAcousticSigRepIndex(DtU16 value);
00064    virtual DtU16 acousticSigRepIndex() const;
00065 
00067    virtual void setRadarSigRepIndex(DtU16 value);
00068    virtual DtU16 radarSigRepIndex() const;
00069 
00071    virtual bool setNumPropulsionSystems(DtU16 value);
00072    virtual DtU16 numPropulsionSystems() const;
00073 
00075    virtual bool setNumNozzleSystems(DtU16 value);
00076    virtual DtU16 numNozzleSystems() const;
00077 
00080    virtual bool setPropulsionSystem(int index,
00081       const DtPropulsionSystem& record);
00082    virtual bool getPropulsionSystem(int index,
00083       DtPropulsionSystem& record) const;
00084 
00087    virtual bool setNozzleSystem(int index,
00088       const DtVectoringNozzleSystem& record);
00089    virtual bool getNozzleSystem(int index,
00090       DtVectoringNozzleSystem& record) const;
00091 
00093    virtual void printData() const;
00094    virtual void printDataToStream(std::ostream& stream) const;
00095 
00096 public:
00097 
00100    static DtPdu* create(const DtNetPacket* initial,
00101       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00102 
00105    static void addCallback(DtExerciseConn* conn,
00106       DtSuppEmisEntStatePduCb cb, void* usr);
00107    static void removeCallback(DtExerciseConn* conn,
00108       DtSuppEmisEntStatePduCb cb, void* usr);
00109 
00110 protected:
00111 
00113    virtual DtPduKind internalGetPduKind() const;
00114 
00116    virtual DtNetSuppEmisEntStatePdu* netPduStruct()  const; 
00117 
00120    DtSuppEmisEntStatePdu* self() const; 
00121 
00123    virtual char* var() const;
00124 
00126    virtual int propulsionSystemRecordOffset(int recordIndex) const;
00127 
00129    virtual int nozzleSystemRecordOffset(int recordIndex) const;
00130 
00131 protected:
00132 
00134    static const int theStaticSize;
00135 
00136 protected:
00137 
00139    DtEntityIdentifier                myEntityID;
00140 
00141 };
00142 
00143 #endif
00144 #endif
00145 

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)