WSF
WsfTRIMSIM_SensorComponent Class Reference

#include <WsfTRIMSIM_Processor.hpp>

Inheritance diagram for WsfTRIMSIM_SensorComponent:
Collaboration diagram for WsfTRIMSIM_SensorComponent:

Public Member Functions

 WsfTRIMSIM_SensorComponent ()
 WsfTRIMSIM_SensorComponent (const WsfTRIMSIM_SensorComponent &aSrc)
 ~WsfTRIMSIM_SensorComponent () override=default
WsfTRIMSIM_SensorComponentoperator= (const WsfTRIMSIM_SensorComponent &)=delete
WsfSensorGetSensor () const
WsfPlatformGetPlatform () const
WsfSimulationGetSimulation () const
virtual bool ProcessModeInput (UtInput &aInput, WsfSensorMode &aSensorMode)
virtual bool ProcessBeamInput (UtInput &aInput, WsfSensorBeam &aSensorBeam)
virtual void PlatformAdded (double aSimTime, WsfPlatform *aPlatformPtr)
virtual void PlatformDeleted (WsfPlatform *aPlatformPtr)
virtual void SelectMode (double aSimTime, WsfStringId aModeNameId)
virtual void DeselectMode (double aSimTime, WsfStringId aModeNameId)
virtual void TurnOn (double aSimTime)
virtual void TurnOff (double aSimTime)
virtual bool Initialize (double aSimTime)
virtual bool Initialize2 (double aSimTime)
virtual bool PreInitialize (double aSimTime)
virtual bool ProcessInput (UtInput &aInput)
virtual void AttemptToDetect (double aSimTime, WsfSensorResult &aResult)
 Extends the sensor-model implementation of AttemptToDetect.
virtual void ComputeSphericalMeasurementErrors (const WsfSensorResult &aResult, wsf::SphericalMeasurementErrors &aErrors) const
virtual void PrePerformScheduledDetections (double aSimTime)
virtual void PostPerformScheduledDetections (double aSimTime)
virtual bool TrackerAllowTracking (double aSimTime, const TrackerSettings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfTrack *aTrackPtr, WsfSensorResult &aResult)
virtual void TrackerInitializeTrack (double aSimTime, const TrackerSettings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfSensorMode *aModePtr, WsfTrack *&aTrackPtr)
virtual void TrackerUpdateTrack (double aSimTime, const TrackerSettings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfSensorMode *aModePtr, WsfTrack *aTrackPtr, WsfPlatform *aTargetPtr, WsfSensorResult &aResult)
virtual void TrackerDropTrack (double aSimTime, const TrackerSettings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfSensorMode *aModePtr, WsfTrack *aTrackPtr)
Public Member Functions inherited from WsfComponentT< WsfSensor >
 WsfComponentT ()
WsfComponentToperator= (const WsfComponentT &) noexcept
 ~WsfComponentT () override=default
virtual void ComponentParentChanged (ParentType *aParentPtr)
ParentTypeGetComponentParent () const
void SetComponentParent (ParentType *aParentPtr)
Public Member Functions inherited from WsfComponent
virtual ~WsfComponent ()=default
virtual int GetComponentInitializationOrder () const
template<typename T>
bool QueryInterfaceT (T *&aRolePtr)
bool ComponentHasRole (int aRole)
 Returns true if the component has the specified role.
virtual void PreInput ()

Static Public Member Functions

static void RegisterComponentFactory (WsfScenario &aScenario)
 Register the component factory that handles input for this component.
static WsfTRIMSIM_SensorComponentFind (const WsfSensor &aSensor)
 Find the instance of this component attached to the specified sensor.
static WsfTRIMSIM_SensorComponentFindOrCreate (WsfSensor &aSensor)
static void AttemptToDetect (WsfSensor &aSensor, double aSimTime, WsfSensorResult &aResult)
 Convenience method to call AttemptToDetect on all the components.
static bool PostAttemptToDetect (WsfSensor &aSensor, double aSimTime, WsfPlatform *aTargetPtr, WsfSensorResult &aResult)
static WSF_DEPRECATED void ComputeMeasurementErrors (WsfSensor &aSensor, WsfSensorResult &aResult, double &aAzError, double &aElError, double &aRangeError, double &aRangeRateError)
 (DEPRECATED) Convenience method to call ComputeMeasurementErrors on all the components.
static void ComputeSphericalMeasurementErrors (WsfSensor &aSensor, const WsfSensorResult &aResult, wsf::SphericalMeasurementErrors &aErrors)
 Convenience method to call ComputeSphericalMeasurementErrors on all the components.
static void PrePerformScheduledDetections (WsfSensor &aSensor, double aSimTime)
 Convenience method to call PrePerformScheduledDetections on all the components.
static void PostPerformScheduledDetections (WsfSensor &aSensor, double aSimTime)
 Convenience method to call PostPerformScheduledDetections on all the components.
static void UpdateTrack (WsfSensor &aSensor, double aSimTime, WsfTrack *aTrackPtr, WsfPlatform *aTargetPtr, WsfSensorResult &aResult)
 Convenience method to call UpdateTrack on all the components.

Required interface from WsfComponent.

WsfComponentCloneComponent () const override
WsfStringId GetComponentName () const override
const int * GetComponentRoles () const override
void * QueryInterface (int aRole) override

Interface from WsfSensorComponent.

void PostAttemptToDetect (double aSimTime, WsfPlatform *aTargetPtr, WsfSensorResult &aResult) override
void UpdateTrack (double aSimTime, WsfTrack *aTrackPtr, WsfPlatform *aTargetPtr, WsfSensorResult &aResult) override
bool GetMeasurementIsValid () const
void SetMeasurementIsValid (bool aIsValid)
UtMatrixd & GetMeasurement ()
void SetMeasurement (const UtMatrixd &aMeasurement)
UtMatrixd & GetMeasurementErrorCovariance ()
void SetMeasurementErrorCovariance (const UtMatrixd &aMeasurementErrorCovariance)
UtMatrixd & GetMeasurementTransition ()
void SetMeasurementTransition (const UtMatrixd &aMeasurementTransition)
void CorrectForAltitude (double aTargetLocWCS[3], WsfPlatform *aTargetPtr, double aDefaultAltitude=0.0)
void SetProcessor (WsfTRIMSIM_Processor *aTRIMSIM_ProcessorPtr)

Additional Inherited Members

Public Types inherited from WsfSensorComponent
using TrackerSettings = WsfSensorTrackerSettings
Public Types inherited from WsfComponentT< WsfSensor >
typedef WsfSensor ParentType
 This is needed to support the WsfComponentList template.

Detailed Description

A sensor component for the TRIMSIM/SUPPRESSOR TDOA Sensor Component for allowing extended capability in the base sensor class functions.

Constructor & Destructor Documentation

◆ WsfTRIMSIM_SensorComponent() [1/2]

WsfTRIMSIM_SensorComponent::WsfTRIMSIM_SensorComponent ( )

◆ WsfTRIMSIM_SensorComponent() [2/2]

WsfTRIMSIM_SensorComponent::WsfTRIMSIM_SensorComponent ( const WsfTRIMSIM_SensorComponent & aSrc)

◆ ~WsfTRIMSIM_SensorComponent()

WsfTRIMSIM_SensorComponent::~WsfTRIMSIM_SensorComponent ( )
overridedefault

Member Function Documentation

◆ CloneComponent()

WsfComponent * WsfTRIMSIM_SensorComponent::CloneComponent ( ) const
overridevirtual

Clones a component. May return null if component does not support clone.

Implements WsfComponent.

References WsfTRIMSIM_SensorComponent().

◆ CorrectForAltitude()

void WsfTRIMSIM_SensorComponent::CorrectForAltitude ( double aTargetLocWCS[3],
WsfPlatform * aTargetPtr,
double aDefaultAltitude = 0.0 )

◆ Find()

WsfTRIMSIM_SensorComponent * WsfTRIMSIM_SensorComponent::Find ( const WsfSensor & aSensor)
static

Find the instance of this component attached to the specified sensor.

References WsfComponentList::FindByRole(), WsfSensor::GetComponents(), and WsfTRIMSIM_SensorComponent().

Referenced by FindOrCreate().

◆ FindOrCreate()

WsfTRIMSIM_SensorComponent * WsfTRIMSIM_SensorComponent::FindOrCreate ( WsfSensor & aSensor)
static

Find the instance of this component attached to the specified processor, and create it if it doesn't exist.

References WsfComponentListT< COMPONENT_TYPE >::AddComponent(), Find(), WsfSensor::GetComponents(), and WsfTRIMSIM_SensorComponent().

◆ GetComponentName()

WsfStringId WsfTRIMSIM_SensorComponent::GetComponentName ( ) const
overridevirtual

Returns the component's name. Each component in a component list has a unique name. Names are usually defined by the user, but they may also be generated by code and prefixed with a '#' to guarantee no collisions with user-defined names.

Implements WsfComponent.

◆ GetComponentRoles()

const int * WsfTRIMSIM_SensorComponent::GetComponentRoles ( ) const
overridevirtual

Returns a zero-terminated array of component roles. Note that the array should be in decreasing order of specificity and should generally the inheritance hierarchy. The first entry should be the components 'primary' role. For example a sensor would do the following:

return roles;
@ cWSF_COMPONENT_SENSOR
A 'sensor' component (WsfSensor).
Definition WsfComponentRoles.hpp:105
@ cWSF_COMPONENT_PLATFORM_PART
The component derives from WsfPlatformPart.
Definition WsfComponentRoles.hpp:98
@ cWSF_COMPONENT_ARTICULATED_PART
The component derives from WsfArticulatedPart.
Definition WsfComponentRoles.hpp:99

Implements WsfComponent.

References cWSF_COMPONENT_NULL, cWSF_COMPONENT_SENSOR_COMPONENT, and cWSF_COMPONENT_TRIMSIM_SENSOR.

◆ GetMeasurement()

UtMatrixd & WsfTRIMSIM_SensorComponent::GetMeasurement ( )
inline

◆ GetMeasurementErrorCovariance()

UtMatrixd & WsfTRIMSIM_SensorComponent::GetMeasurementErrorCovariance ( )
inline

◆ GetMeasurementIsValid()

bool WsfTRIMSIM_SensorComponent::GetMeasurementIsValid ( ) const
inline

◆ GetMeasurementTransition()

UtMatrixd & WsfTRIMSIM_SensorComponent::GetMeasurementTransition ( )
inline

◆ operator=()

WsfTRIMSIM_SensorComponent & WsfTRIMSIM_SensorComponent::operator= ( const WsfTRIMSIM_SensorComponent & )
delete

◆ PostAttemptToDetect()

void WsfTRIMSIM_SensorComponent::PostAttemptToDetect ( double aSimTime,
WsfPlatform * aTargetPtr,
WsfSensorResult & aResult )
overridevirtual

Extends the sensor-model implementation of AttemptToDetect with post detection by the sensor.

Note
Called after the sensor detection for a target is completed just before target is updated.
Must modify the aResult to modify detection criteria

Reimplemented from WsfSensorComponent.

References WsfSensorComponent::GetSensor().

Referenced by operator=().

◆ QueryInterface()

void * WsfTRIMSIM_SensorComponent::QueryInterface ( int aRole)
overridevirtual

Requests a component's role interface. A component can support one or more roles.

Parameters
aRoleThe role whose interface is to be returned.
Returns
A pointer to the object if it supports the indicated role, or 'null' if it does not. Usage: WsfProcessor* procPtrOrNull = (WsfProcessor*)componentPtr->QueryComponentInterface(cWSF_COMPONENT_PROCESSOR);

Implements WsfComponent.

References cWSF_COMPONENT_SENSOR_COMPONENT, and cWSF_COMPONENT_TRIMSIM_SENSOR.

◆ RegisterComponentFactory()

void WsfTRIMSIM_SensorComponent::RegisterComponentFactory ( WsfScenario & aScenario)
static

Register the component factory that handles input for this component.

References WsfScenario::RegisterComponentFactory().

◆ SetMeasurement()

void WsfTRIMSIM_SensorComponent::SetMeasurement ( const UtMatrixd & aMeasurement)
inline

◆ SetMeasurementErrorCovariance()

void WsfTRIMSIM_SensorComponent::SetMeasurementErrorCovariance ( const UtMatrixd & aMeasurementErrorCovariance)
inline

◆ SetMeasurementIsValid()

void WsfTRIMSIM_SensorComponent::SetMeasurementIsValid ( bool aIsValid)
inline

◆ SetMeasurementTransition()

void WsfTRIMSIM_SensorComponent::SetMeasurementTransition ( const UtMatrixd & aMeasurementTransition)
inline

◆ SetProcessor()

void WsfTRIMSIM_SensorComponent::SetProcessor ( WsfTRIMSIM_Processor * aTRIMSIM_ProcessorPtr)
inline

◆ UpdateTrack()


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved