WSF
WsfOpticalReflectivity Class Referenceabstract

An object that represents the reflectivity of a platform. More...

#include <WsfOpticalReflectivity.hpp>

Inheritance diagram for WsfOpticalReflectivity:
Collaboration diagram for WsfOpticalReflectivity:

Public Types

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

Public Member Functions

 WsfOpticalReflectivity ()
WsfOpticalReflectivityClone () const override=0
virtual float GetOpticalReflectivity (double aSimTime, WsfStringId aStateId, double aWavelength, double aTgtToXmtrAz, double aTgtToXmtrEl, double aTgtToRcvrAz, double aTgtToRcvrEl)=0
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 WsfOpticalReflectivity::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 float GetValue (double aSimTime, WsfPlatform *aPlatformPtr, double aWavelength, double aTgtToXmtrAz, double aTgtToXmtrEl, double aTgtToRcvrAz, double aTgtToRcvrEl)
static WsfOpticalReflectivityGetObject (WsfPlatform *aPlatformPtr)
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 reflectivity of a platform.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
cSIGNATURE_INDEX 

Index of signature within WsfSignatureList (must be unique).

Constructor & Destructor Documentation

◆ WsfOpticalReflectivity()

WsfOpticalReflectivity::WsfOpticalReflectivity ( )

Member Function Documentation

◆ Clone()

WsfOpticalReflectivity * WsfOpticalReflectivity::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 WsfStandardOpticalReflectivity.

References WsfOpticalReflectivity().

◆ GetInputType()

WsfStringId WsfOpticalReflectivity::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 GetOpticalReflectivity().

◆ GetObject()

WsfOpticalReflectivity * WsfOpticalReflectivity::GetObject ( WsfPlatform * aPlatformPtr)
static

◆ GetOpticalReflectivity()

virtual float WsfOpticalReflectivity::GetOpticalReflectivity ( double aSimTime,
WsfStringId aStateId,
double aWavelength,
double aTgtToXmtrAz,
double aTgtToXmtrEl,
double aTgtToRcvrAz,
double aTgtToRcvrEl )
pure virtual

Get the optical reflectivity for a given set of conditions.

Parameters
aSimTime[input] The simulation time.
aStateId[input] The string ID representing the signature state to be used.
aWavelength[input] The wavelength of the signal (meters).
aTgtToXmtrAz[input] The azimuth of the transmitter with respect to the target (radians).
aTgtToXmtrEl[input] The elevation of the transmitter with respect to the target (radians).
aTgtToRcvrAz[input] The azimuth of the receiver with respect to the target (radians).
aTgtToRcvrEl[input] The elevation of the receiver with respect to the target (radians).
Returns
The optical reflectivity (1/steradian)

Implemented in WsfStandardOpticalReflectivity.

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

Referenced by GetValue().

◆ GetScaleFactor()

float WsfOpticalReflectivity::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 GetOpticalReflectivity().

◆ GetState()

WsfStringId WsfOpticalReflectivity::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 GetOpticalReflectivity().

◆ GetValue()

float WsfOpticalReflectivity::GetValue ( double aSimTime,
WsfPlatform * aPlatformPtr,
double aWavelength,
double aTgtToXmtrAz,
double aTgtToXmtrEl,
double aTgtToRcvrAz,
double aTgtToRcvrEl )
static

Get the signature value for a set of conditions.

Parameters
aSimTime[input] The simulation time.
aPlatformPtr[input] The platform from which the signature is to be retrieved.
aWavelength[input] The wavelength of the signal (meters).
aTgtToXmtrAz[input] The azimuth of the transmitter with respect to the target (radians).
aTgtToXmtrEl[input] The elevation of the transmitter with respect to the target (radians).
aTgtToRcvrAz[input] The azimuth of the receiver with respect to the target (radians).
aTgtToRcvrEl[input] The elevation of the receiver with respect to the target (radians).
Returns
The optical reflectivity (1/steradian)

References cSIGNATURE_INDEX, WsfObject::GetName(), GetOpticalReflectivity(), WsfPlatform::GetSignatureList(), WsfObject::GetType(), and WsfOpticalReflectivity().

Referenced by WsfLADAR_Sensor::LADAR_Mode::AttemptToDetect(), and GetOpticalReflectivity().

◆ RegisterInterface()

void WsfOpticalReflectivity::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 GetObject(), and WsfOpticalReflectivityTypes::WsfOpticalReflectivityTypes().

◆ RegisterScriptMethods()

void WsfOpticalReflectivity::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 GetObject().

◆ SetScaleFactor()

bool WsfOpticalReflectivity::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 GetOpticalReflectivity().

◆ SetState()

bool WsfOpticalReflectivity::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 GetOpticalReflectivity().


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