VR-Forces 4.0.4 Class Documentation
include/vrfmodel/emitterComp.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00010 
00011 
00012 #ifndef DtEmitterComponent_H_
00013 #define DtEmitterComponent_H_
00014 
00015 
00016 #include "vrfobjcore/simCmpnt.h"
00017 
00018 class DtString;
00019 class DtSimManager;
00020 class DtSimMessage;
00021 class DtSimBaseRadio;
00022 class DtEmitterBeamRepository;
00023 class DtEmitterPSR;
00024 class DtVrfEmitterSystem;
00025 class DtVrfObjectMessage;
00026 class DtVrfObjectCommunicationInterface;
00027 
00047 #include "vrfmodel/vrfmodelDefines.h"
00048 class DT_DLL_vrfmodel DtEmitterComponent : public DtSimComponent
00049 {
00050 public:
00051 
00054    DtEmitterComponent(const DtString& name, 
00055       DtVrfObject* owner,
00056       DtSimManager* simManager, 
00057       DtComponentDescriptor* desc = 0,
00058       DtReaderWriterRegistry* parentRegistry = 0);
00059 
00061    virtual ~DtEmitterComponent();
00062 
00064    virtual void tick();
00065 
00069    virtual bool tickWhileDestroyed() const;
00070    
00072    bool init();
00073 
00076    virtual DtString type() const;
00077 
00081    static DtSimComponent * creator(const DtString& name, 
00082       DtVrfObject* owner,
00083       DtSimManager* simManager, 
00084       DtComponentDescriptor* desc = 0,
00085       DtReaderWriterRegistry* parentRegistry = 0);
00086 
00088    virtual void registerSetRequestMsgCallbacks();
00089 
00090    static void setEmitterRequestCallback(DtSimMessage* msg, void* usrData);
00091    virtual void processSetEmitterRequestMessage(DtSimMessage* msg);
00092 
00093    static void setRadarModeRequestCallback(DtSimMessage* msg, void* usrData);
00094    virtual void processSetRadarModeRequestMessage(DtSimMessage* msg);
00095   
00096    static void requestRadarModesAdminCallback(const DtVrfObjectMessage* msg, void* usr);
00097    virtual void processRequestRadarModesAdmin(DtString receiver, 
00098                                               DtString sender, 
00099                                               bool isEchelonId, 
00100                                               const DtVrfObjectMessage* msg);
00101 
00102    static void setTargetRequestCallback(DtSimMessage* msg, void* usrData);
00103    virtual void processSetTargetRequestMessage(DtSimMessage* msg);
00104 
00106    virtual void setSystemName(DtEmitterSysName nameEnum);
00107    virtual DtEmitterSysName systemName() const;
00108 
00109    virtual void setSystemFunction(DtEmissionFunc functionEnum);
00110    virtual DtEmissionFunc systemFunction() const;
00111 
00112    virtual void setMountLocation(const DtVector &location);
00113    virtual DtVector mountLocation() const;
00114 
00120    virtual void setTargetingCapable(bool onOff);
00121    virtual bool targetingCapable() const;
00122 
00125    virtual void setOn(bool onOff);
00126    virtual bool on() const;
00127 
00130    virtual void addTrackTarget(const DtGlobalObjectDesignator &globalId);
00131 
00134    virtual void removeTrackTarget(const DtGlobalObjectDesignator &globalId);
00135 
00137    virtual void clearTrackTargets();
00138 
00141    virtual DtEmitterBeamRepository* addBeam(DtU8 id);
00142 
00144    virtual void removeBeam(DtU8 id);
00145 
00148    virtual DtEmitterBeamRepository* beam(DtU8 id = 0);
00149 
00151    virtual int numBeams() const;
00152 
00154    virtual DtList* beamList();
00155 
00161    virtual DtVrfEmitterSystem* emitterSystem();
00162 
00163 protected:
00164    virtual void setRadio(DtSimBaseRadio * radio);
00166    virtual DtSimBaseRadio * radio();
00167 
00169    virtual bool createAndInitEmitterSystem();
00170 
00172    virtual void updateFromDescriptor();
00173 
00179    virtual bool createPSR();
00180 
00181 private:
00183    DtEmitterComponent();
00184 
00186    DtEmitterComponent(const DtEmitterComponent& orig);
00187 
00189    const DtEmitterComponent & operator=(const DtEmitterComponent & orig);
00190 
00191 
00192 protected:
00193    DtSimBaseRadio *      myRadio;
00194    bool myTargetingCapable;
00195    DtVrfEmitterSystem* myEmitterSystem;
00197 
00200    DtEmitterPSR* myProcessState;
00201 
00203    bool myStateRestored;
00204    DtU8 myEmitterSystemId;
00205 };
00206 
00207 #endif
00208 
00209 
00210 

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)