VR-Link API Documentation for DIS
tReflectedEnt.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00007 #if DtTENA
00008 
00009 #ifndef DtTENAReflectedEntity_H_
00010 #define DtTENAReflectedEntity_H_
00011 
00012 #include "tReflectedObj.h"
00013 #include "globalObjDes.h"
00014 #include "entitySR.h"
00015 
00019 
00020 class DT_DLL_VL DtExerciseConn;
00021 class DT_DLL_VL DtReflectedEntity;
00022 class DT_DLL_VL DtEntityStateDecoder;
00023 
00025 typedef void (*DtEntityCallbackFunction)(
00026    DtReflectedEntity* obj, void* userData);
00027 
00028 
00032 class DT_DLL_VL DtReflectedEntity  : public DtReflectedObject
00033 {
00034 public:
00035 
00038    typedef DtEntityStateRepository* (*DtStateRepCreator)();
00039 
00040 public:
00041 
00043    DtReflectedEntity(DtExerciseConn* conn);
00044 
00046    DtReflectedEntity(DtExerciseConn* conn, DtBaseStateRepCreator esrToUse);
00047 
00049    virtual ~DtReflectedEntity();
00050 
00051 private:
00052 
00054    DtReflectedEntity(const DtReflectedEntity& orig);
00055 
00057    DtReflectedEntity& operator=(const DtReflectedEntity& orig);
00058 
00059 public:
00060    
00062    virtual DtReflectedEntity* next() const;
00063 
00066    virtual DtEntityStateRepository* entityStateRep() const;
00067 
00069    virtual DtEntityStateRepository* esr() const;
00070 
00072    virtual DtReflectedEntity* prev() const;
00073 
00076    virtual DtReflectedEntity* wrapNext() const;
00077 
00080    virtual DtReflectedEntity* wrapPrev() const;
00081 
00083    void removePostUpdateCallback( DtEntityCallbackFunction , void* );
00084 
00086    void addPostUpdateCallback( DtEntityCallbackFunction , void* );
00087 
00089    virtual const DtObjectId& id() const;
00090 
00092    virtual const DtGlobalObjectDesignator& globalId() const;
00093 
00095    virtual void printDataToStream(std::ostream& str) const;
00096 
00097 public:
00099    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00100 
00101    static void setUseDeadReckoning(bool yesNo);
00102    static bool useDeadReckoning();
00103 protected:
00104 
00105    static DtStateRepCreator theStateRepCreator;
00106    static bool theUseDeadReckoning;
00107 
00108 
00109 };
00110 
00111 inline DtEntityStateRepository* DtReflectedEntity::entityStateRep() const
00112 {
00113    return (DtEntityStateRepository*) myStateRep;
00114 }
00115 
00116 inline DtEntityStateRepository* DtReflectedEntity::esr() const
00117 {
00118    return (DtEntityStateRepository*) myStateRep;
00119 }
00120 
00121 
00122 #endif  //! DtReflectedEntity_H_
00123 #endif  //! DtTENA
00124 

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)