WSF
WsfSignature Class Reference

#include <WsfSignature.hpp>

Inheritance diagram for WsfSignature:
Collaboration diagram for WsfSignature:

Public Member Functions

 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
virtual WsfObjectClone () const =0
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)

Static Protected Member Functions

template<class SignatureState, WsfStringId SignatureState::* IdMember, typename Iterator>
static std::vector< WsfStringIdGetStateNamesP (Iterator aBegin, Iterator aEnd)

Protected Attributes

WsfPlatformmPlatformPtr
double mBaseTime
bool mRequiresPlatform {false}

Additional Inherited Members

Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).

Detailed Description

This is the abstract base class for all platform 'signatures'.

A 'signature' is a platform attribute that is used to define the susceptibility of the platform to being detected by a sensor.

Constructor & Destructor Documentation

◆ WsfSignature() [1/2]

◆ WsfSignature() [2/2]

WsfSignature::WsfSignature ( const WsfSignature & aSrc)

◆ ~WsfSignature()

WsfSignature::~WsfSignature ( )
overridedefault

Member Function Documentation

◆ GetStateNames()

virtual std::vector< WsfStringId > WsfSignature::GetStateNames ( ) const
inlinevirtual

◆ GetStateNamesP()

template<class SignatureState, WsfStringId SignatureState::* IdMember, typename Iterator>
std::vector< WsfStringId > WsfSignature::GetStateNamesP ( Iterator aBegin,
Iterator aEnd )
inlinestaticprotected

Many derived signatures use the same logic in obtaining state names, but their state classes and data containers are distinct This template also uses "pointer-to-member" to access the name via different state classes.

Referenced by WsfMilRadarSignature::GetStateNames(), WsfSpaceOpticalSignature::GetStateNames(), WsfStandardAcousticSignature::GetStateNames(), WsfStandardInfraredSignature::GetStateNames(), WsfStandardInherentContrast::GetStateNames(), WsfStandardOpticalReflectivity::GetStateNames(), WsfStandardOpticalSignature::GetStateNames(), and WsfStandardRadarSignature::GetStateNames().

◆ Initialize()

bool WsfSignature::Initialize ( double aSimTime,
WsfPlatform * aPlatformPtr )
virtual

Initialize an instance to prepare for use in a simulation.

Parameters
aSimTimeThe current simulation time.
aPlatformPtrThe platform to which the instance is attached.
Returns
true if successful.

Reimplemented in WsfChaffRadarSignature, WsfCompositeOpticalSignature, and WsfSpaceOpticalSignature.

References mBaseTime, and mPlatformPtr.

Referenced by WsfCompositeOpticalSignature::Initialize(), WsfSpaceOpticalSignature::Initialize(), WsfRadarSignature::SetSignature(), and ~WsfSignature().

◆ InitializeType()

◆ IsA_ValidState()

bool WsfSignature::IsA_ValidState ( WsfStringId aId) const
virtual

Checks to make the entered state Id exists, returns true if it exists, false otherwise.

Parameters
aIdthe name Id of the state.
Returns
Returns true if provided state exists.

References GetStateNames().

Referenced by WsfSignatureList::SetState(), and ~WsfSignature().

◆ operator=()

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

References WsfSignature().

◆ ProcessInput()

bool WsfSignature::ProcessInput ( UtInput & aInput)
overridevirtual

Process input from a generic source.

Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.

Parameters
aInputa reference to a UtInput object.
Returns
'true' if the command was one recognized by the class or 'false' if not.
Exceptions
UtInput::ExceptionBase(or an object derived from it) if the command was recognized but contains some sort of error.
Note
If a derived class does not recognize the command (i.e.: the return value is false) then it should call the base class ProcessInput method. This chain should continue until either the command is recognized or the top-level base class is encountered.

Reimplemented from WsfObject.

Reimplemented in WsfSpaceOpticalSignature, WsfStandardAcousticSignature, WsfStandardInfraredSignature, WsfStandardInherentContrast, WsfStandardOpticalReflectivity, WsfStandardOpticalSignature, and WsfStandardRadarSignature.

References WsfObject::ProcessInput().

◆ RequiresPlatform()

bool WsfSignature::RequiresPlatform ( ) const
inline

indicates that a signature can be queried without a valid mPlatform

References mRequiresPlatform.

Member Data Documentation

◆ mBaseTime

double WsfSignature::mBaseTime
protected

◆ mPlatformPtr

◆ mRequiresPlatform


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