|
WSF
|
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>

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_PerceivedItem & | operator= (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 WsfPlatform * | OwningPlatform () 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 |
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.
|
inline |
Referenced by CompareScoreHighGood(), CompareScoreLowGood(), CompareTargetValueHighGood(), CompareThreatLevelHighGood(), WsfSA_EntityPerception::IsSame(), WsfSA_Group::IsSame(), IsSame(), WsfSA_EntityPerception::operator!=(), operator!=(), operator=(), operator==(), WsfSA_EntityPerception::WsfSA_EntityPerception(), WsfSA_EntityPerception::WsfSA_EntityPerception(), WsfSA_EntityPerception::WsfSA_EntityPerception(), WsfSA_EntityPerception::WsfSA_EntityPerception(), WsfSA_Group::WsfSA_Group(), WsfSA_Group::WsfSA_Group(), and WsfSA_PerceivedItem().
|
inline |
| WsfSA_PerceivedItem::WsfSA_PerceivedItem | ( | const WsfSA_PerceivedItem & | aSrc | ) |
References WsfSA_PerceivedItem().
| 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().
| double WsfSA_PerceivedItem::CalcRangeForPlatform | ( | const WsfPlatform * | aPlatform | ) |
References GetLat_deg(), and GetLon_deg().
Referenced by WsfSA_Perceive::CreateAssetsList(), WsfSA_Perceive::DefaultThreatScore(), and WsfSA_GroupUtils::SortedGroups().
|
static |
References WsfSA_PerceivedItem().
Referenced by WsfSA_Perceive::CreateAssetsList(), WsfSA_Perceive::CreateBanditsList(), and WsfSA_Perceive::CreateBogiesList().
|
static |
References WsfSA_PerceivedItem().
Referenced by WsfSA_Perceive::CreateAssetsList(), and WsfSA_Perceive::Prune().
|
static |
References WsfSA_PerceivedItem().
Referenced by WsfSA_Assess::CalculatePrioritizedTargets().
|
static |
References WsfSA_PerceivedItem().
Referenced by WsfSA_Assess::CalculatePrioritizedThreats().
|
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.
| aTarget | pointer to the platform being considered |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by AngleOffHeadingFromOwningPlatform_deg(), WsfSA_Assess::CalculateTargetValue(), WsfSA_Assess::CalculateThreatLevel(), and operator=().
|
inlinevirtual |
Referenced by AngleOffHeadingFromOwningPlatform_deg(), WsfSA_Assess::CalculateMissileTargetValue(), WsfSA_Assess::CalculateMissileThreatLevel(), WsfSA_Assess::CalculateTargetValue(), WsfSA_Assess::CalculateThreatLevel(), WsfSA_EntityPerception::EstimatedTimeToIntercept(), and WsfSA_Group::EstimatedTimeToIntercept().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by AngleOffHeadingFromOwningPlatform_deg().
|
inlinestatic |
References mAssumedRangeForAngleOnlyTargets.
|
inlinevirtual |
Referenced by AngleOffHeadingFromOwningPlatform_deg(), and operator=().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by operator=().
|
inlinevirtual |
Referenced by WsfSA_Predict::GetPerceivedState().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by WsfSA_Assess::CalculateTargetValue(), and WsfSA_Assess::CalculateThreatLevel().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by WsfSA_Perceive::GetImportant().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by WsfSA_Assess::CalculateTargetValue(), WsfSA_Assess::CalculateThreatLevel(), WsfSA_EntityPerception::IsSame(), and WsfSA_Group::IsSame().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by AngleOffHeadingFromOwningPlatform_deg(), CalcRangeForPlatform(), WsfSA_Assess::CalculateTargetValue(), WsfSA_Assess::CalculateThreatLevel(), and operator=().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by AngleOffHeadingFromOwningPlatform_deg(), CalcRangeForPlatform(), WsfSA_Assess::CalculateTargetValue(), WsfSA_Assess::CalculateThreatLevel(), and operator=().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by WsfScriptSA_PerceivedItemClass::ToString().
|
inlineoverride |
|
inlinevirtual |
Referenced by WsfSA_Perceive::CreateBanditsList(), and WsfSA_Perceive::CreateBogiesList().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by operator=().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
References WsfSA_PerceivedItem().
|
delete |
References WsfSA_PerceivedItem().
| WsfSA_PerceivedItem & WsfSA_PerceivedItem::operator= | ( | const WsfSA_PerceivedItem & | aRhs | ) |
|
delete |
References WsfSA_PerceivedItem().
|
inline |
|
inline |
|
inline |
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by operator=().
|
inlinevirtual |
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
|
inlinestatic |
References mAssumedRangeForAngleOnlyTargets.
Referenced by WsfSA_Perceive::UpdatePerceivedItemsCalculation().
|
inlinevirtual |
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by operator=().
|
inlinevirtual |
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by WsfSA_Perceive::SetImportant().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by operator=().
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by operator=().
|
inline |
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
|
inlinevirtual |
|
pure virtual |
Implemented in WsfSA_EntityPerception, and WsfSA_Group.
Referenced by operator=().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
static |