![]() |
VR-Link API Documentation for DIS
|
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