WSF
WsfSA_PerceivedItem Class Referenceabstract

The WsfSA_PerceivedItem class is used as a base class for WsfSA_EntityPerception and WsfSA_Group, which may be friendly (an asset), unknown (a bogie), or a threat (bandit or hostile). More...

#include <WsfSA_PerceivedItem.hpp>

Inheritance diagram for WsfSA_PerceivedItem:

Public Types

enum  Identification {
  UNKNOWN = 0 , FRIENDLY = 1 , NEUTRAL = 2 , BOGIE = 3 ,
  BANDIT = 4
}
enum  ItemType { ENTITY = 0 , GROUP = 1 }
enum  Importance { IGNORED = 0 , NOMINAL = 1 , IMPORTANT = 2 }

Public Member Functions

 WsfSA_PerceivedItem ()
 WsfSA_PerceivedItem (const WsfPlatform *aOwningPlatform)
 WsfSA_PerceivedItem (const WsfSA_PerceivedItem &aSrc)
WsfSA_PerceivedItemoperator= (const WsfSA_PerceivedItem &aRhs)
bool operator== (const WsfSA_PerceivedItem &aRhs)=delete
bool operator!= (const WsfSA_PerceivedItem &aRhs)=delete
virtual bool IsSame (const WsfSA_PerceivedItem *aOther) const =0
const char * GetScriptClassName () const override
double CalcRangeForPlatform (const WsfPlatform *aPlatform)
double AngleOffHeadingFromOwningPlatform_deg ()
 Find the angle off heading from this PI's owning platform, in degrees -180 to 180.
const WsfPlatformOwningPlatform () const
void OwningPlatform (const WsfPlatform *aPlatform)
bool PerceptionIsMalformed () const
void SetMalformedCondition ()
virtual ItemType GetItemType () const =0
virtual double GetLat_deg () const =0
virtual void SetLat_deg (double aLat_deg)=0
virtual double GetLon_deg () const =0
virtual void SetLon_deg (double aLon_deg)=0
virtual double GetAltitude_ft () const =0
virtual void SetAltitude_ft (double aAltitude_ft)=0
virtual double GetBearing_deg () const
virtual void SetBearing_deg (double aBearing_deg)
virtual double GetSpeed_kts () const =0
virtual void SetSpeed_kts (double aSpeed_kts)=0
virtual double GetHeading_deg () const =0
virtual void SetHeading_deg (double aHeading_deg)=0
virtual double GetThreatLevel () const
virtual void SetThreatLevel (double aThreatLevel)
virtual double GetTargetValue () const
virtual void SetTargetValue (double aTargetValue)
virtual Identification GetIdentification () const =0
virtual void SetIdentification (Identification aIdent)=0
virtual Importance GetImportance () const =0
virtual void SetImportance (Importance aImportance)=0
virtual std::string GetPerceivedName () const =0
virtual void SetPerceivedName (const std::string &aIdString)=0
virtual bool GetAngleOnly () const =0
virtual void SetAngleOnly (bool aSetting)=0
virtual bool GetAltitudeValid () const
virtual void SetAltitudeValid (bool aSetting)
virtual bool GetSpeedValid () const
virtual void SetSpeedValid (bool aSetting)
virtual bool GetHeadingValid () const
virtual void SetHeadingValid (bool aSetting)
virtual double GetSelectionScore () const
virtual void SetSelectionScore (double aSelectionScore)
virtual double EstimatedTimeToIntercept (WsfPlatform *aTarget) const =0
 Returns an estimate of the time for this entity to intercept the specified platform.

Static Public Member Functions

static double GetAssumedRangeForAngleOnlyTargets ()
static void SetAssumedRangeForAngleOnlyTargets (double aRange)
static bool CompareScoreLowGood (const WsfSA_PerceivedItem *aFirstItem, const WsfSA_PerceivedItem *aSecondItem)
static bool CompareScoreHighGood (const WsfSA_PerceivedItem *aFirstItem, const WsfSA_PerceivedItem *aSecondItem)
static bool CompareThreatLevelHighGood (const WsfSA_PerceivedItem *aFirstItem, const WsfSA_PerceivedItem *aSecondItem)
static bool CompareTargetValueHighGood (const WsfSA_PerceivedItem *aFirstItem, const WsfSA_PerceivedItem *aSecondItem)

Static Public Attributes

static double mAssumedRangeForAngleOnlyTargets = 2.0e13

Detailed Description

The WsfSA_PerceivedItem class is used as a base class for WsfSA_EntityPerception and WsfSA_Group, which may be friendly (an asset), unknown (a bogie), or a threat (bandit or hostile).

Anything that contributes to an SAP's perceived item count is a WsfSA_PerceivedItem, and contains information about its name, location, heading, etc. Perceived items will typically live on the heap, so care hould be taken with managing their memory.

Member Enumeration Documentation

◆ Identification

Enumerator
UNKNOWN 
FRIENDLY 
NEUTRAL 
BOGIE 
BANDIT 

◆ Importance

Enumerator
IGNORED 
NOMINAL 
IMPORTANT 

◆ ItemType

Enumerator
ENTITY 
GROUP 

Constructor & Destructor Documentation

◆ WsfSA_PerceivedItem() [1/3]

◆ WsfSA_PerceivedItem() [2/3]

WsfSA_PerceivedItem::WsfSA_PerceivedItem ( const WsfPlatform * aOwningPlatform)
inline

◆ WsfSA_PerceivedItem() [3/3]

WsfSA_PerceivedItem::WsfSA_PerceivedItem ( const WsfSA_PerceivedItem & aSrc)

References WsfSA_PerceivedItem().

Member Function Documentation

◆ AngleOffHeadingFromOwningPlatform_deg()

double WsfSA_PerceivedItem::AngleOffHeadingFromOwningPlatform_deg ( )

Find the angle off heading from this PI's owning platform, in degrees -180 to 180.

References GetAltitude_ft(), GetAltitudeValid(), GetAngleOnly(), GetBearing_deg(), GetLat_deg(), WsfGeoPoint::GetLocationWCS(), GetLon_deg(), and OwningPlatform().

◆ CalcRangeForPlatform()

double WsfSA_PerceivedItem::CalcRangeForPlatform ( const WsfPlatform * aPlatform)

◆ CompareScoreHighGood()

bool WsfSA_PerceivedItem::CompareScoreHighGood ( const WsfSA_PerceivedItem * aFirstItem,
const WsfSA_PerceivedItem * aSecondItem )
static

◆ CompareScoreLowGood()

bool WsfSA_PerceivedItem::CompareScoreLowGood ( const WsfSA_PerceivedItem * aFirstItem,
const WsfSA_PerceivedItem * aSecondItem )
static

◆ CompareTargetValueHighGood()

bool WsfSA_PerceivedItem::CompareTargetValueHighGood ( const WsfSA_PerceivedItem * aFirstItem,
const WsfSA_PerceivedItem * aSecondItem )
static

◆ CompareThreatLevelHighGood()

bool WsfSA_PerceivedItem::CompareThreatLevelHighGood ( const WsfSA_PerceivedItem * aFirstItem,
const WsfSA_PerceivedItem * aSecondItem )
static

◆ EstimatedTimeToIntercept()

virtual double WsfSA_PerceivedItem::EstimatedTimeToIntercept ( WsfPlatform * aTarget) const
pure virtual

Returns an estimate of the time for this entity to intercept the specified platform.

If no intercept is possible, -1.0 will be returned. If the entity is angle-only, or if it lacks speed data, no intercept will be calculated and -1.0 will be returned.

Parameters
aTargetpointer to the platform being considered

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

◆ GetAltitude_ft()

virtual double WsfSA_PerceivedItem::GetAltitude_ft ( ) const
pure virtual

◆ GetAltitudeValid()

◆ GetAngleOnly()

virtual bool WsfSA_PerceivedItem::GetAngleOnly ( ) const
pure virtual

◆ GetAssumedRangeForAngleOnlyTargets()

double WsfSA_PerceivedItem::GetAssumedRangeForAngleOnlyTargets ( )
inlinestatic

◆ GetBearing_deg()

virtual double WsfSA_PerceivedItem::GetBearing_deg ( ) const
inlinevirtual

◆ GetHeading_deg()

virtual double WsfSA_PerceivedItem::GetHeading_deg ( ) const
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

Referenced by operator=().

◆ GetHeadingValid()

virtual bool WsfSA_PerceivedItem::GetHeadingValid ( ) const
inlinevirtual

◆ GetIdentification()

virtual Identification WsfSA_PerceivedItem::GetIdentification ( ) const
pure virtual

◆ GetImportance()

virtual Importance WsfSA_PerceivedItem::GetImportance ( ) const
pure virtual

◆ GetItemType()

virtual ItemType WsfSA_PerceivedItem::GetItemType ( ) const
pure virtual

◆ GetLat_deg()

virtual double WsfSA_PerceivedItem::GetLat_deg ( ) const
pure virtual

◆ GetLon_deg()

virtual double WsfSA_PerceivedItem::GetLon_deg ( ) const
pure virtual

◆ GetPerceivedName()

virtual std::string WsfSA_PerceivedItem::GetPerceivedName ( ) const
pure virtual

◆ GetScriptClassName()

const char * WsfSA_PerceivedItem::GetScriptClassName ( ) const
inlineoverride

◆ GetSelectionScore()

virtual double WsfSA_PerceivedItem::GetSelectionScore ( ) const
inlinevirtual

◆ GetSpeed_kts()

virtual double WsfSA_PerceivedItem::GetSpeed_kts ( ) const
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

Referenced by operator=().

◆ GetSpeedValid()

virtual bool WsfSA_PerceivedItem::GetSpeedValid ( ) const
inlinevirtual

◆ GetTargetValue()

virtual double WsfSA_PerceivedItem::GetTargetValue ( ) const
inlinevirtual

◆ GetThreatLevel()

virtual double WsfSA_PerceivedItem::GetThreatLevel ( ) const
inlinevirtual

◆ IsSame()

virtual bool WsfSA_PerceivedItem::IsSame ( const WsfSA_PerceivedItem * aOther) const
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

References WsfSA_PerceivedItem().

◆ operator!=()

bool WsfSA_PerceivedItem::operator!= ( const WsfSA_PerceivedItem & aRhs)
delete

References WsfSA_PerceivedItem().

◆ operator=()

◆ operator==()

bool WsfSA_PerceivedItem::operator== ( const WsfSA_PerceivedItem & aRhs)
delete

References WsfSA_PerceivedItem().

◆ OwningPlatform() [1/2]

◆ OwningPlatform() [2/2]

void WsfSA_PerceivedItem::OwningPlatform ( const WsfPlatform * aPlatform)
inline

◆ PerceptionIsMalformed()

bool WsfSA_PerceivedItem::PerceptionIsMalformed ( ) const
inline

◆ SetAltitude_ft()

virtual void WsfSA_PerceivedItem::SetAltitude_ft ( double aAltitude_ft)
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

Referenced by operator=().

◆ SetAltitudeValid()

virtual void WsfSA_PerceivedItem::SetAltitudeValid ( bool aSetting)
inlinevirtual

◆ SetAngleOnly()

virtual void WsfSA_PerceivedItem::SetAngleOnly ( bool aSetting)
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

◆ SetAssumedRangeForAngleOnlyTargets()

void WsfSA_PerceivedItem::SetAssumedRangeForAngleOnlyTargets ( double aRange)
inlinestatic

◆ SetBearing_deg()

virtual void WsfSA_PerceivedItem::SetBearing_deg ( double aBearing_deg)
inlinevirtual

◆ SetHeading_deg()

virtual void WsfSA_PerceivedItem::SetHeading_deg ( double aHeading_deg)
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

Referenced by operator=().

◆ SetHeadingValid()

virtual void WsfSA_PerceivedItem::SetHeadingValid ( bool aSetting)
inlinevirtual

◆ SetIdentification()

virtual void WsfSA_PerceivedItem::SetIdentification ( Identification aIdent)
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

◆ SetImportance()

virtual void WsfSA_PerceivedItem::SetImportance ( Importance aImportance)
pure virtual

◆ SetLat_deg()

virtual void WsfSA_PerceivedItem::SetLat_deg ( double aLat_deg)
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

Referenced by operator=().

◆ SetLon_deg()

virtual void WsfSA_PerceivedItem::SetLon_deg ( double aLon_deg)
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

Referenced by operator=().

◆ SetMalformedCondition()

void WsfSA_PerceivedItem::SetMalformedCondition ( )
inline

◆ SetPerceivedName()

virtual void WsfSA_PerceivedItem::SetPerceivedName ( const std::string & aIdString)
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

◆ SetSelectionScore()

virtual void WsfSA_PerceivedItem::SetSelectionScore ( double aSelectionScore)
inlinevirtual

◆ SetSpeed_kts()

virtual void WsfSA_PerceivedItem::SetSpeed_kts ( double aSpeed_kts)
pure virtual

Implemented in WsfSA_EntityPerception, and WsfSA_Group.

Referenced by operator=().

◆ SetSpeedValid()

virtual void WsfSA_PerceivedItem::SetSpeedValid ( bool aSetting)
inlinevirtual

◆ SetTargetValue()

virtual void WsfSA_PerceivedItem::SetTargetValue ( double aTargetValue)
inlinevirtual

◆ SetThreatLevel()

virtual void WsfSA_PerceivedItem::SetThreatLevel ( double aThreatLevel)
inlinevirtual

Member Data Documentation

◆ mAssumedRangeForAngleOnlyTargets

double WsfSA_PerceivedItem::mAssumedRangeForAngleOnlyTargets = 2.0e13
static

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