VR-Link API Documentation for HLA 1.3
dEmittrSysPub.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00010 
00011 #ifndef DtDisEmitterSystemPublisher_H_
00012 #define DtDisEmitterSystemPublisher_H_
00013 
00014 #if DtDIS
00015 
00016 
00017 #include "dObjPub.h"
00018 #include "emitterSysSR.h"
00019 #include "dEmittrSysEnc.h"
00020 #include "dEmittrSysDec.h"
00021 
00022 
00026 class DT_DLL_VL DtEmitterSystemPublisher : public DtObjectPublisher
00027 {
00028 public:
00029 
00031    typedef DtEmitterSystemRepository* (*DtStateRepCreator)();
00032 
00033 public:
00034 
00037    DtEmitterSystemPublisher(
00038       DtEmitterSystemRepository* stateRepToUse,
00039       DtExerciseConn* conn,
00040       const DtObjectId& id = DtObjectId::defaultId());
00041 
00044    DtEmitterSystemPublisher(
00045       DtExerciseConn* conn,
00046       const DtObjectId& id = DtObjectId::defaultId());
00047 
00050    DtEmitterSystemPublisher(
00051       DtExerciseConn* conn,
00052       const char* name,
00053       const DtObjectId& id = DtObjectId::defaultId());
00054 
00056    virtual ~DtEmitterSystemPublisher();
00057 
00058 
00060    virtual void forceUpdate();
00061 
00063    virtual void tick();
00064 
00066    virtual DtEmitterSystemRepository* emitterSystemStateRep();
00067    virtual DtEmitterSystemRepository* esr();
00068 
00070    virtual const DtObjectId& id() const;
00071 
00072    virtual const DtObjectId& localId() const;
00073 
00075    virtual const DtGlobalObjectDesignator& globalId() const;  
00076 
00079    virtual void setBeamAzimuthThreshold(double threshold);
00080 
00082    virtual double beamAzimuthThreshold() const;
00083 
00086    virtual void setBeamElevationThreshold(double threshold);
00087 
00088 
00090    virtual double beamElevationThreshold() const;
00091     
00092 public:
00093 
00095    static void setStateRepCreator(DtStateRepCreator creator);
00096    static DtStateRepCreator stateRepCreator(void);
00097 
00098    static void setClassDfltTimeThreshold(DtTime threshold);
00099 
00100 protected:
00101 
00103    void init( const char* name,
00104              const DtEntityIdentifier& id);
00105 
00107    DtEmitterSystemPublisher(const DtEmitterSystemPublisher& orig);
00108 
00110    DtEmitterSystemPublisher& operator=(const DtEmitterSystemPublisher& orig);
00111 
00112 protected:
00113 
00114    DtObjectId myId;
00115    DtEmitterSystemStateDecoder* myEmitterSystemDecoder;
00116    DtEmitterSystemStateEncoder* myEmitterSystemEncoder;
00117 
00118 
00119 protected:
00120    static DtStateRepCreator theStateRepCreator;
00121    static DtTime            theClassDfltTimeThreshold;
00122    static bool              theClassDfltIsSetFlag;
00123    char *myName;
00124 };
00125 
00126 inline DtEmitterSystemRepository* DtEmitterSystemPublisher::esr()
00127 {
00128    return static_cast<DtEmitterSystemRepository*>(myStateRep);
00129 }
00130 
00131 #endif
00132 #endif
00133 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)