Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef lgrPublisherInterface_H_
00010 #define lgrPublisherInterface_H_
00011
00012 #include "lgrSim.h"
00013
00014 #ifdef DtHLA
00015 #include <vl/region.h>
00016 #endif
00017
00018 class DtStateMsg;
00019 class DtPdu;
00020
00021 namespace MAKLogger
00022 {
00023 class DtAbsoluteTime;
00024
00027 class DT_DLL_LGRSIM DtLgrPublisherInterface
00028 {
00029 public:
00030
00031 DtLgrPublisherInterface();
00032
00034 virtual ~DtLgrPublisherInterface();
00035
00036 #if DtHLA
00037 virtual void update(const DtStateMsg& msg, double scaling, bool isStatic) = 0;
00038 #endif
00039
00040 #if DtDIS
00041 virtual void update( const DtPdu& pdu, double scaling, bool isStatic, bool sendFlag ) = 0;
00042 #endif
00043
00045 virtual void setExerciseId(unsigned char exerciseId);
00046
00048 virtual unsigned char exerciseId() const;
00049
00050
00052 virtual void sendUpdateAtScaleChangePoint(double oldScale,
00053 double newScale, bool wasStatic, bool isStatic) = 0;
00054
00056 virtual void tick(double scaling, bool isStatic) = 0;
00057
00060 virtual void setSilentFlag(bool silent);
00061
00063 virtual bool silentFlag();
00064
00065 #ifdef DtHLA
00066
00072 virtual bool updateRegion(const DtStateMsg& msg);
00073
00075 virtual void setRegion(const DtDDMRegionSet& region) = 0;
00076
00078 virtual const DtDDMRegionSet& publishingRegions() const = 0;
00079
00082 virtual void setStaticRegionFlag(bool enabled);
00083
00085 virtual bool staticRegionFlag() const;
00086
00089 virtual bool publishingToRegion( DtDDMRegionSP region ) = 0;
00090 #endif
00091
00092 protected:
00093 unsigned char myExerciseId;
00094 bool mySilentFlag;
00095
00096 #ifdef DtHLA
00097 bool myStaticRegionFlag;
00098 #endif
00099 };
00100
00101 }
00102
00103 #endif