VR-Link API Documentation for DIS
leAppearPdu.h
Go to the documentation of this file.
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 

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)