VR-Link API Documentation for DIS
beamAntRec.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 #ifndef DtBeamAntennaPatternRecord_H_
00006 #define DtBeamAntennaPatternRecord_H_
00007 
00012 
00013 #include <vlpi/disEnums.h>
00014 #include <matrix/vlMath.h>
00015 #include "antPatRec.h"
00016 #include "packets/transmitterP.h"
00017 
00018 struct DT_DLL_VL DtNetBeamAntennaPatternRecord;
00019 
00029 class DT_DLL_VL DtBeamAntennaPatternRecord : public DtAntennaPatternRecord
00030 {
00031 public:
00032 
00034    DtBeamAntennaPatternRecord();
00035 
00037    DtBeamAntennaPatternRecord(const DtBeamAntennaPatternRecord& orig);
00038 
00040    virtual ~DtBeamAntennaPatternRecord();
00041 
00043    DtBeamAntennaPatternRecord& operator=(
00044       const DtBeamAntennaPatternRecord& orig);
00045 
00047    DtBeamAntennaPatternRecord(const DtAntennaPatternRecord& orig);
00048 
00050    virtual void setAngles(const DtTaitBryan &angles);
00051    virtual const DtTaitBryan &angles() const;
00052 
00054    virtual void setBeamwidth(DtFloat32 azimuth, 
00055       DtFloat32 elevation);
00056 
00058    virtual DtFloat32 azimuthBeamwidth() const;
00059 
00061    virtual DtFloat32 elevationBeamwidth() const;
00062 
00064    virtual void setReferenceSystem(const DtReferenceSys sys);
00065    virtual DtReferenceSys referenceSystem() const;
00066 
00068    virtual void setElectricField(DtFloat32 z, DtFloat32 x);
00069 
00071    virtual DtFloat32 electricFieldZ() const;
00072 
00074    virtual DtFloat32 electricFieldX() const;
00075    
00077    virtual void setPhase(DtFloat32 phase);
00078    virtual DtFloat32 phase() const;   
00079 
00081    virtual void printData() const;
00082    virtual void printDataToStream(std::ostream& stream) const;
00083    
00085    virtual DtAntennaPatternRecord* clone() const;
00086 
00088    virtual void setFromNet(const void* net, int size);
00089 
00091    virtual const void* netRep(int* size = NULL) const;
00092 
00094    virtual int netSize() const;
00095 
00097    virtual void setFromNetBeam(const DtNetBeamAntennaPatternRecord& net);
00098 
00101    virtual void setFromNet(const DtNetBeamAntennaPatternRecord& net);
00102 
00104    virtual const DtNetBeamAntennaPatternRecord& netBeam() const;
00105 
00108    virtual const DtNetBeamAntennaPatternRecord& networkRepresentation() const;
00109 
00110 protected:
00111    DtTaitBryan    myBeamDirection;
00112    DtFloat32      myAzimuthBandwidth;
00113    DtFloat32      myElevationBeamwidth;
00114    DtReferenceSys myReferenceSystem;
00115    DtFloat32      myEz;
00116    DtFloat32      myEx;
00117    DtFloat32      myPhase;
00118 
00119    DtNetBeamAntennaPatternRecord myNetBeam;
00120 };
00121 
00122 inline const DtNetBeamAntennaPatternRecord& 
00123    DtBeamAntennaPatternRecord::networkRepresentation() const
00124 {
00125    return netBeam();
00126 }
00127 
00128 inline void DtBeamAntennaPatternRecord::setFromNet(
00129    const DtNetBeamAntennaPatternRecord& net)
00130 {
00131    setFromNetBeam(net);
00132 }
00133 
00134 #endif   //DtBeamAntennaPatternRecord_H_
00135 

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)