![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef DtLeAppearancePdu_H_ 00008 #define DtLeAppearancePdu_H_ 00009 00013 00014 #if DtDIS 00015 00016 #include <vlutil/vlMachineTypes.h> 00017 #include "hostStructs.h" 00018 #include "dInteraction.h" 00019 #include <matrix/vlMath.h> 00020 #include "exerciseConn.h" 00021 00022 #include "packets/leAppearP.h" 00023 00024 #include "leEntityID.h" 00025 00026 00027 class DT_DLL_VL DtLeAppearancePdu; 00028 00030 typedef void (*DtLeAppearancePduCb)(DtLeAppearancePdu* pdu, void* usr); 00031 00032 00037 00038 00039 class DT_DLL_VL DtLeAppearancePdu : public DtInteraction 00040 { 00041 00042 public: 00043 00045 DtLeAppearancePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00046 DtLeAppearancePdu(const DtNetLeAppearancePdu* initial, 00047 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00048 DtLeAppearancePdu(const DtLeAppearancePdu& orig); 00049 00051 virtual ~DtLeAppearancePdu(); 00052 00054 DtLeAppearancePdu& operator=(const DtLeAppearancePdu& orig); 00055 00057 virtual void setSubProtocol(DtSubProtocol value); 00058 virtual DtSubProtocol subProtocol() const; 00059 00061 virtual void setEntityID(const DtLeEntityID& id); 00062 virtual const DtLeEntityID& entityID() const; 00063 00066 virtual DtU8 appearanceField1() const; 00067 00070 virtual bool appearanceField1Flag(DtLE_AppearanceField1Flag flag) const; 00071 00075 00078 virtual bool getAppearanceField2(DtU8& value) const; 00079 00082 virtual bool getAppearanceField2Flag(DtLE_AppearanceField2Flag flag, 00083 bool& value) const; 00084 00086 virtual void setForceID(DtForceType force); 00087 virtual bool getForceID(DtForceType& force) const; 00088 00090 virtual void setEntityType(const DtEntityType& type); 00091 virtual bool getEntityType(DtEntityType& type) const; 00092 00094 virtual void setAlternativeEntityType(const DtEntityType& type); 00095 virtual bool getAlternativeEntityType(DtEntityType& type) const; 00096 00098 virtual void setMarkingCharacterSet(DtCharacterSet value); 00099 virtual bool getMarkingCharacterSet(DtCharacterSet& value) const; 00100 00102 virtual void setMarkingText(DtU8* dataPtr); 00103 virtual bool getMarkingText(DtU8* dataPtr) const; 00104 00106 virtual void setCapabilities(DtU32 value); 00107 virtual bool getCapabilities(DtU32& value) const; 00108 00110 virtual void setCapability(DtCapability flag, bool value); 00111 virtual bool getCapability(DtCapability flag, bool& value) const; 00112 00114 virtual void setVisualAppearance(DtU32 value); 00115 virtual bool getVisualAppearance(DtU32& value) const; 00116 00118 virtual void setVisualAppearanceAttribute( 00119 DtAppearAttribute attr, DtAppearAttrVal val); 00120 virtual bool getVisualAppearanceAttribute( 00121 DtAppearAttribute attr, DtAppearAttrVal& val); 00122 00124 virtual void setIR_Appearance(DtU32 value); 00125 virtual bool getIR_Appearance(DtU32& value) const; 00126 00128 virtual void setEM_Appearance(DtU32 value); 00129 virtual bool getEM_Appearance(DtU32& value) const; 00130 00132 virtual void setAudioAppearance(DtU32 value); 00133 virtual bool getAudioAppearance(DtU32& value) const; 00134 00136 virtual void printData() const; 00137 00139 virtual void printDataToStream(std::ostream& stream) const; 00140 00142 virtual void printHeader() const; 00143 00145 virtual void printHeaderToStream(std::ostream& stream) const; 00146 00147 public: 00148 00151 static DtPdu* create(const DtNetPacket* initial, 00152 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00153 00156 static void addCallback(DtExerciseConn* conn, 00157 DtLeAppearancePduCb cb, void* usr); 00158 static void removeCallback(DtExerciseConn* conn, 00159 DtLeAppearancePduCb cb, void* usr); 00160 00161 protected: 00162 00164 virtual DtPduKind internalGetPduKind() const; 00165 00167 virtual DtNetLeAppearancePdu* netPduStruct() const; 00168 00171 DtLeAppearancePdu* self() const; 00172 00174 virtual char* var() const; 00175 00177 virtual void setAppearanceField1(DtU8 value); 00178 00180 virtual void setAppearanceField1Flag(DtLE_AppearanceField1Flag flag); 00181 00183 virtual void clearField1Flags(DtLE_AppearanceField1Flag flag); 00184 00186 virtual void setAppearanceField2(DtU8 value); 00187 00189 virtual void setAppearanceField2Flag(DtLE_AppearanceField2Flag flag); 00190 00192 virtual int appearanceField1Offset() const; 00193 virtual int appearanceField2Offset() const; 00194 virtual int forceID_Offset() const; 00195 virtual int entityTypeOffset() const; 00196 virtual int alternativeEntityTypeOffset() const; 00197 virtual int entityMarkingOffset() const; 00198 virtual int capabilitiesOffset() const; 00199 virtual int visualAppearanceOffset() const; 00200 virtual int IR_AppearanceOffset() const; 00201 virtual int EM_AppearanceOffset() const; 00202 virtual int audioAppearanceOffset() const; 00203 00204 protected: 00205 00207 static const int theStaticSize; 00208 00209 protected: 00210 00212 DtLeEntityID myEntityID; 00213 00214 }; 00215 00216 #endif 00217 #endif 00218