VR-Link API Documentation for HLA 1516
linObjStPdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef DtLinearObjectStatePdu_H_
00007 #define DtLinearObjectStatePdu_H_
00008  
00012 
00013 #if DtDIS
00014 
00015 #include <vlutil/vlMachineTypes.h>
00016 #include "hostStructs.h"
00017 #include <matrix/vlMath.h>
00018 #include "stateMsg.h"
00019 
00020 #include "packets/linObjStP.h"
00021 
00022 #include "objectType.h"
00023 
00024 
00025 class DT_DLL_VL DtExerciseConn;
00026 class DT_DLL_VL DtLinearObjectStatePdu;
00027 class DT_DLL_VL DtLinearSegmentParameter;
00028 
00030 typedef void (*DtLinearObjectStatePduCb)(
00031    DtLinearObjectStatePdu* pdu, void* usr);
00032 
00039 class DT_DLL_VL DtLinearObjectStatePdu : public DtStateMsg
00040 {
00041 
00042 public:
00043 
00045    DtLinearObjectStatePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00046    DtLinearObjectStatePdu(const DtNetLinearObjectStatePdu* initial,
00047       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00048    DtLinearObjectStatePdu(const DtLinearObjectStatePdu& orig);
00049 
00051    virtual ~DtLinearObjectStatePdu();
00052 
00054    DtLinearObjectStatePdu& operator=(const DtLinearObjectStatePdu& orig);
00055 
00057    virtual void setObjectID(const DtEntityIdentifier& id);
00058    virtual const DtEntityIdentifier& objectID() const;
00059 
00061    virtual void setReferencedObjectID(const DtEntityIdentifier& id);
00062    virtual const DtEntityIdentifier& referencedObjectID() const;
00063 
00065    virtual void setUpdateNumber(DtU16 field);
00066    virtual DtU16 updateNumber() const;
00067 
00069    virtual void setForceID(DtForceType force);
00070    virtual DtForceType forceID() const;
00071 
00073    virtual bool setNumSegments(DtU8 num);
00074    virtual DtU8 numSegments() const;
00075 
00077    virtual void setRequesterID(const DtSimulationAddress& type);
00078    virtual const DtSimulationAddress& requesterID() const;
00079 
00081    virtual void setReceivingID(const DtSimulationAddress& type);
00082    virtual const DtSimulationAddress& receivingID() const;
00083 
00085    virtual void setObjectType(const DtSyntheticEnvironmentObjectType& type);
00086    virtual const DtSyntheticEnvironmentObjectType& objectType() const;
00087 
00090    virtual bool setLinearSegmentParameter(int index,
00091       const DtLinearSegmentParameter& init);
00092    virtual bool getLinearSegmentParameter(int index,
00093       DtLinearSegmentParameter& record) const;
00094 
00096    virtual void printData() const;
00097 
00099    virtual void printDataToStream(std::ostream& stream) const;
00100 
00101 public:
00102 
00105    static DtPdu* create(const DtNetPacket* initial,
00106       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00107 
00110    static void addCallback(DtExerciseConn* conn,
00111       DtLinearObjectStatePduCb cb, void* usr);
00112    static void removeCallback(DtExerciseConn* conn,
00113       DtLinearObjectStatePduCb cb, void* usr);
00114 
00115 protected:
00116 
00118    virtual DtPduKind internalGetPduKind() const;
00119 
00121    virtual DtNetLinearObjectStatePdu* netPduStruct()  const; 
00122 
00125    DtLinearObjectStatePdu* self() const; 
00126 
00128    virtual char* var() const;
00129 
00130 protected:
00131 
00133    static const int theStaticSize;
00134 
00135 protected:
00136 
00138    DtEntityIdentifier myEntityID;
00139    DtSyntheticEnvironmentObjectType myObjectType;
00140    DtSimulationAddress mySimulationAddress; 
00141 
00142 };
00143 
00144 #endif
00145 #endif
00146 

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)