VR-Link API Documentation for HLA 1.3
arealObjStPdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef DtArealObjectStatePdu_H_
00007 #define DtArealObjectStatePdu_H_
00008 
00009 
00010 
00011 
00012 #if DtDIS
00013 
00014 #include <vlutil/vlMachineTypes.h>
00015 #include "hostStructs.h"
00016 #include "dStateMsg.h"
00017 #include <matrix/vlMath.h>
00018 #include "exerciseConn.h"
00019 
00020 #include "packets/arealObjStP.h"
00021 
00022 #include "objectType.h"
00023 
00024 class DT_DLL_VL DtArealObjectStatePdu;
00025 
00026 
00028 typedef void (*DtArealObjectStatePduCb)(
00029    DtArealObjectStatePdu* pdu, void* usr);
00030 
00031 
00036 class DT_DLL_VL DtArealObjectStatePdu : public DtStateMsg
00037 {
00038 
00039 public:
00040 
00042    DtArealObjectStatePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00043    DtArealObjectStatePdu(const DtNetArealObjectStatePdu* initial,
00044       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00045    DtArealObjectStatePdu(const DtArealObjectStatePdu& orig);
00046 
00048    virtual ~DtArealObjectStatePdu();
00049 
00052    static DtPdu* create(const DtNetPacket* initial,
00053       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00054 
00057    static void addCallback(DtExerciseConn* conn,
00058       DtArealObjectStatePduCb cb, void* usr);
00059    static void removeCallback(DtExerciseConn* conn,
00060       DtArealObjectStatePduCb cb, void* usr);
00061 
00063    DtArealObjectStatePdu& operator=(const DtArealObjectStatePdu& orig);
00064 
00066    virtual void setObjectID(const DtEntityIdentifier& id);
00067    virtual const DtEntityIdentifier& objectID() const;
00068 
00070    virtual void setReferencedObjectID(const DtEntityIdentifier& id);
00071    virtual const DtEntityIdentifier& referencedObjectID() const;
00072 
00074    virtual void setUpdateNumber(DtU16 field);
00075    virtual DtU16 updateNumber() const;
00076 
00078    virtual void setForceID(DtForceType force);
00079    virtual DtForceType forceID() const;
00080 
00082    virtual void setModifications(DtU8 value);
00083    virtual DtU8 modifications() const;
00084 
00086    virtual void setModificationsField(
00087       DtModificationField field, bool value);
00088    virtual bool modificationsField(
00089       DtModificationField field) const;
00090 
00092    virtual void setObjectType(const DtSyntheticEnvironmentObjectType& type);
00093    virtual const DtSyntheticEnvironmentObjectType& objectType() const;
00094 
00096    virtual void setAppearance(DtU16 app);
00097    virtual DtU16 appearance() const;
00098 
00100    virtual void setAppearanceAttribute(
00101       DtAppearAttribute attr, DtAppearAttrVal val);
00102    virtual DtAppearAttrVal appearanceAttribute(
00103       DtAppearAttribute attr) const;
00104 
00106    virtual void setSpecificAppearance(DtU32 app);
00107    virtual DtU32 specificAppearance() const;
00108 
00110    virtual void setSpecificAppearanceAttribute(
00111       const DtAppearAttribute attr, const DtAppearAttrVal val);
00112    virtual DtAppearAttrVal specificAppearanceAttribute(
00113       const DtAppearAttribute attr) const;
00114 
00116    virtual bool setNumPoints(DtU16 num);
00117    virtual DtU16 numPoints() const;
00118 
00120    virtual void setRequesterID(const DtSimulationAddress& type);
00121    virtual const DtSimulationAddress& requesterID() const;
00122 
00124    virtual void setReceivingID(const DtSimulationAddress& type);
00125    virtual const DtSimulationAddress& receivingID() const;
00126 
00128    virtual bool setPointLocation(int index,
00129       const DtVector& init);
00130    virtual bool getPointLocation(int index,
00131       DtVector& record) const;
00132 
00134    virtual void printData() const;
00135 
00137    virtual void printDataToStream(std::ostream& stream) const;
00138 
00139 protected:
00140 
00142    virtual DtPduKind internalGetPduKind() const;
00143 
00145    virtual DtNetArealObjectStatePdu* netPduStruct()  const; 
00146 
00149    DtArealObjectStatePdu* self() const; 
00150 
00152    virtual char* var() const;
00153 
00154 protected:
00155 
00157    static const int theStaticSize;
00158 
00159 protected:
00160 
00162    DtEntityIdentifier myEntityID;
00163    DtSyntheticEnvironmentObjectType myObjectType;
00164    DtSimulationAddress mySimulationAddress; 
00165 
00166 };
00167 
00168 #endif
00169 #endif
00170 

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)