![]() |
VR-Link API Documentation for HLA 1.3
|
00001 //******************************************************************** 00004 //******************************************************************** 00005 //******************************************************************** 00007 //******************************************************************** 00008 00009 #ifndef tEntityPub_H_ 00010 #define tEntityPub_H_ 00011 00012 #if DtTENA 00013 00014 #include "tObjPub.h" 00015 #include "objectId.h" 00016 00020 00021 class DT_DLL_VL DtExerciseConn; 00022 class DT_DLL_VL DtEntityStateRepository; 00023 class DT_DLL_VL DtEntityStateEncoder; 00024 class DT_DLL_VL DtEntityStateDecoder; 00025 class DT_DLL_VL DtTenaServantObject; 00026 00027 00032 class DT_DLL_VL DtEntityPublisher : public DtObjectPublisher 00033 { 00034 public: 00036 typedef DtEntityStateRepository* (*DtStateRepCreator)(); 00037 00038 public: 00043 static const DtEntityType& guiseSameAsType(); 00044 00045 public: 00048 DtEntityPublisher( 00049 const DtEntityType& type, 00050 DtExerciseConn* conn, 00051 const DtObjectId& id = DtObjectId::defaultId()); 00052 00058 DtEntityPublisher( 00059 const DtEntityType& entType, 00060 DtExerciseConn* conn, 00061 DtDeadReckonTypes algorithm, 00062 DtForceType forceId, 00063 const DtEntityType& guise = guiseSameAsType(), 00064 const DtObjectId& id = DtObjectId::defaultId()); 00065 00067 virtual ~DtEntityPublisher(); 00068 00071 virtual bool tick(); 00072 00074 DtEntityStateRepository* entityStateRep(); 00075 00077 virtual DtEntityStateRepository* esr(); 00078 00083 virtual void setUseDRThresholding(bool yesNo); 00084 00086 virtual bool useDRThresholding() const; 00087 00090 virtual DtString interfaceToUse() const; 00091 00092 public: 00093 static void setStateRepCreator(DtStateRepCreator creator); 00094 static DtStateRepCreator stateRepCreator(); 00095 00096 public: 00100 static void setDfltRotationThreshold(double r); 00101 static double dfltRotationThreshold(); 00102 static void setDfltTranslationThreshold(double t); 00103 static double dfltTranslationThreshold(); 00104 00105 00106 protected: 00107 DtEntityPublisher(const DtEntityPublisher& orig); 00108 00109 DtEntityPublisher& operator=(const DtEntityPublisher& orig); 00110 00111 protected: 00114 void initialize(); 00115 00116 protected: 00117 static DtStateRepCreator theStateRepCreator; 00118 bool myUseDRThresholding; 00119 }; 00120 00121 #endif 00122 #endif 00123