VR-Link API Documentation for HLA 1516
pointObjStPdu.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 DtPointObjectStatePdu_H_
00011 #define DtPointObjectStatePdu_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 #include "packets/pointObjStP.h"
00020 #include "objectType.h"
00021 
00022 class DT_DLL_VL DtExerciseConn;
00023 class DT_DLL_VL DtPointObjectStatePdu;
00024 
00026 typedef void (*DtPointObjectStatePduCb)(DtPointObjectStatePdu* pdu, void* usr);
00027 
00028 
00033 
00034 class DT_DLL_VL DtPointObjectStatePdu : public DtStateMsg
00035 {
00036 
00037 public:
00038 
00040    DtPointObjectStatePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00041    DtPointObjectStatePdu(const DtNetPointObjectStatePdu* initial,
00042       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00043    DtPointObjectStatePdu(const DtPointObjectStatePdu& orig);
00044 
00046    virtual ~DtPointObjectStatePdu();
00047 
00049    DtPointObjectStatePdu& operator=(const DtPointObjectStatePdu& orig);
00050 
00052    virtual void setObjectID(const DtEntityIdentifier& id);
00053    virtual const DtEntityIdentifier& objectID() const;
00054 
00056    virtual void setReferencedObjectID(const DtEntityIdentifier& id);
00057    virtual const DtEntityIdentifier& referencedObjectID() const;
00058 
00060    virtual void setUpdateNumber(DtU16 field);
00061    virtual DtU16 updateNumber() const;
00062 
00064    virtual void setForceID(DtForceType force);
00065    virtual DtForceType forceID() const;
00066 
00068    virtual void setModifications(DtU8 value);
00069    virtual DtU8 modifications() const;
00070 
00072    virtual void setModificationsField(
00073       DtModificationField field, bool value);
00074    virtual bool modificationsField(
00075       DtModificationField field) const;
00076 
00078    virtual void setObjectType(const DtSyntheticEnvironmentObjectType& type);
00079    virtual const DtSyntheticEnvironmentObjectType& objectType() const;
00080 
00082    virtual void setLocation(const DtVector& coords);
00083    virtual const DtVector& location() const;
00084 
00086    virtual void setOrientation(const DtTaitBryan& orientation);
00087    virtual const DtTaitBryan& orientation() const;
00088 
00090    virtual void setAppearance(DtU16 app);
00091    virtual DtU16 appearance() const;
00092 
00094    virtual void setAppearanceAttribute(
00095       DtAppearAttribute attr, DtAppearAttrVal val);
00096    virtual DtAppearAttrVal appearanceAttribute(
00097       DtAppearAttribute attr) const;
00098 
00100    virtual void setSpecificAppearance(DtU32 app);
00101    virtual DtU32 specificAppearance() const;
00102 
00104    virtual void setSpecificAppearanceAttribute(
00105       const DtAppearAttribute attr, const DtAppearAttrVal val);
00106    virtual DtAppearAttrVal specificAppearanceAttribute(
00107       const DtAppearAttribute attr) const;
00108 
00110    virtual void setRequesterID(const DtSimulationAddress& type);
00111    virtual const DtSimulationAddress& requesterID() const;
00112 
00114    virtual void setReceivingID(const DtSimulationAddress& type);
00115    virtual const DtSimulationAddress& receivingID() const;
00116 
00118    virtual void printData() const;
00119 
00121    virtual void printDataToStream(std::ostream& stream) const;
00122 
00123 public:
00124 
00127    static DtPdu* create(const DtNetPacket* initial,
00128       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00129 
00132    static void addCallback(DtExerciseConn* conn,
00133       DtPointObjectStatePduCb cb, void* usr);
00134    static void removeCallback(DtExerciseConn* conn,
00135       DtPointObjectStatePduCb cb, void* usr);
00136 
00137 protected:
00138 
00140    virtual DtPduKind internalGetPduKind() const;
00141 
00143    virtual DtNetPointObjectStatePdu* netPduStruct()  const; 
00144 
00147    DtPointObjectStatePdu* self() const; 
00148 
00149 protected:
00150 
00152    static const int theStaticSize;
00153 
00154 protected:
00155 
00157    DtEntityIdentifier myEntityID;
00158    DtSyntheticEnvironmentObjectType myObjectType;
00159    DtVector myVector;
00160    DtTaitBryan myEulerAngles;
00161    DtSimulationAddress mySimulationAddress; 
00162 
00163 };
00164 
00165 #endif
00166 #endif
00167 

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)