|
WSF
|
#include <WsfEM_Antenna.hpp>


Public Types | |
| enum | ScanMode { cSCAN_FIXED = 0 , cSCAN_AZ = 1 , cSCAN_EL = 2 , cSCAN_AZ_EL = 3 } |
| The scan mode indicates how the beam scans within the field of view. More... | |
| enum | EBS_Mode { cEBS_NONE = 0 , cEBS_AZIMUTH = 1 , cEBS_ELEVATION = 2 , cEBS_BOTH = 3 } |
| Electronic beam steering capabilities. More... | |
| enum | ScanStabilization { cSS_NONE = 0 , cSS_PITCH = 1 , cSS_ROLL = 2 , cSS_BOTH = 3 } |
| The scan stabilization indicates in which axes scan stabilization is performed. More... | |
Public Member Functions | |
| WsfEM_Antenna () | |
| WsfEM_Antenna (const WsfEM_Antenna &aSrc) | |
| WsfEM_Antenna & | operator= (const WsfEM_Antenna &aRhs) |
| ~WsfEM_Antenna () override | |
| WsfArticulatedPart * | GetArticulatedPart () const |
| WsfPlatform * | GetPlatform () const |
| A convenience method to get the platform associated with the antenna. | |
| virtual bool | Initialize (WsfArticulatedPart *aArticulatedPartPtr) |
| virtual bool | ProcessInput (UtInput &aInput) |
| virtual void | UpdatePosition (double aSimTime) |
| const char * | GetScriptClassName () const override |
| Public Member Functions inherited from WsfSinglePlatformObserver | |
| virtual | ~WsfSinglePlatformObserver () |
| virtual void | OnPlatformDeleting (double aSimTime, WsfPlatform *aPlatformPtr) |
| Called before the platform is actually deleted. | |
| virtual void | OnPlatformDeleted (double aSimTime, WsfPlatform *aPlatformPtr) |
| Called just before the platform is removed from the simulation. | |
Field-of-regard methods. | |
| WsfArticulatedPart * | mArticulatedPartPtr |
| double | mOffset [3] |
| The offset of the antenna relative to the articulated part. | |
| double | mPitch |
| The pitch (tilt) angle of the antenna relative to the articulated part. | |
| double | mEBS_AzCosSteeringLimit |
| the cosine of the maximum electronic beam steering angle in azimuth. | |
| double | mEBS_ElCosSteeringLimit |
| the cosine of the maximum electronic beam steering angle in elevation. | |
| double | mEBS_AzLossExponent |
| double | mEBS_ElLossExponent |
| EBS_Mode | mEBS_Mode |
| The degrees-of-freedom for electronic beam steering. | |
| bool | WithinAltitude (double aTgtAlt) |
| bool | WithinFieldOfView (double aThisToTgtAz, double aThisToTgtEl) |
| bool | WithinFieldOfView (WsfPlatform *aTargetPtr, double aEarthRadiusMultiplier, double &aTrueThisToTgtAz, double &aTrueThisToTgtEl, double aApparentThisToTgtLocWCS[3], double &aApparentThisToTgtAz, double &aApparentThisToTgtEl, double aApparentTgtToThisLocWCS[3]) |
| bool | WithinFieldOfView (WsfArticulatedPart *aTargetPtr, double aEarthRadiusMultiplier, double &aTrueThisToTgtAz, double &aTrueThisToTgtEl, double aApparentThisToTgtLocWCS[3], double &aApparentThisToTgtAz, double &aApparentThisToTgtEl, double aApparentTgtToThisLocWCS[3]) |
| bool | WithinFieldOfView (double aTgtLocWCS[3], double aEarthRadiusMultiplier, double &aTrueThisToTgtAz, double &aTrueThisToTgtEl, double aApparentThisToTgtLocWCS[3], double &aApparentThisToTgtAz, double &aApparentThisToTgtEl, double aApparentTgtToThisLocWCS[3]) |
| const WsfFieldOfView * | GetFieldOfView () const |
| bool | DefaultFieldOfView () const |
| void | IndicateNondefaultFieldOfView () |
| bool | WithinRange (double aTgtRange) const |
| void | ConvertAnglesFromPCS_ToSSCS (double &aAz, double &aEl) |
| void | ConvertAnglesFromSSCS_ToPCS (double &aAz, double &aEl) |
| void | OnPlatformUpdated (double aSimTime, WsfPlatform *aPlatformPtr) override |
| void | UpdateLocationLLA () |
| Update the locally cached LLA location of the antenna. | |
| void | UpdateLocationWCS () |
| Update the locally cached WCS location of the antenna. | |
| void | UpdateWCS_ToACS_Transform () |
| void | UpdateWCS_ToNED_Transform () |
| void | UpdateWCS_ToSSCS_Transform () |
Scan limits with respect to the current cue. | |
| ScanMode | mScanMode |
| The degrees-of-freedom for scanning. | |
| ScanStabilization | mScanStabilization |
| The degrees-of-freedom for scan-stabilization. | |
| double | mMinAzScan |
| double | mMaxAzScan |
| double | mMinElScan |
| double | mMaxElScan |
Field of view with respect current cue. | |
This should encompass the scan limits PLUS whatever the beam pattern might pick up when at the physical limits of the scan pattern. | |
| ut::CloneablePtr< WsfFieldOfView > | mFieldOfViewPtr |
| bool | mDefaultFieldOfView |
| Indicates that the used field of view is unaltered from the default state (360 az x 180 el). | |
| double | mMinRange |
| double | mMaxRange |
| double | mMinAlt |
| double | mMaxAlt |
Locally computed location values. | |
These values are invalidated when Update() is called and are recomputed when needed. | |
| double | mLocationWCS [3] |
| The WCS location of the antenna (includes the antenna_height contribution). | |
| double | mOffsetWCS [3] |
| The WCS vector from the articulated part to the antenna. | |
| double | mLat |
| double | mLon |
| double | mAlt |
| double | mPartYaw |
| Used to determine if the uncued articulated part orientation has changed. | |
| double | mPartPitch |
| double | mPartRoll |
| double | mECS_ToACS_Transform [3][3] |
| The transformation from the ECS to the antenna coordinate system (ACS). | |
| double | mWCS_ToACS_Transform [3][3] |
| The transformation from WCS to ACS. | |
| double | mWCS_ToNED_Transform [3][3] |
| The transformation from WCS to NED. | |
| double | mWCS_ToSSCS_Transform [3][3] |
| The transformation from WCS to the stabilized-scan coordinate system (SSCS). | |
| bool | mLocationWCS_IsValid |
| 'true' if the antenna WCS location/offset values are valid. | |
| bool | mLocationLLA_IsValid |
| 'true' if the antenna LLA values are valid. | |
| bool | mECS_ToACS_TransformIsValid |
| bool | mWCS_ToACS_TransformIsValid |
| bool | mWCS_ToNED_TransformIsValid |
| bool | mWCS_ToSSCS_TransformIsValid |
Antenna parameter definition methods. | |
| double | GetHeight () const |
| void | SetHeight (double aHeight) |
| double | GetPitch () const |
| void | SetPitch (double aPitch) |
| void | SetFieldOfView (std::unique_ptr< WsfFieldOfView > aFieldOfViewPtr) |
| void | GetAzimuthFieldOfView (double &aMinAzFOV, double &aMaxAzFOV) const |
| Return the azimuth field of view. | |
| void | SetAzimuthFieldOfView (double aMinAzFOV, double aMaxAzFOV) |
| Set the azimuth field of view. | |
| void | GetElevationFieldOfView (double &aMinElFOV, double &aMaxElFOV) const |
| Return the elevation field of view. | |
| void | SetElevationFieldOfView (double aMinElFOV, double aMaxElFOV) |
| Set the elevation field of view. | |
| void | GetRangeLimits (double &aMinRange, double &aMaxRange) const |
| Get the range limits. | |
| double | GetMaximumRange () const |
| Return the maximum range. | |
| double | GetMinimumRange () const |
| Return the minimum range. | |
| void | SetRangeLimits (double aMinRange, double aMaxRange) |
| void | SetMaximumRange (double aMaxRange) |
| void | SetMinimumRange (double aMinRange) |
| void | GetAltitudeLimits (double &aMinAlt, double &aMaxAlt) const |
| Get the altitude limits. | |
| double | GetMaximumAltitude () const |
| Return the maximum altitude. | |
| double | GetMinimumAltitude () const |
| Return the minimum altitude. | |
| void | SetAltitudeLimits (double aMinAlt, double aMaxAlt) |
| void | SetMaximumAltitude (double aMaxAltitude) |
| void | SetMinimumAltitude (double aMinAltitude) |
| EBS_Mode | GetEBS_Mode () const |
| Get the electronic beam steering capabilities. | |
| void | SetEBS_Mode (EBS_Mode aEBS_Mode) |
| Set the electronic beam steering capabilities. | |
| double | GetEBS_AzLossExponent () const |
| Get the azimuth specific steering loss exponent. | |
| double | GetEBS_ElLossExponent () const |
| Get the elevation specific steering loss exponent. | |
| void | SetEBS_AzLossExponent (double aEBS_LossExponentAz) |
| Set the electronic beam steering exponent specific to azimuth dropoff. | |
| void | SetEBS_ElLossExponent (double aEBS_LossExponentEl) |
| Set the electronic beam steering exponent specific to elevation dropoff. | |
| double | GetEBS_AzCosSteeringLimit () const |
| double | GetEBS_ElCosSteeringLimit () const |
| void | SetEBS_AzCosSteeringLimit (double aEBS_AzCosSteeringLimit) |
| Set the electronic beam steering cosine steering limit in azimuth. | |
| void | SetEBS_ElCosSteeringLimit (double aEBS_ElCosSteeringLimit) |
| Set the electronic beam steering cosine steering limit in elevation. | |
| ScanMode | GetScanMode () const |
| Get the beam scanning mode. | |
| void | SetScanMode (ScanMode aScanMode) |
| Set the beam scanning mode. | |
| ScanStabilization | GetScanStabilization () const |
| Get the scan stabilization mode. | |
| void | SetScanStabilization (ScanStabilization aScanStabilization) |
| Set the scan stabilization mode. | |
| void | GetAzimuthScanLimits (double &aMinAzScan, double &aMaxAzScan) const |
| Get the azimuth scan limits. | |
| double | GetMinimumAzimuthScanLimit () const |
| Return the minimum azimuth scan limit. | |
| double | GetMaximumAzimuthScanLimit () const |
| Return the maximum azimuth scan limit. | |
| void | SetAzimuthScanLimits (double aMinAzScan, double aMaxAzScan) |
| Set the azimuth scan limits. | |
| void | SetMaximumAzimuthScanLimit (double aMaxAzScan) |
| void | SetMinimumAzimuthScanLimit (double aMinAzScan) |
| void | GetElevationScanLimits (double &aMinElScan, double &aMaxElScan) const |
| Get the elevation scan limits. | |
| double | GetMinimumElevationScanLimit () const |
| Return the minimum elevation scan limit. | |
| double | GetMaximumElevationScanLimit () const |
| Return the maximum elevation scan limit. | |
| void | SetElevationScanLimits (double aMinElScan, double aMaxElScan) |
| Set the elevation scan limits. | |
| void | SetMaximumElevationScanLimit (double aMaxElScan) |
| void | SetMinimumElevationScanLimit (double aMinElScan) |
Location and aspect methods. | |
Most of these just pass-through to WsfArticulatedPart (UtEntityPart); | |
| void | ComputeAspect (const double aThisToTgtLocWCS[3], double &aThisToTgtAz, double &aThisToTgtEl) |
| void | ComputeBeamAspect (const double aWCS_ToBeamTransform[3][3], const double aThisToTgtWCS[3], double &aBeamToTgtAz, double &aBeamToTgtEl) const |
| void | ComputeBeamPosition (WsfEM_XmtrRcvr *aXmtrRcvrPtr, double aThisToTgtAz, double aThisToTgtEl, double aWCS_ToBeamTransform[3][3], double &aEBS_Az, double &aEBS_El) |
| double | ComputeBeamSteeringLoss (double aEBS_Az, double aEBS_El) |
| void | ConvertWCS_ToACS (const double aLocationWCS[3], double aLocationACS[3]) |
| Given a WCS location, return the position in antenna coordinates. | |
| void | ConvertWCS_ToNED (const double aLocationWCS[3], double aLocationNED[3]) |
| Given a WCS location, return the NED location relative to the antenna. | |
| void | ConvertNED_ToWCS (const double aLocationNED[3], double aLocationWCS[3]) |
| Given an NED location relative to the antenna, return the WCS location. | |
| void | ConvertWCS_VectorToACS (const double aVectorWCS[3], double aVectorACS[3]) |
| Convert a vector in the WCS frame to the antenna frame. | |
| void | ConvertWCS_VectorToNED (const double aVectorWCS[3], double aVectorNED[3]) |
| Convert a vector in the WCS frame to the antenna NED frame. | |
| void | ConvertNED_VectorToWCS (const double aVectorNED[3], double aVectorWCS[3]) |
| Convert a vector in the antenna NED frame to the WCS frame. | |
| void | GetLocationLLA (double &aLat, double &aLon, double &aAlt) |
| Get the absolute latitude/longitude/altitude of the antenna. | |
| void | GetLocationWCS (double aLocationWCS[3]) |
| void | GetLocationWCS (const double aThisToTgtLocWCS[3], double aTgtLocWCS[3]) |
| void | GetRelativeLocationNED (WsfPlatform *aTargetPtr, double aLocationNED[3]) |
| Return the NED position vector of the target relative to this antenna. | |
| void | GetRelativeLocationNED (const double aTgtLocWCS[3], double aLocationNED[3]) |
| Return the NED position vector of the target relative to this antenna. | |
| void | GetRelativeLocationWCS (double aThisToTgtAz, double aThisToTgtEl, double aThisToTgtRange, double aThisToTgtLocWCS[3]) |
| void | GetRelativeLocationWCS (const double aTgtLocWCS[3], double aThisToTgtLocWCS[3]) |
| void | GetRelativeLocationWCS (WsfPlatform *aTargetPtr, double aThisToTgtLocWCS[3]) |
An object that represents the physical location and orientation of the antenna.
Every transmitter or receiver has an associated 'antenna' which defines several properties about the antenna:
One of these objects can be shared to represent an an antenna that is shared between a transmitter and receiver. The WsfEM_Antenna object itself is also associated with a WsfArticulatedPart, which serves at the geometry source for the antenna.
Note that this does NOT define the gain pattern. The gain pattern (as defined by WsfAntennaPattern) is attached to the transmitter or receiver that represents the 'beam'. A complex system may have multiple 'beams' that are all transmitted or received through the same antenna!
| WsfEM_Antenna::WsfEM_Antenna | ( | ) |
References cEBS_NONE, cSCAN_FIXED, cSS_NONE, mAlt, mArticulatedPartPtr, mDefaultFieldOfView, mEBS_AzCosSteeringLimit, mEBS_AzLossExponent, mEBS_ElCosSteeringLimit, mEBS_ElLossExponent, mEBS_Mode, mECS_ToACS_Transform, mECS_ToACS_TransformIsValid, mFieldOfViewPtr, mLat, mLocationLLA_IsValid, mLocationWCS, mLocationWCS_IsValid, mLon, mMaxAlt, mMaxAzScan, mMaxElScan, mMaxRange, mMinAlt, mMinAzScan, mMinElScan, mMinRange, mOffset, mOffsetWCS, mPartPitch, mPartRoll, mPartYaw, mPitch, mScanMode, mScanStabilization, mWCS_ToACS_Transform, mWCS_ToACS_TransformIsValid, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, mWCS_ToSSCS_Transform, and mWCS_ToSSCS_TransformIsValid.
Referenced by operator=(), and WsfEM_Antenna().
| WsfEM_Antenna::WsfEM_Antenna | ( | const WsfEM_Antenna & | aSrc | ) |
References mAlt, mArticulatedPartPtr, mDefaultFieldOfView, mEBS_AzCosSteeringLimit, mEBS_AzLossExponent, mEBS_ElCosSteeringLimit, mEBS_ElLossExponent, mEBS_Mode, mECS_ToACS_Transform, mECS_ToACS_TransformIsValid, mFieldOfViewPtr, mLat, mLocationLLA_IsValid, mLocationWCS, mLocationWCS_IsValid, mLon, mMaxAlt, mMaxAzScan, mMaxElScan, mMaxRange, mMinAlt, mMinAzScan, mMinElScan, mMinRange, mOffset, mOffsetWCS, mPartPitch, mPartRoll, mPartYaw, mPitch, mScanMode, mScanStabilization, mWCS_ToACS_Transform, mWCS_ToACS_TransformIsValid, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, mWCS_ToSSCS_Transform, mWCS_ToSSCS_TransformIsValid, and WsfEM_Antenna().
|
override |
References mArticulatedPartPtr.
| void WsfEM_Antenna::ComputeAspect | ( | const double | aThisToTgtLocWCS[3], |
| double & | aThisToTgtAz, | ||
| double & | aThisToTgtEl ) |
Given the WCS vector of a target with respect to the antenna, return the azimuth and elevation angles.
| aThisToTgtLocWCS | [input] The WCS vector from the antenna to the target. |
| aThisToTgtAz | [output] The azimuth of the target with respect to the antenna. |
| aThisToTgtEl | [output] The elevation of the target with respect to the antenna. |
References mArticulatedPartPtr.
Referenced by WsfEM_Interaction::BeginOneWayInteraction(), WsfEW_RepeaterEffect::UpdateEffects(), WsfEM_Interaction::WithinFieldOfView(), and WsfFieldOfView::WithinFieldOfView().
| void WsfEM_Antenna::ComputeBeamAspect | ( | const double | aWCS_ToBeamTransform[3][3], |
| const double | aThisToTgtWCS[3], | ||
| double & | aBeamToTgtAz, | ||
| double & | aBeamToTgtEl ) const |
Compute the aspect of target with respect to a beam.
| aWCS_ToBeamTransform | [input] The transformation matrix for converting a WCS vector to the beam coordinate system. |
| aThisToTgtWCS | [input] The relative WCS position of the target with respect to this. |
| aBeamToTgtAz | [output] Azimuth of the target with respect to the beam (radians). |
| aBeamToTgtEl | [output] Elevation of the target with respect to the beam (radians). |
Referenced by WsfEM_FastMultipath::ComputeReflectionGain().
| void WsfEM_Antenna::ComputeBeamPosition | ( | WsfEM_XmtrRcvr * | aXmtrRcvrPtr, |
| double | aThisToTgtAz, | ||
| double | aThisToTgtEl, | ||
| double | aWCS_ToBeamTransform[3][3], | ||
| double & | aEBS_Az, | ||
| double & | aEBS_El ) |
Compute the beam position given a target point.
This routine computes the WCS-to-Beam transformation matrix that represents the instantaneous position of the beam.
| aXmtrRcvrPtr | [input] The transmitter or receiver containing the beam. |
| aThisToTgtAz | [input] The azimuth of the target with respect to the CUED position of the articulated part. |
| aThisToTgtEl | [input] The elevation of the target with respect to the CUED position of the articulated part. |
| aWCS_ToBeamTransform | [output] The transformation matrix that will take a WCS coordinate and create beam coordinate system (BCS) coordinate. |
| aEBS_Az | [output] The amount of electronic steering in azimuth (zero for non-electronically scanned systems). |
| aEBS_El | [output] The amount of electronic steering in elevation (zero for non-electronically scanned systems). |
References cEBS_AZIMUTH, cEBS_ELEVATION, cEBS_NONE, ConvertAnglesFromPCS_ToSSCS(), ConvertAnglesFromSSCS_ToPCS(), cSCAN_AZ, cSCAN_EL, cSS_NONE, WsfEM_XmtrRcvr::GetBeamTilt(), mArticulatedPartPtr, mEBS_Mode, mMaxAzScan, mMaxElScan, mMinAzScan, mMinElScan, mPitch, mScanMode, mScanStabilization, mWCS_ToACS_Transform, mWCS_ToACS_TransformIsValid, and UpdateWCS_ToACS_Transform().
Referenced by WsfEM_Interaction::SetReceiverBeamPosition(), and WsfEM_Interaction::SetTransmitterBeamPosition().
| double WsfEM_Antenna::ComputeBeamSteeringLoss | ( | double | aEBS_Az, |
| double | aEBS_El ) |
Compute the gain multiplier to account for losses due to electronic beam steering.
| aEBS_Az | Beam azimuth with respect to the antenna (in radians). |
| aEBS_El | Beam elevation with respect to the antenna (in radians). |
References cEBS_NONE, mEBS_AzCosSteeringLimit, mEBS_AzLossExponent, mEBS_ElCosSteeringLimit, mEBS_ElLossExponent, and mEBS_Mode.
|
protected |
Convert the part-relative az/el to a stabilized scan az/el.
References mArticulatedPartPtr, mWCS_ToSSCS_Transform, mWCS_ToSSCS_TransformIsValid, and UpdateWCS_ToSSCS_Transform().
Referenced by ComputeBeamPosition(), and WithinFieldOfView().
|
protected |
Convert stabilized scan az/el to part-relative az/el.
References mArticulatedPartPtr, mWCS_ToSSCS_Transform, mWCS_ToSSCS_TransformIsValid, and UpdateWCS_ToSSCS_Transform().
Referenced by ComputeBeamPosition().
| void WsfEM_Antenna::ConvertNED_ToWCS | ( | const double | aLocationNED[3], |
| double | aLocationWCS[3] ) |
Given an NED location relative to the antenna, return the WCS location.
References mArticulatedPartPtr, mLocationWCS, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, and UpdateWCS_ToNED_Transform().
| void WsfEM_Antenna::ConvertNED_VectorToWCS | ( | const double | aVectorNED[3], |
| double | aVectorWCS[3] ) |
Convert a vector in the antenna NED frame to the WCS frame.
References mArticulatedPartPtr, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, and UpdateWCS_ToNED_Transform().
Referenced by WsfEM_ALARM_Attenuation::atmosphere::attenuation(), WsfEM_FastMultipath::ComputeReflectionGain(), wsf::BistaticErrorModel::GetSphericalErrorStdDev(), and WsfTRIMSIM_SensorComponent::UpdateTrack().
| void WsfEM_Antenna::ConvertWCS_ToACS | ( | const double | aLocationWCS[3], |
| double | aLocationACS[3] ) |
Given a WCS location, return the position in antenna coordinates.
References GetRelativeLocationWCS(), mArticulatedPartPtr, mWCS_ToACS_Transform, mWCS_ToACS_TransformIsValid, and UpdateWCS_ToACS_Transform().
| void WsfEM_Antenna::ConvertWCS_ToNED | ( | const double | aLocationWCS[3], |
| double | aLocationNED[3] ) |
Given a WCS location, return the NED location relative to the antenna.
References mArticulatedPartPtr, mLocationWCS, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, and UpdateWCS_ToNED_Transform().
Referenced by WsfOpticalEnvironment::ComputeBackgroundRadiance(), and WsfSensorMode::UpdateTrackPosition().
| void WsfEM_Antenna::ConvertWCS_VectorToACS | ( | const double | aVectorWCS[3], |
| double | aVectorACS[3] ) |
Convert a vector in the WCS frame to the antenna frame.
References mArticulatedPartPtr, mWCS_ToACS_Transform, mWCS_ToACS_TransformIsValid, and UpdateWCS_ToACS_Transform().
| void WsfEM_Antenna::ConvertWCS_VectorToNED | ( | const double | aVectorWCS[3], |
| double | aVectorNED[3] ) |
Convert a vector in the WCS frame to the antenna NED frame.
References mArticulatedPartPtr, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, and UpdateWCS_ToNED_Transform().
Referenced by WsfEM_FastMultipath::ComputeReflectionGain(), wsf::event::utils::PrintEM_BeamData(), wsf::event::utilsCSV::PrintEM_BeamData(), wsf::event::utils::PrintEM_RelXmtrRcvrData(), wsf::event::utilsCSV::PrintEM_RelXmtrRcvrData(), and WsfEOIR_Sensor::Update().
|
inline |
References mDefaultFieldOfView.
|
inline |
|
inline |
References mArticulatedPartPtr.
Referenced by WsfEM_Manager::ActivateRcvr(), WsfEM_Manager::ActivateXmtr(), WsfEM_ALARM_Antenna::antenna::antenna(), WsfPassiveSensor::PassiveMode::AttemptToDetect(), wsf::BistaticErrorModel::GetSphericalErrorStdDev(), WsfLOS_Manager::IsTargetVisible(), WsfLOS_Manager::IsTargetVisible(), WsfLOS_Manager::IsTargetVisibleNow(), WsfLOS_Manager::IsTargetVisibleNow(), WsfLOS_Manager::Moved(), SetFieldOfView(), WsfDisInterface::UpdateBeamFromXmtr(), WsfExtEmission::UpdateBeamLimits(), and WsfMilDisInterface::UpdateXmtrFromBeam().
| void WsfEM_Antenna::GetAzimuthFieldOfView | ( | double & | aMinAzFOV, |
| double & | aMaxAzFOV ) const |
Return the azimuth field of view.
References mFieldOfViewPtr.
Referenced by WsfBeamDirector::GetAzFOV(), WsfLASER_RcvrComponent::Initialize(), WsfEOIR_Sensor::Update(), and WsfExtEmission::UpdateBeamLimits().
|
inline |
Get the azimuth scan limits.
References mMaxAzScan, and mMinAzScan.
Referenced by WsfEM_ALARM_Antenna::antenna::antenna(), WsfPassiveSensor::PassiveBeam::ComputePSOS_Effects(), WsfExtEmission::UpdateBeamLimits(), WsfEW_RPJ_Effect::UpdateEffects(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfEW_FalseTargetEffect::UpdateFT(), WsfEW_FalseTargetEffect::UpdateJammerPulseDensity(), and WsfEW_SimpleFT_Effect::UpdateJammerPulseDensity().
|
inline |
Get the azimuth electronic beam steering cosine steering limit. The cosine steering limit used in computing the electronic steering losses (cos(steering limit angle))
References mEBS_AzCosSteeringLimit.
|
inline |
Get the azimuth specific steering loss exponent.
References mEBS_AzLossExponent.
|
inline |
Get the electronic beam steering cosine steering limit. The cosine steering limit used in computing the electronic steering losses (cos(steering limit angle))
References mEBS_ElCosSteeringLimit.
|
inline |
Get the elevation specific steering loss exponent.
References mEBS_ElLossExponent.
|
inline |
Get the electronic beam steering capabilities.
References mEBS_Mode.
Referenced by WsfEM_ALARM_Antenna::antenna::antenna(), wsf::event::utils::PrintEM_BeamData(), and wsf::event::utilsCSV::PrintEM_BeamData().
| void WsfEM_Antenna::GetElevationFieldOfView | ( | double & | aMinElFOV, |
| double & | aMaxElFOV ) const |
Return the elevation field of view.
References mFieldOfViewPtr.
Referenced by WsfBeamDirector::GetElFOV(), WsfLASER_RcvrComponent::Initialize(), WsfEOIR_Sensor::Update(), and WsfExtEmission::UpdateBeamLimits().
|
inline |
Get the elevation scan limits.
References mMaxElScan, and mMinElScan.
Referenced by WsfEM_ALARM_Antenna::antenna::antenna(), WsfExtEmission::UpdateBeamLimits(), WsfEW_RPJ_Effect::UpdateEffects(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfEW_FalseTargetEffect::UpdateFT(), WsfEW_FalseTargetEffect::UpdateJammerPulseDensity(), and WsfEW_SimpleFT_Effect::UpdateJammerPulseDensity().
|
inline |
References mFieldOfViewPtr.
|
inline |
Get the height of the antenna with respect articulated part to which the antenna is attached.
References mOffset.
Referenced by WsfEM_FastMultipath::ComputePropagationFactor(), Sensor::CreateAndInitialize(), and SAM_LaunchComputerGenerator::Initialize().
| void WsfEM_Antenna::GetLocationLLA | ( | double & | aLat, |
| double & | aLon, | ||
| double & | aAlt ) |
Get the absolute latitude/longitude/altitude of the antenna.
References mAlt, mArticulatedPartPtr, mLat, mLocationLLA_IsValid, mLon, and UpdateLocationLLA().
Referenced by WsfGeometricSensor::GeometricMode::AttemptToDetect(), WsfEM_ALARM_Attenuation::atmosphere::attenuation(), WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginTwoWayInteraction(), WsfEM_Interaction::BeginTwoWayOTH_Interaction(), wsf::comm::ComponentHW_Subsurface::CanSendTo(), WsfEM_ALARM_Geometry::ComputeGeometry(), WsfEM_SurfaceClutter::Initialize(), WsfEM_Interaction::MaskedByHorizon(), WsfEM_Interaction::MaskedByHorizon(), WsfEM_Interaction::MaskedByHorizon(), WsfLOS_Manager::MaskedByTerrain(), WsfLOS_Manager::MaskedByTerrain(), WsfLOS_Manager::MaskedByVegetation(), WsfLOS_Manager::MaskedByVegetation(), WsfEOIR_Sensor::Update(), WsfEW_FalseTargetEffect::UpdateFT(), and WsfFieldOfView::WithinFieldOfView().
| void WsfEM_Antenna::GetLocationWCS | ( | const double | aThisToTgtLocWCS[3], |
| double | aTgtLocWCS[3] ) |
Get the WCS location of a target given its WCS vector relative to the antenna.
| aThisToTgtLocWCS | [input] The WCS vector of the target relative to the antenna. |
| aTgtLocWCS | [output] The WCS location of the target. |
References mArticulatedPartPtr, mLocationWCS, mLocationWCS_IsValid, and UpdateLocationWCS().
| void WsfEM_Antenna::GetLocationWCS | ( | double | aLocationWCS[3] | ) |
Get the absolute WCS location of the antenna.
| aLocationWCS | The WCS location of the antenna. |
References mArticulatedPartPtr, mLocationWCS, mLocationWCS_IsValid, and UpdateLocationWCS().
Referenced by wsf::RadarSensorErrorModel::ApplyMeasurementErrors(), WsfGeometricSensor::GeometricMode::AttemptToDetect(), WsfEW_SensorComponent::AttemptToDetectFalseTarget(), WsfEM_ALARM_Attenuation::atmosphere::attenuation(), WsfSensorResult::BeginGenericInteraction(), WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginOneWayInteraction(), WsfSensorResult::BeginOneWayInteraction(), WsfSensorResult::BeginOneWayInteraction(), WsfEM_Interaction::BeginTwoWayInteraction(), WsfSensorResult::BeginTwoWayInteraction(), WsfEM_Interaction::BeginTwoWayOTH_Interaction(), WsfSensorResult::BeginTwoWayOTH_Interaction(), WsfFalseTargetBlip::GetReferenceJammerToRadarRange(), WsfChaffRadarSignature::GetSignature(), wsf::BistaticErrorModel::GetSphericalErrorStdDev(), WsfDisPlatform::MessageTransmitted(), WsfEW_RepeaterEffect::UpdateEffects(), WsfJamStrobeDetector::UpdateTrack(), WsfSensorMode::UpdateTrack(), UT_DEFINE_SCRIPT_METHOD(), and WsfFieldOfView::WithinFieldOfView().
|
inline |
Return the maximum altitude.
References mMaxAlt.
|
inline |
Return the maximum azimuth scan limit.
References mMaxAzScan.
|
inline |
Return the maximum elevation scan limit.
References mMaxElScan.
|
inline |
Return the maximum range.
References mMaxRange.
Referenced by Sensor::CreateAndInitialize(), WsfPassiveSensor::PassiveMode::Initialize(), WsfEW_SimpleFT_Effect::UpdateEffects(), and WsfEW_FalseTargetEffect::UpdateFT().
|
inline |
Return the minimum altitude.
References mMinAlt.
|
inline |
Return the minimum azimuth scan limit.
References mMinAzScan.
|
inline |
Return the minimum elevation scan limit.
References mMinElScan.
|
inline |
Return the minimum range.
References mMinRange.
|
inline |
Get the antenna pitch (tilt) angle.
References mPitch.
Referenced by WsfEM_ALARM_Antenna::antenna::antenna().
| WsfPlatform * WsfEM_Antenna::GetPlatform | ( | ) | const |
A convenience method to get the platform associated with the antenna.
References mArticulatedPartPtr.
Referenced by WsfEM_ALARM_Antenna::antenna::antenna().
|
inline |
| void WsfEM_Antenna::GetRelativeLocationNED | ( | const double | aTgtLocWCS[3], |
| double | aLocationNED[3] ) |
Return the NED position vector of the target relative to this antenna.
References GetRelativeLocationWCS(), mArticulatedPartPtr, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, and UpdateWCS_ToNED_Transform().
| void WsfEM_Antenna::GetRelativeLocationNED | ( | WsfPlatform * | aTargetPtr, |
| double | aLocationNED[3] ) |
Return the NED position vector of the target relative to this antenna.
References GetRelativeLocationWCS(), mArticulatedPartPtr, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, and UpdateWCS_ToNED_Transform().
| void WsfEM_Antenna::GetRelativeLocationWCS | ( | const double | aTgtLocWCS[3], |
| double | aThisToTgtLocWCS[3] ) |
References mArticulatedPartPtr, mLocationWCS, mLocationWCS_IsValid, and UpdateLocationWCS().
| void WsfEM_Antenna::GetRelativeLocationWCS | ( | double | aThisToTgtAz, |
| double | aThisToTgtEl, | ||
| double | aThisToTgtRange, | ||
| double | aThisToTgtLocWCS[3] ) |
References mArticulatedPartPtr.
Referenced by wsf::RadarSensorErrorModel::ApplyMeasurementErrors(), wsf::StandardSensorErrorModel::ApplyMeasurementErrors(), WsfEOIR_Sensor::EOIR_ErrorModel::ApplyMeasurementErrors(), WsfEW_SensorComponent::AttemptToDetectFalseTarget(), ConvertWCS_ToACS(), GetRelativeLocationNED(), GetRelativeLocationNED(), wsf::BistaticErrorModel::GetSphericalErrorStdDev(), WsfEW_RepeaterEffect::UpdateEffects(), and WsfMilDisInterface::UpdateXmtrFromBeam().
| void WsfEM_Antenna::GetRelativeLocationWCS | ( | WsfPlatform * | aTargetPtr, |
| double | aThisToTgtLocWCS[3] ) |
Get the relative WCS vector from this to the indicated target.
| aTargetPtr | [input] Pointer to the target. |
| aThisToTgtLocWCS | [output] The relative WCS vector from this to the target. |
References mArticulatedPartPtr, mLocationWCS, mLocationWCS_IsValid, and UpdateLocationWCS().
|
inline |
Get the beam scanning mode.
References mScanMode.
Referenced by WsfEM_ALARM_Antenna::antenna::antenna(), WsfEM_SurfaceClutter::ComputeClutterPower(), WsfPassiveSensor::PassiveBeam::ComputePSOS_Effects(), WsfExtEmission::UpdateBeamLimits(), WsfEW_RPJ_Effect::UpdateEffects(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfEW_FalseTargetEffect::UpdateFT(), WsfEW_FalseTargetEffect::UpdateJammerPulseDensity(), WsfEW_SimpleFT_Effect::UpdateJammerPulseDensity(), WsfDisInterface::UpdateSystemFromSensor(), and WsfMilDisInterface::UpdateSystemFromWeapon().
|
inline |
Get the scan stabilization mode.
References mScanStabilization.
|
inlineoverride |
|
inline |
Denote that the antenna's field of view is not default, allowing it to be communicated over the eventpipe. This should only be used during initialization, and will have no effect if set
References mDefaultFieldOfView.
|
virtual |
Initialize the antenna.
| aArticulatedPartPtr | The articulated part to which the antenna is attached. |
References mArticulatedPartPtr, mFieldOfViewPtr, and ok.
|
overrideprotectedvirtual |
This routine is invoked by the WsfPlatform::Update via the WsfSinglePlatformObserver interface. It invalidates coordinate transformations so location and orientation values are recomputed when next requested.
Reimplemented from WsfSinglePlatformObserver.
References mLocationLLA_IsValid, mLocationWCS_IsValid, mWCS_ToACS_TransformIsValid, mWCS_ToNED_TransformIsValid, and mWCS_ToSSCS_TransformIsValid.
| WsfEM_Antenna & WsfEM_Antenna::operator= | ( | const WsfEM_Antenna & | aRhs | ) |
References mAlt, mArticulatedPartPtr, mDefaultFieldOfView, mEBS_AzCosSteeringLimit, mEBS_AzLossExponent, mEBS_ElCosSteeringLimit, mEBS_ElLossExponent, mEBS_Mode, mECS_ToACS_Transform, mECS_ToACS_TransformIsValid, mFieldOfViewPtr, mLat, mLocationLLA_IsValid, mLocationWCS, mLocationWCS_IsValid, mLon, mMaxAlt, mMaxAzScan, mMaxElScan, mMaxRange, mMinAlt, mMinAzScan, mMinElScan, mMinRange, mOffset, mOffsetWCS, mPartPitch, mPartRoll, mPartYaw, mPitch, mScanMode, mScanStabilization, mWCS_ToACS_Transform, mWCS_ToACS_TransformIsValid, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, mWCS_ToSSCS_Transform, mWCS_ToSSCS_TransformIsValid, and WsfEM_Antenna().
|
virtual |
References cEBS_AZIMUTH, cEBS_BOTH, cEBS_ELEVATION, cEBS_NONE, WsfFieldOfViewTypes::Create(), cSCAN_AZ, cSCAN_AZ_EL, cSCAN_EL, cSCAN_FIXED, cSS_BOTH, cSS_NONE, cSS_PITCH, cSS_ROLL, GetAltitudeLimits(), GetRangeLimits(), mDefaultFieldOfView, mEBS_AzCosSteeringLimit, mEBS_ElCosSteeringLimit, mFieldOfViewPtr, SetAltitudeLimits(), SetAzimuthScanLimits(), SetEBS_AzLossExponent(), SetEBS_ElLossExponent(), SetEBS_Mode(), SetElevationScanLimits(), SetHeight(), SetPitch(), SetRangeLimits(), SetScanMode(), and SetScanStabilization().
Referenced by WsfEW_SLB_Effect::ProcessInput(), and WsfEW_SLC_Effect::ProcessInput().
| void WsfEM_Antenna::SetAltitudeLimits | ( | double | aMinAlt, |
| double | aMaxAlt ) |
Set the altitude limits
| aMinAlt | [input] The minimum altitude. |
| aMaxAlt | [input] The maximum altitude. |
References mMaxAlt, and mMinAlt.
Referenced by ProcessInput().
| void WsfEM_Antenna::SetAzimuthFieldOfView | ( | double | aMinAzFOV, |
| double | aMaxAzFOV ) |
| void WsfEM_Antenna::SetAzimuthScanLimits | ( | double | aMinAzScan, |
| double | aMaxAzScan ) |
|
inline |
Set the electronic beam steering cosine steering limit in azimuth.
References mEBS_AzCosSteeringLimit.
Referenced by AntennaPlotFunction::Execute().
|
inline |
Set the electronic beam steering exponent specific to azimuth dropoff.
References mEBS_AzLossExponent.
Referenced by AntennaPlotFunction::Execute(), and ProcessInput().
|
inline |
Set the electronic beam steering cosine steering limit in elevation.
References mEBS_ElCosSteeringLimit.
Referenced by AntennaPlotFunction::Execute().
|
inline |
Set the electronic beam steering exponent specific to elevation dropoff.
References mEBS_ElLossExponent.
Referenced by AntennaPlotFunction::Execute(), and ProcessInput().
|
inline |
Set the electronic beam steering capabilities.
References mEBS_Mode.
Referenced by AntennaPlotFunction::Execute(), and ProcessInput().
| void WsfEM_Antenna::SetElevationFieldOfView | ( | double | aMinElFOV, |
| double | aMaxElFOV ) |
Set the elevation field of view.
References mFieldOfViewPtr.
Referenced by UT_DEFINE_SCRIPT_METHOD().
| void WsfEM_Antenna::SetElevationScanLimits | ( | double | aMinElScan, |
| double | aMaxElScan ) |
| void WsfEM_Antenna::SetFieldOfView | ( | std::unique_ptr< WsfFieldOfView > | aFieldOfViewPtr | ) |
Set the field of view on the antenna.
| aFieldOfViewPtr | The new field of view object to be used by the antenna. |
References GetArticulatedPart(), and mFieldOfViewPtr.
Referenced by UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), and UT_DEFINE_SCRIPT_METHOD().
| void WsfEM_Antenna::SetHeight | ( | double | aHeight | ) |
Set the height of the antenna with respect to the host articulated part.
| aHeight | Offset of the antenna with respect to the articulated part to which it is attached. |
References mOffset.
Referenced by ProcessInput().
|
inline |
References mMaxAlt.
|
inline |
References mMaxAzScan.
|
inline |
References mMaxElScan.
|
inline |
References mMaxRange.
|
inline |
References mMinAlt.
|
inline |
References mMinAzScan.
|
inline |
References mMinElScan.
|
inline |
References mMinRange.
| void WsfEM_Antenna::SetPitch | ( | double | aPitch | ) |
Set the antenna pitch (tilt) angle with respect to the host articulated part.
| aPitch | the antenna pitch angle with respect to the host articulated part (radians). |
References mECS_ToACS_TransformIsValid, mPitch, and mWCS_ToACS_TransformIsValid.
Referenced by ProcessInput().
| void WsfEM_Antenna::SetRangeLimits | ( | double | aMinRange, |
| double | aMaxRange ) |
Set the range limits
| aMinRange | [input] The minimum range. |
| aMaxRange | [input] The maximum range. |
References mMaxRange, and mMinRange.
Referenced by ProcessInput(), and UT_DEFINE_SCRIPT_METHOD().
|
inline |
|
inline |
|
protected |
Update the locally cached LLA location of the antenna.
References mAlt, mLat, mLocationLLA_IsValid, mLocationWCS, mLocationWCS_IsValid, mLon, and UpdateLocationWCS().
Referenced by GetLocationLLA(), UpdateWCS_ToNED_Transform(), and WithinAltitude().
|
protected |
Update the locally cached WCS location of the antenna.
References mArticulatedPartPtr, mLocationWCS, mLocationWCS_IsValid, mOffset, and mOffsetWCS.
Referenced by GetLocationWCS(), GetLocationWCS(), GetRelativeLocationWCS(), GetRelativeLocationWCS(), and UpdateLocationLLA().
|
virtual |
Update the state of the antenna to represent its position at the indicated time.
| aSimTime | The current simulation time. |
References mArticulatedPartPtr.
|
protected |
References mArticulatedPartPtr, mECS_ToACS_Transform, mECS_ToACS_TransformIsValid, mPartPitch, mPartRoll, mPartYaw, mPitch, mWCS_ToACS_Transform, and mWCS_ToACS_TransformIsValid.
Referenced by ComputeBeamPosition(), ConvertWCS_ToACS(), and ConvertWCS_VectorToACS().
|
protected |
References mAlt, mLat, mLocationLLA_IsValid, mLon, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, and UpdateLocationLLA().
Referenced by ConvertNED_ToWCS(), ConvertNED_VectorToWCS(), ConvertWCS_ToNED(), ConvertWCS_VectorToNED(), GetRelativeLocationNED(), and GetRelativeLocationNED().
|
protected |
Update the world to stabilized scan coordinate system transform (WCS->SSCS).
References cSS_BOTH, cSS_PITCH, cSS_ROLL, mArticulatedPartPtr, mScanStabilization, mWCS_ToSSCS_Transform, mWCS_ToSSCS_TransformIsValid, and platformPtr.
Referenced by ConvertAnglesFromPCS_ToSSCS(), and ConvertAnglesFromSSCS_ToPCS().
| bool WsfEM_Antenna::WithinAltitude | ( | double | aTgtAlt | ) |
Is the target altitude with the relative altitude limits?
| aTgtAlt | [input] Altitude of the target (meters). |
References mAlt, mArticulatedPartPtr, mLocationLLA_IsValid, mMaxAlt, mMinAlt, and UpdateLocationLLA().
Referenced by WsfGeometricSensor::GeometricMode::AttemptToDetect(), WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginTwoWayInteraction(), and WsfEM_Interaction::BeginTwoWayOTH_Interaction().
| bool WsfEM_Antenna::WithinFieldOfView | ( | double | aTgtLocWCS[3], |
| double | aEarthRadiusMultiplier, | ||
| double & | aTrueThisToTgtAz, | ||
| double & | aTrueThisToTgtEl, | ||
| double | aApparentThisToTgtLocWCS[3], | ||
| double & | aApparentThisToTgtAz, | ||
| double & | aApparentThisToTgtEl, | ||
| double | aApparentTgtToThisLocWCS[3] ) |
Compute azimuth and elevation of the target and determine if it is within the field of view.
This method computes the azimuth and elevation angles for a target. The 'true' values are computed using the actual geometric coordinates. The 'apparent' values are those computed using the 'Earth Radius Multiplier', which simulates the effects of atmospheric refraction.
| aTgtLocWCS | [input] A target WCS position. |
| aEarthRadiusMultiplier | [input] A scale factor to be applied to the Earth's radius to simulate the effect of atmospheric refraction. |
| aTrueThisToTgtAz | [output] The true (geometric) azimuth of the target with respect to the antenna coordinate system (radians). |
| aTrueThisToTgtEl | [output] The true (geometric) elevation of the target with respect to the antenna coordinate system (radians). |
| aApparentThisToTgtLocWCS | [output] The WCS vector from the antenna to the apparent position of the target (meters). |
| aApparentThisToTgtAz | [output] The azimuth of the apparent target with respect to the antenna coordinate system (radians). |
| aApparentThisToTgtEl | [output] The elevation of the apparent target with respect to the antenna coordinate system (radians). |
| aApparentTgtToThisLocWCS | [output] The WCS vector from the target to the apparent position of the antenna (meters). |
References mArticulatedPartPtr, and mFieldOfViewPtr.
| bool WsfEM_Antenna::WithinFieldOfView | ( | double | aThisToTgtAz, |
| double | aThisToTgtEl ) |
Is the target within the field-of-view?
| aThisToTgtAz | [input] Azimuth of the target with respect to the device (radians). |
| aThisToTgtEl | [input] Elevation of the target with respect to the device (radians). |
References ConvertAnglesFromPCS_ToSSCS(), cSS_NONE, mArticulatedPartPtr, mFieldOfViewPtr, and mScanStabilization.
Referenced by UT_DEFINE_SCRIPT_METHOD(), WsfEM_Interaction::WithinFieldOfView(), WsfRF_Jammer::WithinFieldOfView(), WsfRF_Jammer::WithinFieldOfView(), WsfSensor::WithinFieldOfView(), WsfSensor::WithinFieldOfView(), WsfWeapon::WithinFieldOfView(), and WsfWeapon::WithinFieldOfView().
| bool WsfEM_Antenna::WithinFieldOfView | ( | WsfArticulatedPart * | aArticulatedPartPtr, |
| double | aEarthRadiusMultiplier, | ||
| double & | aTrueThisToTgtAz, | ||
| double & | aTrueThisToTgtEl, | ||
| double | aApparentThisToTgtLocWCS[3], | ||
| double & | aApparentThisToTgtAz, | ||
| double & | aApparentThisToTgtEl, | ||
| double | aApparentTgtToThisLocWCS[3] ) |
Compute azimuth and elevation of the target and determine if it is within the field of view.
This method computes the azimuth and elevation angles for a target. The 'true' values are computed using the actual geometric coordinates. The 'apparent' values are those computed using the 'Earth Radius Multiplier', which simulates the effects of atmospheric refraction.
| aArticulatedPartPtr | [input] Pointer to the articulated part. |
| aEarthRadiusMultiplier | [input] A scale factor to be applied to the Earth's radius to simulate the effect of atmospheric refraction. |
| aTrueThisToTgtAz | [output] The true (geometric) azimuth of the target with respect to the antenna coordinate system (radians). |
| aTrueThisToTgtEl | [output] The true (geometric) elevation of the target with respect to the antenna coordinate system (radians). |
| aApparentThisToTgtLocWCS | [output] The WCS vector from the antenna to the apparent position of the target (meters). |
| aApparentThisToTgtAz | [output] The azimuth of the apparent target with respect to the antenna coordinate system (radians). |
| aApparentThisToTgtEl | [output] The elevation of the apparent target with respect to the antenna coordinate system (radians). |
| aApparentTgtToThisLocWCS | [output] The WCS vector from the target to the apparent position of the antenna (meters). |
References mFieldOfViewPtr.
| bool WsfEM_Antenna::WithinFieldOfView | ( | WsfPlatform * | aTargetPtr, |
| double | aEarthRadiusMultiplier, | ||
| double & | aTrueThisToTgtAz, | ||
| double & | aTrueThisToTgtEl, | ||
| double | aApparentThisToTgtLocWCS[3], | ||
| double & | aApparentThisToTgtAz, | ||
| double & | aApparentThisToTgtEl, | ||
| double | aApparentTgtToThisLocWCS[3] ) |
Compute azimuth and elevation of the target and determine if it is within the field of view.
This method computes the azimuth and elevation angles for a target. The 'true' values are computed using the actual geometric coordinates. The 'apparent' values are those computed using the 'Earth Radius Multiplier', which simulates the effects of atmospheric refraction.
| aTargetPtr | [input] Pointer to the target. |
| aEarthRadiusMultiplier | [input] A scale factor to be applied to the Earth's radius to simulate the effect of atmospheric refraction. |
| aTrueThisToTgtAz | [output] The true (geometric) azimuth of the target with respect to the antenna coordinate system (radians). |
| aTrueThisToTgtEl | [output] The true (geometric) elevation of the target with respect to the antenna coordinate system (radians). |
| aApparentThisToTgtLocWCS | [output] The WCS vector from the antenna to the apparent position of the target (meters). |
| aApparentThisToTgtAz | [output] The azimuth of the apparent target with respect to the antenna coordinate system (radians). |
| aApparentThisToTgtEl | [output] The elevation of the apparent target with respect to the antenna coordinate system (radians). |
| aApparentTgtToThisLocWCS | [output] The WCS vector from the target to the apparent position of the antenna (meters). |
References mFieldOfViewPtr.
|
inline |
Is the given range within the range limits.
| aTgtRange | [input] Range to target (meters). |
References mMaxRange, and mMinRange.
Referenced by WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginTwoWayInteraction(), WsfEM_Interaction::BeginTwoWayOTH_Interaction(), and UT_DEFINE_SCRIPT_METHOD().
|
protected |
Referenced by GetLocationLLA(), operator=(), UpdateLocationLLA(), UpdateWCS_ToNED_Transform(), WithinAltitude(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
Referenced by ComputeAspect(), ComputeBeamPosition(), ConvertAnglesFromPCS_ToSSCS(), ConvertAnglesFromSSCS_ToPCS(), ConvertNED_ToWCS(), ConvertNED_VectorToWCS(), ConvertWCS_ToACS(), ConvertWCS_ToNED(), ConvertWCS_VectorToACS(), ConvertWCS_VectorToNED(), GetArticulatedPart(), GetLocationLLA(), GetLocationWCS(), GetLocationWCS(), GetPlatform(), GetRelativeLocationNED(), GetRelativeLocationNED(), GetRelativeLocationWCS(), GetRelativeLocationWCS(), GetRelativeLocationWCS(), Initialize(), operator=(), UpdateLocationWCS(), UpdatePosition(), UpdateWCS_ToACS_Transform(), UpdateWCS_ToSSCS_Transform(), WithinAltitude(), WithinFieldOfView(), WithinFieldOfView(), WsfEM_Antenna(), WsfEM_Antenna(), and ~WsfEM_Antenna().
|
protected |
Indicates that the used field of view is unaltered from the default state (360 az x 180 el).
Referenced by DefaultFieldOfView(), IndicateNondefaultFieldOfView(), operator=(), ProcessInput(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
the cosine of the maximum electronic beam steering angle in azimuth.
Referenced by ComputeBeamSteeringLoss(), GetEBS_AzCosSteeringLimit(), operator=(), ProcessInput(), SetEBS_AzCosSteeringLimit(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The exponent 'n' of cos(x)^n for azimuth component beam losses. For the case when azimuth dropoff are not uniform.
Referenced by ComputeBeamSteeringLoss(), GetEBS_AzLossExponent(), operator=(), SetEBS_AzLossExponent(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
the cosine of the maximum electronic beam steering angle in elevation.
Referenced by ComputeBeamSteeringLoss(), GetEBS_ElCosSteeringLimit(), operator=(), ProcessInput(), SetEBS_ElCosSteeringLimit(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The exponent 'n' of cos(x)^n for elevation component beam losses. For the case when elevation dropoff are not uniform.
Referenced by ComputeBeamSteeringLoss(), GetEBS_ElLossExponent(), operator=(), SetEBS_ElLossExponent(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The degrees-of-freedom for electronic beam steering.
Referenced by ComputeBeamPosition(), ComputeBeamSteeringLoss(), GetEBS_Mode(), operator=(), SetEBS_Mode(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The transformation from the ECS to the antenna coordinate system (ACS).
Referenced by operator=(), UpdateWCS_ToACS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
Referenced by operator=(), SetPitch(), UpdateWCS_ToACS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
Referenced by GetAzimuthFieldOfView(), GetElevationFieldOfView(), GetFieldOfView(), Initialize(), operator=(), ProcessInput(), SetAzimuthFieldOfView(), SetElevationFieldOfView(), SetFieldOfView(), WithinFieldOfView(), WithinFieldOfView(), WithinFieldOfView(), WithinFieldOfView(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
Referenced by GetLocationLLA(), operator=(), UpdateLocationLLA(), UpdateWCS_ToNED_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
'true' if the antenna LLA values are valid.
Referenced by GetLocationLLA(), OnPlatformUpdated(), operator=(), UpdateLocationLLA(), UpdateWCS_ToNED_Transform(), WithinAltitude(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The WCS location of the antenna (includes the antenna_height contribution).
Referenced by ConvertNED_ToWCS(), ConvertWCS_ToNED(), GetLocationWCS(), GetLocationWCS(), GetRelativeLocationWCS(), GetRelativeLocationWCS(), operator=(), UpdateLocationLLA(), UpdateLocationWCS(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
'true' if the antenna WCS location/offset values are valid.
Referenced by GetLocationWCS(), GetLocationWCS(), GetRelativeLocationWCS(), GetRelativeLocationWCS(), OnPlatformUpdated(), operator=(), UpdateLocationLLA(), UpdateLocationWCS(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
Referenced by GetLocationLLA(), operator=(), UpdateLocationLLA(), UpdateWCS_ToNED_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by GetMaximumRange(), GetRangeLimits(), operator=(), SetMaximumRange(), SetRangeLimits(), WithinRange(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by GetMinimumRange(), GetRangeLimits(), operator=(), SetMinimumRange(), SetRangeLimits(), WithinRange(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The offset of the antenna relative to the articulated part.
Referenced by GetHeight(), operator=(), SetHeight(), UpdateLocationWCS(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The WCS vector from the articulated part to the antenna.
Referenced by operator=(), UpdateLocationWCS(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
Referenced by operator=(), UpdateWCS_ToACS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
Referenced by operator=(), UpdateWCS_ToACS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
Used to determine if the uncued articulated part orientation has changed.
Referenced by operator=(), UpdateWCS_ToACS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The pitch (tilt) angle of the antenna relative to the articulated part.
Referenced by ComputeBeamPosition(), GetPitch(), operator=(), SetPitch(), UpdateWCS_ToACS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The degrees-of-freedom for scanning.
Referenced by ComputeBeamPosition(), GetScanMode(), operator=(), SetScanMode(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The degrees-of-freedom for scan-stabilization.
Referenced by ComputeBeamPosition(), GetScanStabilization(), operator=(), SetScanStabilization(), UpdateWCS_ToSSCS_Transform(), WithinFieldOfView(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
The transformation from WCS to ACS.
Referenced by ComputeBeamPosition(), ConvertWCS_ToACS(), ConvertWCS_VectorToACS(), operator=(), UpdateWCS_ToACS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
|
protected |
The transformation from WCS to NED.
Referenced by ConvertNED_ToWCS(), ConvertNED_VectorToWCS(), ConvertWCS_ToNED(), ConvertWCS_VectorToNED(), GetRelativeLocationNED(), GetRelativeLocationNED(), operator=(), UpdateWCS_ToNED_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |
|
protected |
The transformation from WCS to the stabilized-scan coordinate system (SSCS).
Referenced by ConvertAnglesFromPCS_ToSSCS(), ConvertAnglesFromSSCS_ToPCS(), operator=(), UpdateWCS_ToSSCS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().
|
protected |