WSF
WsfAcousticSignature Class Referenceabstract

An object that represents the acoustic signature of a platform. More...

#include <WsfAcousticSignature.hpp>

Inheritance diagram for WsfAcousticSignature:
Collaboration diagram for WsfAcousticSignature:

Public Types

enum  { cSIGNATURE_INDEX = 5 }
Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.

Public Member Functions

 WsfAcousticSignature ()=default
WsfAcousticSignatureClone () const override=0
virtual double GetNoisePressure (WsfStringId aStateId, double aFrequency)=0
virtual double GetNoisePressure (WsfStringId aStateId, double aFrequency, double aTgtToRcvrAz, double aTgtToRcvrEl)=0
virtual std::pair< double, double > GetNoisePressureLimits (WsfStringId aStateId) const
Public Member Functions inherited from WsfSignature
 WsfSignature ()
 WsfSignature (const WsfSignature &aSrc)
WsfSignatureoperator= (const WsfSignature &)=delete
 ~WsfSignature () override=default
virtual bool InitializeType ()
virtual bool Initialize (double aSimTime, WsfPlatform *aPlatformPtr)
virtual bool IsA_ValidState (WsfStringId aId) const
virtual std::vector< WsfStringIdGetStateNames () const
 get the list of all valid states belonging to the signature
bool ProcessInput (UtInput &aInput) override
bool RequiresPlatform () const
 indicates that a signature can be queried without a valid mPlatform
Public Member Functions inherited from WsfObject
 WsfObject ()
 This is the constructor for the WsfObject class.
 ~WsfObject () override
 This is the destructor for the WsfObject class.
const char * GetScriptClassName () const override
const std::string & GetType () const
WsfStringId GetTypeId () const
 Get the string ID of the 'type' of the object.
void SetType (WsfStringId aType)
const std::string & GetBaseType () const
WsfStringId GetBaseTypeId () const
const TypeListGetTypeList () const
bool IsA_TypeOf (WsfStringId aType) const
WsfObjectoperator= (const WsfObject &aRhs)
 Assignment operator.
template<typename T>
void Serialize (T &aBuff)
 For XIO (de)serialization.
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Methods to support the actual interface on the platform.

These methods provide the interface from the sensor model to the signature.

The user makes calls like WsfAcousticSignature::GetValue(...).

static WsfStringId GetInputType (WsfPlatform *aPlatformPtr)
static WsfStringId GetState (WsfPlatform *aPlatformPtr)
static bool SetState (WsfPlatform *aPlatformPtr, WsfStringId aState)
static float GetScaleFactor (WsfPlatform *aPlatformPtr)
static bool SetScaleFactor (WsfPlatform *aPlatformPtr, float aScaleFactor)
static double GetValue (WsfPlatform *aPlatformPtr, double aFrequency)
static double GetValue (WsfPlatform *aPlatformPtr, double aFrequency, double aTgtToRcvrAz, double aTgtToRcvrEl)
static void RegisterScriptMethods (UtScriptTypes &aScriptTypes)
static void RegisterInterface (WsfScenario &aScenario)
 Register the platform interface object on the prototype signature list in the specified scenario.

Additional Inherited Members

 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).
Static Protected Member Functions inherited from WsfSignature
template<class SignatureState, WsfStringId SignatureState::* IdMember, typename Iterator>
static std::vector< WsfStringIdGetStateNamesP (Iterator aBegin, Iterator aEnd)
Protected Attributes inherited from WsfSignature
WsfPlatformmPlatformPtr
double mBaseTime
bool mRequiresPlatform {false}

Detailed Description

An object that represents the acoustic signature of a platform.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
cSIGNATURE_INDEX 

Index of signature within WsfSignatureList (must be unique).

Constructor & Destructor Documentation

◆ WsfAcousticSignature()

Member Function Documentation

◆ Clone()

WsfAcousticSignature * WsfAcousticSignature::Clone ( ) const
overridepure virtual

Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.

Implements WsfObject.

Implemented in WsfStandardAcousticSignature.

References WsfAcousticSignature().

◆ GetInputType()

WsfStringId WsfAcousticSignature::GetInputType ( WsfPlatform * aPlatformPtr)
static

Get the input type of the signature.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
Returns
The current signature state.

References cSIGNATURE_INDEX, WsfSignatureList::GetInputType(), and WsfPlatform::GetSignatureList().

Referenced by GetNoisePressure().

◆ GetNoisePressure() [1/2]

virtual double WsfAcousticSignature::GetNoisePressure ( WsfStringId aStateId,
double aFrequency )
pure virtual

Get the acoustic signature for a given signature state and signal frequency.

Parameters
aStateId[input] The string ID representing the signature state to be used.
aFrequency[input] The frequency of the desired noise pressure

Implemented in WsfStandardAcousticSignature.

Referenced by WsfStandardAcousticSignature::GetNoisePressure(), GetValue(), and GetValue().

◆ GetNoisePressure() [2/2]

virtual double WsfAcousticSignature::GetNoisePressure ( WsfStringId aStateId,
double aFrequency,
double aTgtToRcvrAz,
double aTgtToRcvrEl )
pure virtual

Get the acoustic signature for a given signature state and signal frequency at the given azimuth and elevation.

Parameters
aStateId[input] The string ID representing the signature state to be used.
aFrequency[input] The frequency of the desired noise pressure
aTgtToRcvrAz[input] The azimuth from the target to the receiver
aTgtToRcvrEl[input] the elevation from the target to the receiver

Implemented in WsfStandardAcousticSignature.

References GetInputType(), GetNoisePressureLimits(), GetScaleFactor(), GetState(), GetValue(), RegisterInterface(), RegisterScriptMethods(), SetScaleFactor(), and SetState().

◆ GetNoisePressureLimits()

std::pair< double, double > WsfAcousticSignature::GetNoisePressureLimits ( WsfStringId aStateId) const
virtual

Get the min and max noise pressure values that can be returned by GetNoisePressure for the given signature state.

Reimplemented in WsfStandardAcousticSignature.

Referenced by GetNoisePressure().

◆ GetScaleFactor()

float WsfAcousticSignature::GetScaleFactor ( WsfPlatform * aPlatformPtr)
static

Get the signature scale factor.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
Returns
The signature scale factor.

References cSIGNATURE_INDEX, WsfSignatureList::GetScaleFactor(), and WsfPlatform::GetSignatureList().

Referenced by GetNoisePressure().

◆ GetState()

WsfStringId WsfAcousticSignature::GetState ( WsfPlatform * aPlatformPtr)
static

Get the current signature state.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
Returns
The current signature state.

References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), and WsfSignatureList::GetState().

Referenced by GetNoisePressure().

◆ GetValue() [1/2]

double WsfAcousticSignature::GetValue ( WsfPlatform * aPlatformPtr,
double aFrequency )
static

Get the signature value for a set of conditions.

Parameters
aPlatformPtr[input] The platform from which the signature is to be retrieved.
aFrequency[input] The frequency value of interest for lookup of signature value..
Returns
The inherent contrast.

References cSIGNATURE_INDEX, WsfObject::GetName(), GetNoisePressure(), WsfPlatform::GetSignatureList(), WsfObject::GetType(), and WsfAcousticSignature().

Referenced by WsfAcousticSensor::AcousticMode::ApplyFilterWeighting(), and GetNoisePressure().

◆ GetValue() [2/2]

double WsfAcousticSignature::GetValue ( WsfPlatform * aPlatformPtr,
double aFrequency,
double aTgtToRcvrAz,
double aTgtToRcvrEl )
static

◆ RegisterInterface()

void WsfAcousticSignature::RegisterInterface ( WsfScenario & aScenario)
static

Register the platform interface object on the prototype signature list in the specified scenario.

References WsfSignatureList::AddInterface(), cSIGNATURE_INDEX, and WsfScenario::GetSignatureListPrototype().

Referenced by GetNoisePressure(), and WsfAcousticSignatureTypes::WsfAcousticSignatureTypes().

◆ RegisterScriptMethods()

void WsfAcousticSignature::RegisterScriptMethods ( UtScriptTypes & aScriptTypes)
static

Register the script methods associated with this class.

Note
The WsfPlatform script class must be defined before calling this method.

Referenced by WsfMilScriptExtensions::ExtendScriptClasses(), and GetNoisePressure().

◆ SetScaleFactor()

bool WsfAcousticSignature::SetScaleFactor ( WsfPlatform * aPlatformPtr,
float aScaleFactor )
static

Set the signature scale factor.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
aScaleFactor[input] The new signature scale factor.
Returns
true if successful, false if and error occurred.

References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), and WsfSignatureList::SetScaleFactor().

Referenced by GetNoisePressure().

◆ SetState()

bool WsfAcousticSignature::SetState ( WsfPlatform * aPlatformPtr,
WsfStringId aState )
static

Set the signatures state

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
aState[input] The new signatures state.
Returns
true if successful, false if and error occurred.

References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), and WsfSignatureList::SetState().

Referenced by GetNoisePressure().


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