VR-Link API Documentation for HLA 1.3
emittrBeamSR.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00009 
00010 #ifndef DtEmitterBeamRepository_H_
00011 #define DtEmitterBeamRepository_H_
00012 
00013 #include "stateRep.h"
00014 #include "hostStructs.h"
00015 #include "eventId.h"
00016 #include <vlpi/disEnums.h>
00017 #include <vlutil/vlList.h>
00018 
00019 #if DtHLA
00020 #include "objDesList.h"
00021 typedef DtGlobalObjectDesignator DtTrackJamDesignator;
00022 typedef DtGlobalObjectDesignatorList DtTrackJamDesignatorList;
00023 #else
00024 #include "tkJmDesLst.h"
00025 #endif
00026 
00027 enum DtBeamType
00028 {
00029    DtRegularBeam = -1,
00030    DtRadarBeam = 1,
00031    DtTrackBeam = 1,
00032    DtJamBeam = 0
00033 };
00034 
00039 
00040 class DT_DLL_VL DtEmitterBeamRepository : public DtStateRepository
00041 {
00042 public:
00043 
00045    DtEmitterBeamRepository();
00046 
00048    virtual ~DtEmitterBeamRepository();
00049 
00051    DtEmitterBeamRepository(const DtEmitterBeamRepository& orig);
00052 
00054    DtEmitterBeamRepository& operator=(
00055       const DtEmitterBeamRepository& orig);
00056 
00058    virtual DtStateRepository* clone(bool copy = false) const; 
00059 
00060 
00062    virtual void setAzimuthCenter(DtFloat32 center);
00063    virtual DtFloat32 azimuthCenter() const;
00064 
00066    virtual void setAzimuthSweep(DtFloat32 sweep);
00067    virtual DtFloat32 azimuthSweep() const;
00068 
00070    virtual void setBeamFunction(DtBeamFunc func);
00071    virtual DtBeamFunc beamFunction() const;
00072 
00074    virtual void setBeamId(DtU8 id);
00075    virtual DtU8 beamId() const;
00076    
00078    virtual void setBeamParameterIndex(DtU16 index);
00079    virtual DtU16 beamParameterIndex() const;
00080 
00082    virtual void setElevationCenter(DtFloat32 center);
00083    virtual DtFloat32 elevationCenter() const;
00084 
00086    virtual void setElevationSweep(DtFloat32 sweep);
00087    virtual DtFloat32 elevationSweep() const;
00088 
00090 #if DtHLA
00091    virtual void setEmittingSystemId(const DtGlobalObjectDesignator& id);
00092    virtual const DtGlobalObjectDesignator& emittingSystemId() const;
00093 #else
00094 
00095 
00096 
00097 
00098    virtual void setEmittingSystemId(int id);
00099    virtual int emittingSystemId() const;
00100 #endif
00101    
00103    virtual void setERP(DtFloat32 erp);
00104    virtual DtFloat32 ERP() const;
00105 
00110    virtual void setEntityId(const DtEntityIdentifier& id);
00111    virtual const DtEntityIdentifier& entityId() const;
00112 
00114    virtual void setEventId(const DtEventId& id);
00115    virtual const DtEventId& eventId() const;
00116 
00118    virtual void setFrequency(DtFloat32 freq);
00119    virtual DtFloat32 frequency() const;
00120    
00122    virtual void setFrequencyRange(DtFloat32 freq);
00123    virtual DtFloat32 frequencyRange() const;
00124    
00126    virtual void setPRF(DtFloat32 prf);
00127    virtual DtFloat32 PRF() const;
00128    
00130    virtual void setPulseWidth(DtFloat32 width);
00131    virtual DtFloat32 pulseWidth() const;
00132 
00134    virtual void setSweepSync(DtFloat32 sync);
00135    virtual DtFloat32 sweepSync() const;
00136 
00138    virtual void setBeamType(DtBeamType flag);
00139    virtual DtBeamType beamType() const;
00140 
00143 
00145    virtual void setJammingModeSequence(DtU32 sequence);
00146    virtual DtU32 jammingModeSequence() const;
00147 
00150    virtual const DtTrackJamDesignatorList& trackJamTargets() const;
00151    virtual DtTrackJamDesignatorList* trackJamTargets();
00152 
00154    virtual void setHighDensity(bool val);
00155    virtual bool highDensity() const;
00156 
00158    virtual void printData() const;
00159 
00161    virtual void printDataToStream(std::ostream& stream) const;
00162 
00163 protected:
00164 
00166    virtual void printTrackJam(std::ostream& stream) const;
00167 
00168 public:
00170    static DtEmitterBeamRepository* create();
00171 
00172 protected:
00174    DtFloat32            myAzimuthCenter;
00175    DtFloat32            myAzimuthSweep;
00176    DtBeamFunc           myBeamFunction;
00177    DtU8                 myBeamId;
00178    DtU16                myBeamParameterIndex;
00179    DtFloat32            myElevationCenter;
00180    DtFloat32            myElevationSweep;
00181 #if DtHLA
00182    DtGlobalObjectDesignator myEmittingSystemId;
00183 #else
00184    DtU8                 myEmittingSystemId;
00185 #endif
00186    DtFloat32            myERP;
00187    DtEntityIdentifier   myEntityId;
00188    DtEventId            myEventId;
00189    DtFloat32            myFrequency;
00190    DtFloat32            myFrequencyRange;
00191    DtFloat32            myPRF;
00192    DtFloat32            myPulseWidth;
00193    DtFloat32            mySweepSync;
00194 
00196    DtU32                myJammingModeSequence;
00197    DtTrackJamDesignatorList myTrackJamTargets;
00198    DtBeamType           myBeamType;
00199    bool            myHighDensity;
00200 };
00201 
00202 #endif   //DtEmitterBeamRepository_H_
00203 

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)