![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef hRefActSonar_H_ 00007 #define hRefActSonar_H_ 00008 00009 #if DtHLA 00010 00014 00015 #include "hReflectedObj.h" 00016 #include "activeSonarSR.h" 00017 00018 class DtReflectedActiveSonar; 00019 00022 typedef void (*DtActiveSonarCallbackFunction)( 00023 DtReflectedActiveSonar* obj, void* userData); 00024 00031 class DT_DLL_VL DtReflectedActiveSonar : public DtReflectedObject 00032 { 00033 public: 00036 typedef DtActiveSonarStateRepository* (*DtStateRepCreator)(); 00037 00038 public: 00040 DtReflectedActiveSonar(DtHlaObject* obj, DtExerciseConn* exConn); 00041 00043 virtual ~DtReflectedActiveSonar(); 00044 00046 virtual DtActiveSonarStateRepository* activeSonarRep() const; 00047 00049 virtual DtActiveSonarStateRepository* asr() const; 00050 00053 virtual DtReflectedActiveSonar* next() const; 00054 00057 virtual DtReflectedActiveSonar* prev() const; 00058 00061 virtual DtReflectedActiveSonar* wrapNext() const; 00062 00065 virtual DtReflectedActiveSonar* wrapPrev() const; 00066 00069 virtual void addPostUpdateCallback( 00070 DtActiveSonarCallbackFunction cb, void* userData); 00071 00074 virtual void removePostUpdateCallback( 00075 DtActiveSonarCallbackFunction cb, void* userData); 00076 00077 public: 00079 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00080 00081 protected: 00083 DtReflectedActiveSonar(const DtReflectedActiveSonar& orig); 00084 00086 DtReflectedActiveSonar& operator=(const DtReflectedActiveSonar& orig); 00087 00088 protected: 00090 static DtStateRepCreator theStateRepCreator; 00091 }; 00092 00093 inline DtActiveSonarStateRepository* DtReflectedActiveSonar::activeSonarRep() const 00094 { 00095 return (DtActiveSonarStateRepository*) myStateRep; 00096 } 00097 00098 inline DtActiveSonarStateRepository* DtReflectedActiveSonar::asr() const 00099 { 00100 return (DtActiveSonarStateRepository*) myStateRep; 00101 } 00102 00103 00104 #endif 00105 #endif