![]() |
VR-Link API Documentation for HLA Evolved
|
00001 //******************************************************************** 00004 //******************************************************************** 00005 //******************************************************************** 00007 //******************************************************************** 00008 00009 #ifndef tAggPub_H_ 00010 #define tAggPub_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 DtAggregateStateRepository; 00023 class DT_DLL_VL DtTenaServantObject; 00024 00025 00029 class DT_DLL_VL DtAggregatePublisher : public DtObjectPublisher 00030 { 00031 public: 00033 typedef DtAggregateStateRepository* (*DtStateRepCreator)(); 00034 00035 public: 00038 DtAggregatePublisher( 00039 DtExerciseConn* conn, 00040 const DtObjectId& id = DtObjectId::defaultId()); 00041 00043 virtual ~DtAggregatePublisher(); 00044 00047 virtual bool tick(); 00048 00050 virtual DtAggregateStateRepository* aggregateStateRep(); 00051 00053 virtual DtAggregateStateRepository* asr(); 00054 00057 virtual DtString interfaceToUse() const; 00058 00063 virtual void setUseDRThresholding(bool yesNo); 00064 00066 virtual bool useDRThresholding() const; 00067 00068 public: 00069 static void setStateRepCreator(DtStateRepCreator creator); 00070 static DtStateRepCreator stateRepCreator(); 00071 00072 protected: 00073 DtAggregatePublisher(const DtAggregatePublisher& orig); 00074 00075 DtAggregatePublisher& operator=(const DtAggregatePublisher& orig); 00076 00077 protected: 00080 void initialize(); 00081 00082 protected: 00083 static DtStateRepCreator theStateRepCreator; 00084 bool myUseDRThresholding; 00085 }; 00086 00087 #endif 00088 #endif 00089