![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 * hPointObjPub.h 00007 *********************************************************************/ 00008 00009 #if DtHLA 00010 00011 #ifndef hPointObjPub_H_ 00012 #define hPointObjPub_H_ 00013 00014 #include "hObjPub.h" 00015 #include "objectType.h" 00016 00020 00021 class DtPointObjectRepository; 00022 00040 00041 class DT_DLL_VL DtPointObjectPublisher : public DtObjectPublisher 00042 { 00043 public: 00044 00047 typedef DtPointObjectRepository* (*DtStateRepCreator)(); 00048 00049 public: 00050 00052 DtPointObjectPublisher( 00053 DtPointObjectRepository *stateRepToUse, 00054 DtExerciseConn* conn, 00055 const char* name = 0, 00056 const DtDDMRegionSet* regionSetToUse = 0); 00057 00059 DtPointObjectPublisher( 00060 RTI::ObjectClassHandle h, 00061 DtExerciseConn* conn, 00062 const char* name = 0, 00063 const DtDDMRegionSet* regionSetToUse = 0); 00064 00066 DtPointObjectPublisher( 00067 const DtSyntheticEnvironmentObjectType& type, 00068 DtExerciseConn* conn, 00069 const char* name = 0, 00070 const DtDDMRegionSet* regionSetToUse = 0); 00071 00073 virtual ~DtPointObjectPublisher(); 00074 00077 virtual DtPointObjectRepository* pointObjectStateRep(); 00078 00080 virtual DtPointObjectRepository* posr(); 00081 00082 public: 00083 00085 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00086 00087 protected: 00088 00090 DtPointObjectPublisher(const DtPointObjectPublisher& orig); 00091 00093 DtPointObjectPublisher& operator= 00094 (const DtPointObjectPublisher& orig); 00095 00096 //Non-virtual method called from constructor. 00097 const char* objectClassNameFromType 00098 (const DtSyntheticEnvironmentObjectType& type); 00099 00100 protected: 00101 00102 static DtStateRepCreator theStateRepCreator; 00103 }; 00104 00105 inline DtPointObjectRepository* 00106 DtPointObjectPublisher::pointObjectStateRep() 00107 { 00108 return (DtPointObjectRepository*) myStateRep; 00109 } 00110 00111 inline DtPointObjectRepository* DtPointObjectPublisher::posr() 00112 { 00113 return (DtPointObjectRepository*) myStateRep; 00114 } 00115 00116 #endif //hPointObjPub_H_ 00117 #endif //DtHLA 00118