![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef hReflPointObj_H_ 00008 #define hReflPointObj_H_ 00009 00010 #if DtHLA 00011 00012 #include "pointObjSR.h" 00013 #include "hReflectedObj.h" 00014 00019 00022 class DT_DLL_VL DtReflectedPointObject; 00023 typedef void (*DtPointObjectCallbackFunction)( 00024 DtReflectedPointObject* obj, void* userData); 00025 00030 00031 class DT_DLL_VL DtReflectedPointObject : public DtReflectedObject 00032 { 00033 public: 00034 00036 typedef DtPointObjectRepository* (*DtStateRepCreator)(); 00037 00038 public: 00039 00041 DtReflectedPointObject(DtHlaObject* obj, DtExerciseConn* conn); 00042 00044 virtual ~DtReflectedPointObject(); 00045 00047 virtual DtPointObjectRepository* pointObjectRep() const; 00048 00050 virtual DtPointObjectRepository* posr() const; 00051 00053 virtual DtReflectedPointObject* next() const; 00054 00056 virtual DtReflectedPointObject* prev() const; 00057 00060 virtual DtReflectedPointObject* wrapNext() const; 00061 00064 virtual DtReflectedPointObject* wrapPrev() const; 00065 00067 virtual void addPostUpdateCallback( 00068 DtPointObjectCallbackFunction cb, void* userData); 00069 00070 virtual void removePostUpdateCallback( 00071 DtPointObjectCallbackFunction cb, void* userData); 00072 00073 public: 00074 00076 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00077 00078 protected: 00079 00081 DtReflectedPointObject(const DtReflectedPointObject& orig); 00082 00084 DtReflectedPointObject& operator=(const DtReflectedPointObject& orig); 00085 00086 protected: 00087 00088 static DtStateRepCreator theStateRepCreator; 00089 }; 00090 00091 inline DtPointObjectRepository* DtReflectedPointObject::pointObjectRep() const 00092 { 00093 return (DtPointObjectRepository*) myStateRep; 00094 } 00095 00096 inline DtPointObjectRepository* DtReflectedPointObject::posr() const 00097 { 00098 return (DtPointObjectRepository*) myStateRep; 00099 } 00100 00101 #endif //DtHLA 00102 #endif //hReflPointObj_H_ 00103