![]() |
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 DtReflectedDesignator_H_ 00008 #define DtReflectedDesignator_H_ 00009 00010 #if DtHLA 00011 00012 #include "designatorSR.h" 00013 #include "hReflectedObj.h" 00014 00019 00022 class DT_DLL_VL DtReflectedDesignator; 00023 typedef void (*DtDesignatorCallbackFunction)( 00024 DtReflectedDesignator* obj, void* userData); 00025 00030 00031 class DT_DLL_VL DtReflectedDesignator : public DtReflectedObject 00032 { 00033 public: 00034 00036 typedef DtDesignatorRepository* (*DtStateRepCreator)(); 00037 00038 public: 00039 00041 DtReflectedDesignator(DtHlaObject* obj, DtExerciseConn* conn); 00042 00044 virtual ~DtReflectedDesignator(); 00045 00047 virtual DtDesignatorRepository* designatorRep() const; 00048 00050 virtual DtDesignatorRepository* dsr() const; 00051 00053 virtual DtReflectedDesignator* next() const; 00054 00056 virtual DtReflectedDesignator* prev() const; 00057 00060 virtual DtReflectedDesignator* wrapNext() const; 00061 00064 virtual DtReflectedDesignator* wrapPrev() const; 00065 00067 virtual void addPostUpdateCallback( 00068 DtDesignatorCallbackFunction cb, void* userData); 00069 00070 virtual void removePostUpdateCallback( 00071 DtDesignatorCallbackFunction cb, void* userData); 00072 00073 public: 00074 00076 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00077 00078 protected: 00079 00081 DtReflectedDesignator(const DtReflectedDesignator& orig); 00082 00084 DtReflectedDesignator& operator=(const DtReflectedDesignator& orig); 00085 00086 protected: 00087 00088 static DtStateRepCreator theStateRepCreator; 00089 }; 00090 00091 inline DtDesignatorRepository* DtReflectedDesignator::designatorRep() const 00092 { 00093 return (DtDesignatorRepository*) myStateRep; 00094 } 00095 00096 inline DtDesignatorRepository* DtReflectedDesignator::dsr() const 00097 { 00098 return (DtDesignatorRepository*) myStateRep; 00099 } 00100 00101 #endif //DtHLA 00102 #endif //DtReflectedDesignator_H_ 00103