![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 #ifndef DtReflectedEnvironmentProcess_H_ 00006 #define DtReflectedEnvironmentProcess_H_ 00007 00008 #if DtHLA 00009 00010 #include "envProcessSR.h" 00011 #include "hReflectedObj.h" 00012 00017 00020 class DT_DLL_VL DtReflectedEnvironmentProcess; 00021 typedef void (*DtEnvironmentProcessCallbackFunction)( 00022 DtReflectedEnvironmentProcess* obj, void* userData); 00023 00031 class DT_DLL_VL DtReflectedEnvironmentProcess : public DtReflectedObject 00032 { 00033 public: 00034 00037 typedef DtEnvironmentProcessRepository* (*DtStateRepCreator)(); 00038 00039 public: 00040 00042 DtReflectedEnvironmentProcess(DtHlaObject* obj, DtExerciseConn* conn); 00043 00045 virtual ~DtReflectedEnvironmentProcess(); 00046 00048 virtual DtEnvironmentProcessRepository* environmentProcessStateRep() const; 00049 00051 virtual DtEnvironmentProcessRepository* epsr() const; 00052 00054 virtual DtReflectedEnvironmentProcess* next() const; 00055 00057 virtual DtReflectedEnvironmentProcess* prev() const; 00058 00061 virtual DtReflectedEnvironmentProcess* wrapNext() const; 00062 00065 virtual DtReflectedEnvironmentProcess* wrapPrev() const; 00066 00068 virtual void addPostUpdateCallback( 00069 DtEnvironmentProcessCallbackFunction cb, void* userData); 00070 00071 virtual void removePostUpdateCallback( 00072 DtEnvironmentProcessCallbackFunction cb, void* userData); 00073 00074 public: 00075 00077 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00078 00079 protected: 00080 00082 DtReflectedEnvironmentProcess(const DtReflectedEnvironmentProcess& orig); 00083 00085 DtReflectedEnvironmentProcess& operator= 00086 (const DtReflectedEnvironmentProcess& orig); 00087 00088 protected: 00089 00090 static DtStateRepCreator theStateRepCreator; 00091 }; 00092 00093 inline DtEnvironmentProcessRepository* 00094 DtReflectedEnvironmentProcess::environmentProcessStateRep() const 00095 { 00096 return (DtEnvironmentProcessRepository*) myStateRep; 00097 } 00098 00099 inline DtEnvironmentProcessRepository* 00100 DtReflectedEnvironmentProcess::epsr() const 00101 { 00102 return (DtEnvironmentProcessRepository*) myStateRep; 00103 } 00104 00105 #endif //DtHLA 00106 #endif //DtReflectedEnvironmentProcess 00107