|
WSF
|
An object that represents the optical signature of a platform. More...
#include <WsfOpticalSignature.hpp>


Public Types | |
| enum | { cSIGNATURE_INDEX = 1 } |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
Public Member Functions | |
| WsfOpticalSignature () | |
| WsfOpticalSignature * | Clone () const override=0 |
| virtual float | GetSignature (double aSimTime, WsfStringId aStateId, double aAzimuth, double aElevation)=0 |
| Public Member Functions inherited from WsfSignature | |
| WsfSignature () | |
| WsfSignature (const WsfSignature &aSrc) | |
| WsfSignature & | operator= (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< WsfStringId > | GetStateNames () 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 TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (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) |
New interface methods to get the projected area and radiant intensity. | |
These methods may be implemented by derived implementations to provide a more complete implementation of the 'signature' within the optical spectrum. | |
| using | BandList = std::vector<WsfEM_Types::OpticalBand> |
| virtual bool | GetProjectedArea (double aSimTime, WsfStringId aStateId, double aAzimuth, double aElevation, double &aProjectedArea) |
| virtual bool | GetRadiantIntensity (double aSimTime, WsfStringId aState, const BandList &aBands, double aAzimuth, double aElevation, double &aRadiantIntensity) |
| bool | UsesInherentContrast () const |
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 WsfOpticalSignature::GetSignature(...). | |
| 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 aAzimuth, double aElevation) |
| static bool | GetProjectedArea (double aSimTime, WsfPlatform *aPlatformPtr, double aAzimuth, double aElevation, double &aProjectedArea) |
| static bool | GetRadiantIntensity (double aSimTime, WsfPlatform *aPlatformPtr, const BandList &aBands, double aAzimuth, double aElevation, double &aRadiantIntensity) |
| static bool | UsesInherentContrast (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. | |
| void | SetInherentContrast (bool aContrast) |
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< WsfStringId > | GetStateNamesP (Iterator aBegin, Iterator aEnd) |
| Protected Attributes inherited from WsfSignature | |
| WsfPlatform * | mPlatformPtr |
| double | mBaseTime |
| bool | mRequiresPlatform {false} |
An object that represents the optical signature of a platform.
| using WsfOpticalSignature::BandList = std::vector<WsfEM_Types::OpticalBand> |
| anonymous enum |
| Enumerator | |
|---|---|
| cSIGNATURE_INDEX | Index of signature within WsfSignatureList (must be unique). |
| WsfOpticalSignature::WsfOpticalSignature | ( | ) |
References WsfSignature::WsfSignature().
Referenced by WsfCompositeOpticalSignature::Clone(), Clone(), WsfSpaceOpticalSignature::Clone(), WsfStandardOpticalSignature::Clone(), GetProjectedArea(), GetRadiantIntensity(), GetValue(), WsfCompositeOpticalSignature::ObjectFactory(), WsfSpaceOpticalSignature::ObjectFactory(), WsfStandardOpticalSignature::ObjectFactory(), WsfCompositeOpticalSignature::operator=(), WsfSpaceOpticalSignature::operator=(), UsesInherentContrast(), WsfCompositeOpticalSignature::WsfCompositeOpticalSignature(), WsfCompositeOpticalSignature::WsfCompositeOpticalSignature(), WsfSpaceOpticalSignature::WsfSpaceOpticalSignature(), WsfSpaceOpticalSignature::WsfSpaceOpticalSignature(), and WsfStandardOpticalSignature::WsfStandardOpticalSignature().
|
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 WsfCompositeOpticalSignature, WsfSpaceOpticalSignature, and WsfStandardOpticalSignature.
References WsfOpticalSignature().
|
static |
Get the input type of the signature.
| aPlatformPtr | [input] The pointer to the platform containing the signature. |
References cSIGNATURE_INDEX, WsfSignatureList::GetInputType(), and WsfPlatform::GetSignatureList().
|
static |
Get the projected area of the platform from a specified aspect angle.
| aSimTime | [input] The current simulation time. |
| aPlatformPtr | [input] The platform from which the projected area is to be retrieved. |
| aAzimuth | [input] azimuth of the observer with respect to this platform (radians). |
| aElevation | [input] elevation of the observer with respect to this platform (radians). |
| aProjectedArea | [output] The projected area of platform (m^2). |
References cSIGNATURE_INDEX, GetProjectedArea(), WsfPlatform::GetSignatureList(), GetValue(), and WsfOpticalSignature().
|
virtual |
Reimplemented in WsfCompositeOpticalSignature, and WsfSpaceOpticalSignature.
Referenced by GetProjectedArea(), and GetSignature().
|
static |
Get the radiant intensity of the platform within a specified band from a specified aspect angle.
| aSimTime | [input] The current simulation time. |
| aPlatformPtr | [input] The platform from which the radiant intensity is to be retrieved. |
| aBands | [input] The list of bands that represent the region of interest within the the optical spectrum. |
| aAzimuth | [input] azimuth of the observer with respect to this platform (radians). |
| aElevation | [input] elevation of the observer with respect to this platform (radians). |
| aRadiantIntensity | [output] The radiant intensity of platform (W/sr). |
References cSIGNATURE_INDEX, GetRadiantIntensity(), WsfPlatform::GetSignatureList(), ok, and WsfOpticalSignature().
|
virtual |
Reimplemented in WsfCompositeOpticalSignature, and WsfSpaceOpticalSignature.
Referenced by WsfEOIR_IRST_SensorMode::AttemptToDetectInfrared(), WsfEOIR_IRST_SensorMode::AttemptToDetectVisual(), and GetRadiantIntensity().
|
static |
Get the signature scale factor.
| aPlatformPtr | [input] The pointer to the platform containing the signature. |
References cSIGNATURE_INDEX, WsfSignatureList::GetScaleFactor(), and WsfPlatform::GetSignatureList().
|
pure virtual |
Get the optical signature for a given set of conditions.
| aSimTime | [input] The current simulation time. |
| aStateId | [input] The string ID representing the signature state to be used. |
| aAzimuth | [input] The azimuth of the observer with respect to the target. |
| aElevation | [input] The elevation of the observer with respect to the target. |
Implemented in WsfCompositeOpticalSignature, WsfSpaceOpticalSignature, and WsfStandardOpticalSignature.
References GetProjectedArea().
Referenced by GetValue().
|
static |
Get the current signature state.
| aPlatformPtr | [input] The pointer to the platform containing the signature. |
References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), and WsfSignatureList::GetState().
|
static |
Get the signature value for a set of conditions.
| aSimTime | [input] The current simulation time. |
| aPlatformPtr | [input] The platform from which the signature is to be retrieved. |
| aAzimuth | [input] azimuth of the observer with respect to this platform (radians). |
| aElevation | [input] elevation of the observer with respect to this platform (radians). |
References cSIGNATURE_INDEX, WsfPlatform::GetHeight(), WsfPlatform::GetLength(), WsfObject::GetName(), GetSignature(), WsfPlatform::GetSignatureList(), WsfObject::GetType(), WsfPlatform::GetWidth(), and WsfOpticalSignature().
Referenced by WsfBeamDirector::WsfBeamDirectorMode::AttemptToDetect(), WsfEOIR_Sensor::EOIR_Mode::AttemptToDetect(), WsfLADAR_Sensor::LADAR_Mode::AttemptToDetect(), WsfOpticalSensor::OpticalMode::AttemptToDetect(), WsfSAR_Sensor::SAR_Mode::AttemptToDetect(), WsfEOIR_IRST_SensorMode::AttemptToDetectInfrared(), WsfEOIR_IRST_SensorMode::AttemptToDetectVisual(), and GetProjectedArea().
|
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 WsfOpticalSignatureTypes::WsfOpticalSignatureTypes().
|
static |
Register the script methods associated with this class.
Referenced by WsfMilScriptExtensions::ExtendScriptClasses().
|
inlineprotected |
Referenced by WsfSpaceOpticalSignature::WsfSpaceOpticalSignature().
|
static |
Set the signature scale factor.
| aPlatformPtr | [input] The pointer to the platform containing the signature. |
| aScaleFactor | [input] The new signature scale factor. |
References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), and WsfSignatureList::SetScaleFactor().
|
static |
Set the signatures state
| aPlatformPtr | [input] The pointer to the platform containing the signature. |
| aState | [input] The new signatures state. |
References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), and WsfSignatureList::SetState().
|
inline |
|
static |
Returns whether the signature of the platform uses inherent_contrast, or ignores it.
| aPlatformPtr | [input] The platform from which the signature is pulled. |
References cSIGNATURE_INDEX, WsfSignatureList::GetInterface(), WsfPlatform::GetSignatureList(), and WsfOpticalSignature().