![]() |
VR-Forces 4.0.4 Class Documentation
|
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