![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: federatePub.h,v $ $Revision: 1.16 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00010 00011 00012 #ifndef DtMomFederatePublisher_H_ 00013 #define DtMomFederatePublisher_H_ 00014 00015 #include "momPublisher.h" 00016 #include "momNetParam.h" 00017 #include <vlutil/vlTime.h> 00018 00019 class DtMomFederateSR; 00020 class DtMomInspector; 00021 00022 class DT_DLL_LRC DtMomFederatePublisher : public DtMomPublisher 00023 { 00024 public: 00025 00027 DtMomFederatePublisher(DtConnectionMgr* connMgrPtr, DtFomClassMgr* fomPtr, 00028 DtObjectMgr* objMgrPtr, DtMomInspector* servicePtr, 00029 DtFederateHandle fedHandle, int defaultInterval =0); 00030 00032 virtual ~DtMomFederatePublisher(); 00033 00035 virtual void setTiming(unsigned long interval); 00036 00038 virtual void updateInitial(); 00039 00041 virtual void updateTimeConstrained(); 00042 00044 virtual void updateTimeRegulating(); 00045 00047 virtual void updateAsynchronousDelivery(); 00048 00050 virtual void updateFederateState(); 00051 00053 virtual void updateTimeState(); 00054 00056 virtual void updateConveyRegion(); 00057 00059 virtual void updateConveyProducingFederate(); 00060 00062 virtual void updateReportInterval(int newInterval); 00063 00064 00066 virtual void tick(); 00067 00068 protected: 00069 00071 DtMomFederatePublisher(const DtMomFederatePublisher& orig); 00072 00074 DtMomFederatePublisher& operator=(const DtMomFederatePublisher& orig); 00075 00076 protected: 00077 00080 unsigned long myInterval; 00081 00083 MAKRti::DtTime myNextReport; 00084 00085 DtMomFederateSR* myFederateSR; 00086 00088 bool myTimeConstrained; 00089 bool myTimeRegulating; 00090 bool myAsynchronousDelivery; 00091 bool myConveyRegion; 00092 bool myConveyProducingFederate; 00093 DtMomFederateStates myFederateState; 00094 DtMomTimeManagerStates myTimeManagerState; 00095 }; 00096 00097 #endif 00098 #endif