15 #include <vl/globalObjectDesignator.h>
17 class DtEntityStateDecoder;
18 class DtEntityStateRepository;
20 namespace MAKVrExchange
23 namespace DtTenaBroker
27 class DtReflectedEntity;
30 typedef void (*DtEntityCallbackFunction)(
31 DtReflectedEntity* obj,
void* userData);
36 class DT_DLL_VLTENA DtReflectedEntity :
public DtReflectedObject
42 typedef DtEntityStateRepository* (*DtStateRepCreator)();
47 DtReflectedEntity(DtExerciseConn* conn);
50 DtReflectedEntity(DtExerciseConn* conn, DtBaseStateRepCreator esrToUse);
53 virtual ~DtReflectedEntity();
56 virtual DtReflectedEntity* next()
const;
60 virtual DtEntityStateRepository* entityStateRep()
const;
63 virtual DtEntityStateRepository* esr()
const;
66 virtual DtReflectedEntity* prev()
const;
70 virtual DtReflectedEntity* wrapNext()
const;
74 virtual DtReflectedEntity* wrapPrev()
const;
77 void removePostUpdateCallback( DtEntityCallbackFunction ,
void* );
80 void addPostUpdateCallback( DtEntityCallbackFunction ,
void* );
83 virtual const DtObjectId& id()
const;
86 virtual const DtGlobalObjectDesignator& globalId()
const;
89 virtual void printDataToStream(std::ostream& str)
const;
92 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
94 static void setUseDeadReckoning(
bool yesNo);
95 static bool useDeadReckoning();
100 DtReflectedEntity(
const DtReflectedEntity& orig);
103 DtReflectedEntity& operator=(
const DtReflectedEntity& orig);
107 static DtStateRepCreator theStateRepCreator;
108 static bool theUseDeadReckoning;
112 inline DtEntityStateRepository* DtReflectedEntity::entityStateRep()
const
114 return (DtEntityStateRepository*) myStateRep;
117 inline DtEntityStateRepository* DtReflectedEntity::esr()
const
119 return (DtEntityStateRepository*) myStateRep;