VR-Forces 4.0.4 Class Documentation
include/vrfmodel/vrfEmitterSystem.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00011 
00012 #ifndef vrfEmitterSystem_H_
00013 #define vrfEmitterSystem_H_
00014 
00015 #include <vlutil/vlList.h>
00016 #include <vlpi/disEnums.h>
00017 #include <vl/globalObjDes.h>
00018 
00019 class DtVrfObject;
00020 class DtEmitterSystemEntry;
00021 class DtVector;
00022 class DtEmitterSystemPublisher;
00023 class DtEmitterBeamRepository;
00024 
00034 #include "vrfmodel/vrfmodelDefines.h"
00035 class DT_DLL_vrfmodel DtVrfEmitterSystem
00036 {
00037 private:
00039    DtVrfEmitterSystem(const DtVrfEmitterSystem& orig);
00041    DtVrfEmitterSystem& operator=(const DtVrfEmitterSystem& orig);
00043    DtVrfEmitterSystem();
00044 
00045 public:
00046    DtVrfEmitterSystem(DtVrfObject* hostEntity);
00047 
00048    virtual ~DtVrfEmitterSystem();
00049 
00051    virtual void tick();
00052    
00054    bool init();
00055 
00056    
00061    virtual void setOn(bool onOff);
00062    virtual bool on() const;
00063 
00066    virtual void setDataFromEmitterSystemEntry(const DtEmitterSystemEntry& entry);
00067 
00070    virtual void setSystemId(DtU8 id);
00071    virtual DtU8 systemId() const;
00072 
00074    virtual void setSystemName(DtEmitterSysName nameEnum);
00075    virtual DtEmitterSysName systemName() const;
00076 
00077    virtual void setSystemFunction(DtEmissionFunc functionEnum);
00078    virtual DtEmissionFunc systemFunction() const;
00079 
00080    virtual void setMountLocation(const DtVector &location);
00081    virtual DtVector mountLocation() const;
00082 
00085    virtual void addTrackTarget(const DtGlobalObjectDesignator &globalId);
00086 
00089    virtual void removeTrackTarget(const DtGlobalObjectDesignator &globalId);
00090 
00092    virtual void clearTrackTargets();
00093 
00096    virtual DtEmitterBeamRepository* addBeam(DtU8 id);
00097 
00099    virtual void removeBeam(DtU8 id);
00100 
00102    virtual void removeAllBeams();
00103 
00106    virtual DtEmitterBeamRepository* beam(DtU8 id = 0);
00107 
00109    virtual int numBeams() const;
00110 
00112    virtual DtList* beamList();
00113 
00114    virtual DtString radarMode() const;
00115 
00117    virtual void setRadarMode(DtString mode, const DtEmitterSystemEntry& entry);
00118 
00119    virtual const DtList* radarModeList(const DtEmitterSystemEntry& entry);
00120 
00121 protected:
00123    virtual bool createPublisher();
00124 
00126    virtual bool initEmitterSystem();
00127 
00130    void purgeOffBeamList();
00131 
00132 protected:
00133    DtEmitterSystemPublisher *myEmitterSysPublisher;
00134    DtVrfObject*              myHostEntity;
00135    bool myOn;
00136    DtString myRadarMode;
00137    
00141    DtList    myOffBeamList;
00142 };
00143 
00144 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)