![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef hActSonBmPub_H_ 00008 #define hActSonBmPub_H_ 00009 00010 #if DtHLA 00011 00012 #include "hObjPub.h" 00013 00017 00018 class DT_DLL_VL DtActiveSonarBeamRepository; 00019 00025 class DT_DLL_VL DtActiveSonarBeamPublisher : public DtObjectPublisher 00026 { 00027 public: 00029 typedef DtActiveSonarBeamRepository* (*DtStateRepCreator)(); 00030 00031 00032 public: 00034 DtActiveSonarBeamPublisher( 00035 DtExerciseConn* exConn, 00036 const char* name = 0, 00037 const DtDDMRegionSet* regionSetToUse = 0); 00038 00042 DtActiveSonarBeamPublisher( 00043 DtActiveSonarBeamRepository* stateRepToUse, 00044 DtExerciseConn* exConn, 00045 const char* name = 0, 00046 const DtDDMRegionSet* regionSetToUse = 0); 00047 00049 DtActiveSonarBeamPublisher( 00050 RTI::ObjectClassHandle h, 00051 DtExerciseConn* exConn, 00052 const char* name = 0, 00053 const DtDDMRegionSet* regionSetToUse = 0); 00054 00060 DtActiveSonarBeamPublisher(DtHlaObjectWithStateRep* obj, DtExerciseConn* conn); 00061 00063 virtual ~DtActiveSonarBeamPublisher(); 00064 00066 virtual DtActiveSonarBeamRepository* activeSonarBeamStateRep(); 00067 00069 virtual DtActiveSonarBeamRepository* asr(); 00070 00073 virtual const char* classToUse() const; 00074 00075 public: 00077 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00078 00079 protected: 00081 DtActiveSonarBeamPublisher(const DtActiveSonarBeamPublisher& orig); 00082 00084 DtActiveSonarBeamPublisher& operator=(const DtActiveSonarBeamPublisher& orig); 00085 00086 protected: 00087 static DtStateRepCreator theStateRepCreator; 00088 00089 }; 00090 00091 inline DtActiveSonarBeamRepository* DtActiveSonarBeamPublisher::activeSonarBeamStateRep() 00092 { 00093 return (DtActiveSonarBeamRepository*) myStateRep; 00094 } 00095 00096 inline DtActiveSonarBeamRepository* DtActiveSonarBeamPublisher::asr() 00097 { 00098 return (DtActiveSonarBeamRepository*) myStateRep; 00099 } 00100 00101 #endif 00102 #endif 00103