|
WSF
|
This is the assess module of the SA Processor. More...
#include <WsfSA_Assess.hpp>


Classes | |
| struct | AssessEngagementData |
| struct | AircraftSignatureParameters |
| struct | PlatormScorePairing |
Public Types | |
| enum | AcceptableRiskLevel { LOW = 0 , MEDIUM = 1 , HIGH = 2 } |
Public Member Functions | |
| WsfSA_Assess (WsfSA_Processor *aSA_ProcPtr, WsfSA_Processor::PerceiveData *aDataPtr) | |
| WsfSA_Assess & | operator= (const WsfSA_Assess &)=delete |
| ~WsfSA_Assess () | |
| bool | ProcessInput (UtInput &aInput) |
| Process input from script. | |
| void | Initialize (double aSimTime) |
| Performs initialization during creation. | |
| double | TryUpdateEngagements (double aSimTime) |
| Attempt to update engagement data at a sim time, and return an appropriate time for the next event update. | |
| double | TryUpdatePrioritizedItemData (double aSimTime) |
| Attempt to update prioritized threat and target data at a sim time, and return an appropriate time for the next event update. | |
| double | TryUpdatePrioritizedItemCalculation (double aSimTime) |
| Attempt to update prioritized threat and target calculations at a sim time, and return an appropriate time for the next event update. | |
| void | UpdateEngagements (double aSimTime) |
| Update engagement data at a sim time, and return an appropriate time for the next event update. | |
| void | UpdatePrioritizedItemData (double aSimTime) |
| Update prioritized threat and target data at a sim time, and return an appropriate time for the next event update. | |
| void | UpdatePrioritizedItemCalculation (double aSimTime) |
| Update prioritized threat and target calculations at a sim time, and return an appropriate time for the next event update. | |
| void | UpdateEngagementsData (double aSimTime) |
| Update engagement data at a sim time, and return an appropriate time for the next event update. | |
| void | UpdatePrioritizedThreatsAndTargetsData (double aSimTime) |
| Update prioritized threat and target data at a sim time, and return an appropriate time for the next event update. | |
| void | AssessBogiesBandits (double aSimTime) |
| Update and assess the current perceived bogies and bandits groups for the current platform. | |
| void | CalculatePrioritizedThreats (double aSimTime) |
| Calculate the prioritized threats for the current platform. | |
| void | CalculatePrioritizedTargets (double aSimTime) |
| Calculate the prioritized targets for the current platform. | |
| void | UpdateWeaponSupport (double aSimTime) |
| This updates the weapon support parameters using an optional script function. | |
| unsigned int | MaxPrioritizedThreats () |
| Return the max prioritized threat count the platform can handle. | |
| void | SetMaxPrioritizedThreats (unsigned int aMax) |
| Set the prioritized threat maximum. | |
| void | ResetMaxPrioritizedThreats () |
| Set the max prioritized target to the value provided during initialization (default is 0 where not provided). | |
| unsigned int | MaxPrioritizedTargets () |
| Return the max prioritized target count the platform can handle. | |
| void | SetMaxPrioritizedTargets (unsigned int aMax) |
| Set the prioritized target maximum. | |
| void | ResetMaxPrioritizedTargets () |
| Set the max prioritized target to the value provided during initialization (default is 0 where not provided). | |
| double | AngleOffTarget2D (const WsfPlatform &aTargetPlatform) const |
| This returns the 2D angle-off between the target and the platform (the difference in headings). | |
| double | AngleOffTarget3D (const WsfPlatform &aTargetPlatform) const |
| This returns the 3D angle-off between the target and the platform (the difference in heading/velocity). | |
| double | AspectAngleForTarget2D (const WsfPlatform &aTargetPlatform) const |
| This returns the aspect-angle for the target relative to the platform's position in 2D, meaning the aspect is based on a horizontal plane that contains the target, with the platform's position projected onto the plane. | |
| double | AspectAngleForTarget3D (const WsfPlatform &aTargetPlatform) const |
| This returns the aspect-angle for the target relative to the platform's position in 3D, meaning the aspect is based on the angle between a 3D vector opposite of the target's velocity vector and the vector from the target to the platform's position. | |
| double | OffBoresightAngleForTarget (const WsfPlatform &aTargetPlatform) const |
| This returns the off-boresight angle for the target relative to the platform's x-axis. | |
| double | OffBoresightAngleForTarget (const double aLocationWCS[3]) const |
| This returns the off-boresight angle for the target location relative to the platform's x-axis. | |
| double | ExpectedDetectionRangeAgainstTarget (const WsfPlatform &aTargetPlatform) const |
| This returns the expected detection range (in meters) where the current platform could detect the target platform, with the current relative aspects and states. | |
| double | ExpectedDetectionRangeAgainstTarget (size_t aIndex) const |
| This returns the expected detection range (in meters) where the current platform could detect the target platform, with the current relative aspects and states. | |
| double | ExpectedDetectionRangeByTarget (const WsfPlatform &aTargetPlatform) const |
| This returns the expected detection range (in meters) where the target platform could detect the current platform, with the current relative aspects and states. | |
| double | ExpectedDetectionRangeByTarget (size_t aIndex) const |
| This returns the expected detection range (in meters) where the target platform could detect the current platform, with the current relative aspects and states. | |
| double | ExpectedDetectionRange (const WsfPlatform &aSourePlatform, const WsfPlatform &aTargetPlatform) const |
| This returns the expected detection range (in meters) where the current platform could detect the target platform, with the current relative aspects and states. | |
| double | ExpectedNormalizedDetectionRangeAgainstTarget (const WsfPlatform &aTargetPlatform) const |
| This returns the expected detection range against a given target platform as a normalized value between 0 and 1. | |
| double | ExpectedNormalizedDetectionRangeAgainstTarget (size_t aIndex) const |
| This returns the expected detection range against a given target platform as a normalized value between 0 and 1. | |
| double | ExpectedNormalizedWezRangeAgainstTarget (const WsfPlatform &aTargetPlatform) const |
| This returns the expected WEZ range against a given target platform as a normalized value between 0 and 1. | |
| double | ExpectedNormalizedWezRangeAgainstTarget (size_t aIndex) const |
| This returns the expected WEZ range against a given target platform as a normalized value between 0 and 1. | |
| double | ExpectedWezRangeAgainstTarget (const WsfPlatform &aTargetPlatform) const |
| This returns the expected WEZ range for the current platform against the target platform, with the current relative aspects and states. | |
| double | ExpectedWezRangeAgainstTarget (size_t aIndex) const |
| This returns the expected WEZ range for the current platform against the target platform, with the current relative aspects and states. | |
| double | ExpectedMinimumEngagementRangeAgainstTarget (const WsfPlatform &aTargetPlatform) const |
| This returns the expected minimum engagement range for the current platform against the given target platform. | |
| double | ExpectedMinimumEngagementRangeAgainstTarget (size_t aIndex) const |
| This returns the expected minimum engagement range for the current platform against the given target platform. | |
| double | ExpectedMaximumEngagementRangeAgainstTarget (const WsfPlatform &aTargetPlatform) const |
| This returns the expected maximum engagement range for the current platform against the given target platform. | |
| double | ExpectedMaximumEngagementRangeAgainstTarget (size_t aIndex) const |
| This returns the expected maximum engagement range for the current platform against the given target platform. | |
| double | ExpectedNoEscapeRangeAgainstTarget (const WsfPlatform &aTargetPlatform) const |
| This returns the expected "no escape" engagement range for the current platform against the given target platform. | |
| double | ExpectedNoEscapeRangeAgainstTarget (size_t aIndex) const |
| This returns the expected "no escape" engagement range for the current platform against the given target platform. | |
| double | ExpectedWezRangeByTarget (const WsfPlatform &aTargetPlatform) const |
| This returns the expected WEZ range for the target platform against the current platform, with the current relative aspects and states. | |
| double | ExpectedWezRangeByTarget (size_t aIndex) const |
| This returns the expected WEZ range for the target platform against the current platform, with the current relative aspects and states. | |
| double | CalcSlantRange (const WsfPlatform &aSourcePlatform, const WsfPlatform &aTargetPlatform) const |
| This returns the range between the specified source platform and the target platform. | |
| double | CalcSlantRange (const WsfPlatform &aTargetPlatform) const |
| This returns the range between the current platform and the specified target platform. | |
| double | CalcDeltaAltitude (const WsfPlatform &aSourcePlatform, const WsfPlatform &aTargetPlatform) const |
| This returns the difference in altitude the specified source platform and the target platform. | |
| double | CalcDeltaAltitude (const WsfPlatform &aTargetPlatform) const |
| This returns the difference in altitude between the current platform and the specified target platform. | |
| bool | WeaponBayDoorsOpen () const |
| A placeholder function that, in the future, will return whether a platform's weapon bay doors are open. | |
| bool | GetWeaponBayOpen () |
| This returns the state of the weapon bay doors. | |
| void | SetWeaponBayOpen (bool aWeaponBayOpen) |
| This sets the state of the weapon bay doors. | |
| std::string | GetSelectedWeapon () |
| This returns the name of the current selected weapon. | |
| void | SetSelectedWeapon (const std::string &aSelectedWeapon) |
| This sets the name of the current selected weapon. | |
| double | GetCornerSpeed_KCAS () const |
| A placeholder function that, in the future, will return the minimum speed required to reach the platform's maximum G Load. | |
| std::vector< WsfSA_PerceivedItem * > | PerceivedThreatItems (double aSimTime) |
| Return a reference to the list of perceived items for the current platform at a given time. | |
| std::vector< size_t > | PrioritizedThreatIds () const |
| This returns a list of prioritized threat platform ids, beginning with the highest priority threat and working down to the lowest priority threat. | |
| std::vector< std::string > | PrioritizedThreatNames () const |
| This returns a list of prioritized threat platform names, beginning with the highest priority threat and working down to the lowest priority threat. | |
| const std::list< UtWeakReference< WsfSA_PerceivedItem > > & | GetPrioritizedThreatItems () const |
| This returns a const list of prioritized threat perceived items, beginning with the highest priority threat and working down to the lowest priority threat. | |
| std::list< UtWeakReference< WsfSA_PerceivedItem > > & | GetPrioritizedThreatItems () |
| This returns a list of prioritized threat perceived items, beginning with the highest priority threat and working down to the lowest priority threat. | |
| const std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedThreatEntities () const |
| This returns a const list of prioritized threat perceived entities, beginning with the highest priority threat and working down to the lowest priority threat. | |
| std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedThreatEntities () |
| This returns a list of prioritized threat perceived entities, beginning with the highest priority threat and working down to the lowest priority threat. | |
| const std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedAircraftThreatEntities () const |
| This returns a const list of prioritized aircraft threat entity perceptions, beginning with the highest priority threat and working down to the lowest priority threat. | |
| std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedAircraftThreatEntities () |
| This returns a list of prioritized aircraft threat entity perceptions, beginning with the highest priority threat and working down to the lowest priority threat. | |
| const std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedMissileThreatEntities () const |
| This returns a const list of prioritized missile threat entity perceptions, beginning with the highest priority threat and working down to the lowest priority threat. | |
| std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedMissileThreatEntities () |
| This returns a list of prioritized missile threat entity perceptions, beginning with the highest priority threat and working down to the lowest priority threat. | |
| const std::list< UtWeakReference< WsfSA_Group > > & | GetPrioritizedThreatGroups () const |
| This returns a const list of prioritized threat unfocused groups, beginning with the highest priority threat and working down to the lowest priority threat. | |
| std::list< UtWeakReference< WsfSA_Group > > & | GetPrioritizedThreatGroups () |
| This returns a list of prioritized threat unfocused groups, beginning with the highest priority threat and working down to the lowest priority threat. | |
| WsfSA_PerceivedItem * | HighestThreat (double aSimTime) |
| This returns a pointer to the highest threat or nullptr if no such threat exists. | |
| WsfSA_EntityPerception * | HighestThreatEntity (double aSimTime) |
| This returns a pointer to the highest entity threat or nullptr if no such threat exists. | |
| WsfSA_EntityPerception * | HighestThreatAircraft (double aSimTime) |
| This returns a pointer to the highest aircraft threat or nullptr if no such threat exists. | |
| WsfSA_EntityPerception * | HighestThreatMissile (double aSimTime) |
| This returns a pointer to the highest missile threat or nullptr if no such threat exists. | |
| WsfSA_Group * | HighestThreatGroup (double aSimTime) |
| This returns a pointer to the highest group threat or nullptr if no such threat exists. | |
| std::vector< size_t > | PrioritizedTargetIds () const |
| This returns a list of prioritized target platform ids, beginning with the highest priority target and working down to the lowest priority target. | |
| std::vector< std::string > | PrioritizedTargetNames () const |
| This returns a list of prioritized target platform names, beginning with the highest priority target and working down to the lowest priority target. | |
| const std::list< UtWeakReference< WsfSA_PerceivedItem > > & | GetPrioritizedTargetItems () const |
| This returns a const list of prioritized target perceived items, beginning with the highest priority target and working down to the lowest priority target. | |
| std::list< UtWeakReference< WsfSA_PerceivedItem > > & | GetPrioritizedTargetItems () |
| This returns a list of prioritized target perceived items, beginning with the highest priority target and working down to the lowest priority target. | |
| const std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedTargetEntities () const |
| This returns a const list of prioritized target perceived entities, beginning with the highest priority target and working down to the lowest priority target. | |
| std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedTargetEntities () |
| This returns a list of prioritized target perceived entities, beginning with the highest priority target and working down to the lowest priority target. | |
| const std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedAircraftTargetEntities () const |
| This returns a const list of prioritized aircraft target entity perceptions, beginning with the highest priority target and working down to the lowest priority target. | |
| std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedAircraftTargetEntities () |
| This returns a list of prioritized aircraft target entity perceptions, beginning with the highest priority target and working down to the lowest priority target. | |
| const std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedMissileTargetEntities () const |
| This returns a const list of prioritized missile target entity perceptions, beginning with the highest priority target and working down to the lowest priority target. | |
| std::list< UtWeakReference< WsfSA_EntityPerception > > & | GetPrioritizedMissileTargetEntities () |
| This returns a list of prioritized missile target entity perceptions, beginning with the highest priority target and working down to the lowest priority target. | |
| const std::list< UtWeakReference< WsfSA_Group > > & | GetPrioritizedTargetGroups () const |
| This returns a const list of prioritized target unfocused groups, beginning with the highest priority target and working down to the lowest priority target. | |
| std::list< UtWeakReference< WsfSA_Group > > & | GetPrioritizedTargetGroups () |
| This returns a list of prioritized target unfocused groups, beginning with the highest priority target and working down to the lowest priority target. | |
| WsfSA_PerceivedItem * | BestTarget (double aSimTime) |
| This returns a pointer to the best target or nullptr if no such target exists. | |
| WsfSA_EntityPerception * | BestTargetEntity (double aSimTime) |
| This returns a pointer to the best target entity or nullptr if no such target exists. | |
| WsfSA_EntityPerception * | BestTargetAircraft (double aSimTime) |
| This returns a pointer to the best aircraft target or nullptr if no such target exists. | |
| WsfSA_EntityPerception * | BestTargetMissile (double aSimTime) |
| This returns a pointer to the best missile target or nullptr if no such target exists. | |
| WsfSA_Group * | BestTargetGroup (double aSimTime) |
| This returns a pointer to the best group target or nullptr if no such target exists. | |
| std::vector< std::size_t > | CurrentlyTrackedPlatformIds () const |
| This returns a list of platform ids that are currently being tracked. | |
| std::vector< std::string > | CurrentlyTrackedPlatformNames () const |
| This returns a list of platform names that are currently being tracked. | |
| bool | IsCurrentlyBeingTracked (size_t aPlatformId) const |
| This returns true if the specified platform id is in the list of platforms that are currently being tracked. | |
| const std::list< WsfSA_Group * > & | PerceivedGroups () const |
| This returns a list of SA_PerceivedGroups that are currently perceived and assessed. | |
| const std::list< WsfSA_Group * > & | FocusedGroups () const |
| This returns a list of WsfSA_Groups that are focused. | |
| const std::list< WsfSA_Group * > & | UnfocusedGroups () const |
| This returns a list of WsfSA_Groups that are unfocused. | |
| void | UpdateGroupFocusLists () |
| Update mFocusedGroups and mUnfocusedGroups. | |
| void | SortedGroups (int aSortingEnum, std::vector< WsfSA_Group * > &aGroups) const |
| This returns all groups recognized by the SAP, sorted according to the given enumeration. | |
| WsfSA_Group * | GetGroup (const std::string &aName) const |
| This returns a pointer to the group with the specified name or null, if no group exists. | |
| std::string | MissionTask () const |
| This returns a string indicating the primary mission task. | |
| AcceptableRiskLevel | AcceptableLevelOfRisk () const |
| This returns the acceptable level of risk, expressed as an enum. | |
| uint8_t | AcceptableLevelOfRiskByte () const |
| This returns the acceptable level of risk, expressed as an uint8_t. | |
| double | Risk () const |
| This returns a normalized risk level, ranging from 0 (no risk) to 1 (maximum risk). | |
| double | Defensiveness () const |
| This returns a normalized defensiveness level, ranging from 0 (fully non-defensive) to 1 (fully defensive). | |
| double | Urgency () const |
| This returns a normalized urgency level, ranging from 0 (no urgency) to 1 (maximum urgency). | |
| double | SelfRisk () const |
| This returns a normalized self-risk level, ranging from 0 (no risk) to 1 (maximum risk). | |
| double | FlightRisk () const |
| This returns a normalized flight-risk level, ranging from 0 (no risk) to 1 (maximum risk). | |
| double | PackageRisk () const |
| This returns a normalized package-risk level, ranging from 0 (no risk) to 1 (maximum risk). | |
| double | MissionRisk () const |
| This returns a normalized mission-risk level, ranging from 0 (no risk) to 1 (maximum risk). | |
| bool | SupportingWeapon () const |
| This returns true if at least one weapon is being supported. | |
| bool | IgnoreMissilesAsThreats () const |
| This returns true if missiles should be ignored as threats. | |
| bool | IgnoreBogiesAsThreats () const |
| This returns true if bogies should be ignored as threats. | |
| bool | IgnoreMissilesAsTargets () const |
| This returns true if missiles should be ignored as targets. | |
| bool | IgnoreBogiesAsTargets () const |
| This returns true if bogies should be ignored as targets. | |
Static Public Member Functions | |
| static double | AngleOffTarget2D (const WsfPlatform &aPlatform, const WsfPlatform &aTargetPlatform) |
| This returns the 2D angle-off between the target and the platform (the difference in headings). | |
| static double | AngleOffTarget3D (const WsfPlatform &aPlatform, const WsfPlatform &aTargetPlatform) |
| This returns the 3D angle-off between the target and the platform (the difference in heading/velocity). | |
| static double | AspectAngleForTarget2D (const WsfPlatform &aPlatform, const WsfPlatform &aTargetPlatform) |
| This returns the aspect-angle for the target relative to the platform's position in 2D, meaning the aspect is based on a horizontal plane that contains the target, with the platform's position projected onto the plane. | |
| static double | AspectAngleForTarget3D (const WsfPlatform &aPlatform, const WsfPlatform &aTargetPlatform) |
| This returns the aspect-angle for the target relative to the platform's position in 3D, meaning the aspect is based on the angle between a 3D vector opposite of the target's velocity vector and the vector from the target to the platform's position. | |
| static double | OffBoresightAngleForTarget (const WsfPlatform &aPlatform, const WsfPlatform &aTargetPlatform) |
| This returns the off-boresight angle for the target relative to the platform's x-axis. | |
Protected Member Functions | |
| WsfSA_Assess (const WsfSA_Assess &)=default | |
| void | CalculateTrackedPlatforms (double aSimTime) |
| Calculate the currently tracked platforms for the current platform. | |
| bool | PlatformIsCurrentlyBeingTracked (size_t aTgtPlatformIndex) const |
| This returns true if the specified target platform index is in the list of currently tracked platforms. | |
| WsfLocalTrack * | GetPerceivedTrackedPlatformWithTarget (size_t aTgtPlatformIndex) |
| This returns a pointer to the first track containing the specified target platform index, or returns null. | |
| void | CalculateOverallRisks (double aSimTime) |
| Calculate the overall risk, self-risk, flight-risk, package-risk, and mission-risk level for the current platform. | |
| void | CalculateOverallDefensiveness (double aSimTime) |
| Calculate the overall defensiveness level for the current platform Defensiveness is normalized, and limited to 0.0 to 1.0. | |
| void | CalculateOverallUrgency (double aSimTime) |
| Calculate the overall sense of urgency for the current platform Urgency is normalized, and limited to 0.0 to 1.0. | |
| double | CalculateThreatLevel (double aSimTime, WsfSA_PerceivedItem *aThreatItem, bool aIsBogie) |
| Calculate the threat level posed by the specified threat SA entity to the current platform. | |
| double | CalculateTargetValue (double aSimTime, WsfSA_PerceivedItem *aTargetItem, bool aIsBogie) |
| Calculate the target value presented by the specified threat SA entity to the current platform Target value is normalized, and limited to 0.0 to 1.0. | |
| double | CalculateMissileThreatLevel (double aSimTime, WsfSA_EntityPerception *aThreatItem, bool aIsBogie) |
| Calculate the threat level posed by the specified missile threat SA entity to the current platform. | |
| double | CalculateMissileTargetValue (double aSimTime, WsfSA_EntityPerception *aTargetItem, bool aIsBogie) |
| Calculate the target value presented by the specified missile SA entity to the current platform Target value is normalized, and limited to 0.0 to 1.0. | |
| double | CalculateRisk (double aSimTime, WsfSA_EntityPerception *aThreatItem) |
| Calculate the risk posed by the specified threat SA entity to the current platform Risk is normalized, and limited to 0.0 to 1.0. | |
| double | CalculateDefensiveness (double aSimTime, WsfSA_EntityPerception *aThreatItem) |
| Calculate the defensiveness caused by the specified threat SA entity to the current platform. | |
| double | CalculateUrgency (double aSimTime, WsfSA_EntityPerception *aThreatItem) |
| Calculate the urgency created by the specified threat SA entity to the current platform Urgency is normalized, and limited to 0.0 to 1.0. | |
| double | ExecuteCalculateRisk (double aSimTime) |
| This will call an AFSIM script function "CalculateRisk". | |
| double | ExecuteCalculateSelfRisk (double aSimTime) |
| This will call an AFSIM script function "CalculateSelfRisk". | |
| double | ExecuteCalculateFlightRisk (double aSimTime) |
| This will call an AFSIM script function "CalculateFlightRisk". | |
| double | ExecuteCalculatePackageRisk (double aSimTime) |
| This will call an AFSIM script function "CalculatePackageRisk". | |
| double | ExecuteCalculateMissionRisk (double aSimTime) |
| This will call an AFSIM script function "CalculateMissionRisk". | |
| double | ExecuteCalculateDefensiveness (double aSimTime) |
| This will call an AFSIM script function "CalculateDefensiveness". | |
| double | ExecuteCalculateUrgency (double aSimTime) |
| This will call an AFSIM script function "CalculateUrgency". | |
| double | ExecuteCalculateEntityThreatLevel (double aSimTime, WsfSA_EntityPerception *aThreatItem, bool aIsBogie) |
| This will call an AFSIM script function "CalculateThreatLevel". | |
| double | ExecuteCalculateEntityTargetValue (double aSimTime, WsfSA_EntityPerception *aTargetItem, bool aIsBogie) |
| This will call an AFSIM script function "CalculateTargetValue". | |
| double | ExecuteCalculateMissileThreatLevel (double aSimTime, WsfSA_EntityPerception *aThreatItem, bool aIsBogie) |
| This will call an AFSIM script function "CalculateMissileThreatLevel". | |
| double | ExecuteCalculateMissileTargetValue (double aSimTime, WsfSA_EntityPerception *aTargetItem, bool aIsBogie) |
| This will call an AFSIM script function "CalculateMissileTargetValue". | |
| double | ExecuteCalculateGroupThreatLevel (double aSimTime, WsfSA_Group *aThreatItem, bool aIsBogie) |
| This will call an AFSIM script function "CalculateGroupThreatLevel". | |
| double | ExecuteCalculateGroupTargetValue (double aSimTime, WsfSA_Group *aTargetItem, bool aIsBogie) |
| This will call an AFSIM script function "CalculateGroupTargetValue". | |
| bool | ExecuteCalcWeaponSupport (double aSimTime) |
| This will call an AFSIM script function "CalcWeaponSupport". | |
Static Protected Member Functions | |
| static bool | CompareScore (const PlatormScorePairing &first, const PlatormScorePairing &second) |
Friends | |
| class | WsfSA_Processor |
This is the assess module of the SA Processor.
| WsfSA_Assess::WsfSA_Assess | ( | WsfSA_Processor * | aSA_ProcPtr, |
| WsfSA_Processor::PerceiveData * | aDataPtr ) |
References WsfSA_Module::WsfSA_Module(), and WsfSA_Processor.
Referenced by operator=(), WsfSA_Assess(), and WsfSA_Processor.
| WsfSA_Assess::~WsfSA_Assess | ( | ) |
|
protecteddefault |
References CalculateDefensiveness(), CalculateMissileTargetValue(), CalculateMissileThreatLevel(), CalculateOverallDefensiveness(), CalculateOverallRisks(), CalculateOverallUrgency(), CalculateRisk(), CalculateTargetValue(), CalculateThreatLevel(), CalculateTrackedPlatforms(), CalculateUrgency(), GetPerceivedTrackedPlatformWithTarget(), PlatformIsCurrentlyBeingTracked(), and WsfSA_Assess().
|
inline |
This returns the acceptable level of risk, expressed as an enum.
|
inline |
This returns the acceptable level of risk, expressed as an uint8_t.
|
static |
This returns the 2D angle-off between the target and the platform (the difference in headings).
This calculates angle-off as the angle between the headings of the target and the platform. A positive angle-off is when the difference in between the target heading and the platform heading is positive and is less than or equal to Pi. If the difference is negative and is greater than negative Pi, the angle-off is negative. The angle is in radians.
| aPlatform | platform to calculate 2d angle-off from. |
| aTargetPlatform | platform to calculate 2d angle-off to. |
Referenced by AngleOffTarget2D(), and UpdateEngagementsData().
| double WsfSA_Assess::AngleOffTarget2D | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the 2D angle-off between the target and the platform (the difference in headings).
This calculates angle-off as the angle between the headings of the target and the platform. A positive angle-off is when the difference in between the target heading and the platform heading is positive and is less than or equal to Pi. If the difference is negative and is greater than negative Pi, the angle-off is negative. The angle is in radians.
| aTargetPlatform | platform to calculate 2d angle-off to. |
References AngleOffTarget2D(), and WsfSA_Module::GetPlatform().
|
static |
This returns the 3D angle-off between the target and the platform (the difference in heading/velocity).
This calculates angle-off as the angle between the velocity vectors of the target and the platform. A positive angle-off is when the target is to the right of the platform. This is determined based on the y-vector of the platform. If the dot-product of the target's velocity vector and the platform's right side vector is positive, it is considered a positive angle-off. When the dot-product is negative, the angle-off is a negative value. The angle is in radians.
| aPlatform | platform to calculate 3d angle-off from. |
| aTargetPlatform | platform to calculate 3d angle-off to. |
Referenced by AngleOffTarget3D().
| double WsfSA_Assess::AngleOffTarget3D | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the 3D angle-off between the target and the platform (the difference in heading/velocity).
This calculates angle-off as the angle between the velocity vectors of the target and the platform. A positive angle-off is when the target is to the right of the platform. This is determined based on the y-vector of the platform. If the dot-product of the target's velocity vector and the platform's right side vector is positive, it is considered a positive angle-off. When the dot-product is negative, the angle-off is a negative value. The angle is in radians.
| aTargetPlatform | platform to calculate 3d angle-off to. |
References AngleOffTarget3D(), and WsfSA_Module::GetPlatform().
|
static |
This returns the aspect-angle for the target relative to the platform's position in 2D, meaning the aspect is based on a horizontal plane that contains the target, with the platform's position projected onto the plane.
A positive angle is the "right side" of the target and a negative angle is "left side" of the target. The angle is in radians.
| aPlatform | platform to calculate 2d aspect-angle from. |
| aTargetPlatform | platform to calculate 2d aspect-angle to. |
Referenced by AspectAngleForTarget2D(), UpdateEngagementsData(), and WsfSA_Processor::UpdateTrackData().
| double WsfSA_Assess::AspectAngleForTarget2D | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the aspect-angle for the target relative to the platform's position in 2D, meaning the aspect is based on a horizontal plane that contains the target, with the platform's position projected onto the plane.
A positive angle is the "right side" of the target and a negative angle is "left side" of the target. The angle is in radians.
| aTargetPlatform | platform to calculate 2d aspect-angle to. |
References AspectAngleForTarget2D(), and WsfSA_Module::GetPlatform().
|
static |
This returns the aspect-angle for the target relative to the platform's position in 3D, meaning the aspect is based on the angle between a 3D vector opposite of the target's velocity vector and the vector from the target to the platform's position.
Right side (positive) and left side (negative) is determined based on the y-vector of the target aircraft. If the vector dot-product of the target y-vector and the vector towards the platform is positive, it is considered "right side". The angle is measured in radians.
| aPlatform | platform to calculate 3d aspect-angle from. |
| aTargetPlatform | platform to calculate 3d aspect-angle to. |
Referenced by AspectAngleForTarget3D().
| double WsfSA_Assess::AspectAngleForTarget3D | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the aspect-angle for the target relative to the platform's position in 3D, meaning the aspect is based on the angle between a 3D vector opposite of the target's velocity vector and the vector from the target to the platform's position.
Right side (positive) and left side (negative) is determined based on the y-vector of the target aircraft. If the vector dot-product of the target y-vector and the vector towards the platform is positive, it is considered "right side". The angle is measured in radians.
| aTargetPlatform | platform to calculate 3d aspect-angle to. |
References AspectAngleForTarget3D(), and WsfSA_Module::GetPlatform().
| void WsfSA_Assess::AssessBogiesBandits | ( | double | aSimTime | ) |
Update and assess the current perceived bogies and bandits groups for the current platform.
| aSimTime | sim time at which to calculate |
References CalculateDefensiveness(), CalculateRisk(), CalculateTargetValue(), CalculateThreatLevel(), and CalculateUrgency().
Referenced by WsfSA_Perceive::UpdatePerceivedItemsCalculation().
| WsfSA_PerceivedItem * WsfSA_Assess::BestTarget | ( | double | aSimTime | ) |
This returns a pointer to the best target or nullptr if no such target exists.
| aSimTime | time at which to get the item |
References WsfSA_Module::GetSAP(), and WsfSA_Module::mDataPtr.
| WsfSA_EntityPerception * WsfSA_Assess::BestTargetAircraft | ( | double | aSimTime | ) |
This returns a pointer to the best aircraft target or nullptr if no such target exists.
| aSimTime | time at which to get entity |
References WsfSA_Module::mDataPtr.
| WsfSA_EntityPerception * WsfSA_Assess::BestTargetEntity | ( | double | aSimTime | ) |
This returns a pointer to the best target entity or nullptr if no such target exists.
| aSimTime | time at which to get entity |
References WsfSA_Module::GetSAP().
| WsfSA_Group * WsfSA_Assess::BestTargetGroup | ( | double | aSimTime | ) |
This returns a pointer to the best group target or nullptr if no such target exists.
| aSimTime | time at which to get group |
References WsfSA_Module::GetSAP().
| WsfSA_EntityPerception * WsfSA_Assess::BestTargetMissile | ( | double | aSimTime | ) |
This returns a pointer to the best missile target or nullptr if no such target exists.
| aSimTime | time at which to get entity |
References WsfSA_Module::mDataPtr.
| double WsfSA_Assess::CalcDeltaAltitude | ( | const WsfPlatform & | aSourcePlatform, |
| const WsfPlatform & | aTargetPlatform ) const |
This returns the difference in altitude the specified source platform and the target platform.
Positive delta means the target platform is higher than the source platform.
| aSourcePlatform | source platform to calculate delta altitude from |
| aTargetPlatform | target platform to calculate delta altitude to |
Referenced by CalcDeltaAltitude(), and UpdateEngagementsData().
| double WsfSA_Assess::CalcDeltaAltitude | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the difference in altitude between the current platform and the specified target platform.
Positive delta means the target platform is higher than the source platform.
| aTargetPlatform | target platform to calculate delta altitude to |
References CalcDeltaAltitude(), and WsfSA_Module::GetPlatform().
| double WsfSA_Assess::CalcSlantRange | ( | const WsfPlatform & | aSourcePlatform, |
| const WsfPlatform & | aTargetPlatform ) const |
This returns the range between the specified source platform and the target platform.
| aSourcePlatform | source platform to calculate range from |
| aTargetPlatform | target platform to calculate range to |
Referenced by CalcSlantRange(), ExpectedNormalizedDetectionRangeAgainstTarget(), ExpectedNormalizedWezRangeAgainstTarget(), and UpdateEngagementsData().
| double WsfSA_Assess::CalcSlantRange | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the range between the current platform and the specified target platform.
| aTargetPlatform | target platform to calculate range to. |
References CalcSlantRange(), and WsfSA_Module::GetPlatform().
|
protected |
Calculate the defensiveness caused by the specified threat SA entity to the current platform.
Defensiveness is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aThreatItem | threat SA entity to evaluate |
References WsfScriptContext::ExecuteScript(), WsfSA_EntityPerception::GetDefensiveness(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), WsfSA_Module::GetScriptContext(), WsfScriptContext::GetTypes(), and WsfSA_EntityPerception::SetDefensiveness().
Referenced by AssessBogiesBandits(), UpdateEngagementsData(), and WsfSA_Assess().
|
protected |
Calculate the target value presented by the specified missile SA entity to the current platform Target value is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aTargetItem | target SA entity to evaluate |
| aIsBogie | true if entity is a bogie (this adjusts the target value scoring) |
References ExecuteCalculateMissileTargetValue(), WsfSA_EntityPerception::GetAltitude_ft(), WsfSA_PerceivedItem::GetAltitudeValid(), WsfSA_EntityPerception::GetIsMissile(), WsfSA_EntityPerception::GetLat_deg(), WsfSA_EntityPerception::GetLon_deg(), WsfSA_Module::GetPlatform(), WsfSA_PerceivedItem::GetTargetValue(), OffBoresightAngleForTarget(), and WsfSA_PerceivedItem::SetTargetValue().
Referenced by CalculateTargetValue(), and WsfSA_Assess().
|
protected |
Calculate the threat level posed by the specified missile threat SA entity to the current platform.
Threat level is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aThreatItem | threat SA entity to evaluate |
| aIsBogie | true if entity is a bogie (this adjusts the threat level scoring) |
References ExecuteCalculateMissileThreatLevel(), WsfSA_EntityPerception::GetAltitude_ft(), WsfSA_PerceivedItem::GetAltitudeValid(), WsfSA_EntityPerception::GetIsMissile(), WsfSA_EntityPerception::GetLat_deg(), WsfSA_EntityPerception::GetLon_deg(), WsfSA_Module::GetPlatform(), WsfSA_PerceivedItem::GetThreatLevel(), OffBoresightAngleForTarget(), and WsfSA_PerceivedItem::SetThreatLevel().
Referenced by CalculateThreatLevel(), and WsfSA_Assess().
|
protected |
Calculate the overall defensiveness level for the current platform Defensiveness is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
References ExecuteCalculateDefensiveness().
Referenced by UpdatePrioritizedThreatsAndTargetsData(), and WsfSA_Assess().
|
protected |
Calculate the overall risk, self-risk, flight-risk, package-risk, and mission-risk level for the current platform.
Risks are normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
References ExecuteCalculateFlightRisk(), ExecuteCalculateMissionRisk(), ExecuteCalculatePackageRisk(), ExecuteCalculateRisk(), and ExecuteCalculateSelfRisk().
Referenced by UpdatePrioritizedThreatsAndTargetsData(), and WsfSA_Assess().
|
protected |
Calculate the overall sense of urgency for the current platform Urgency is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
References ExecuteCalculateUrgency().
Referenced by UpdatePrioritizedThreatsAndTargetsData(), and WsfSA_Assess().
| void WsfSA_Assess::CalculatePrioritizedTargets | ( | double | aSimTime | ) |
Calculate the prioritized targets for the current platform.
| aSimTime | sim time at which to calculate |
References WsfSA_PerceivedItem::BANDIT, CalculateTargetValue(), WsfSA_PerceivedItem::CompareTargetValueHighGood(), WsfSA_PerceivedItem::ENTITY, WsfSA_PerceivedItem::FRIENDLY, WsfObject::GetName(), WsfSimulation::GetPlatformByIndex(), WsfSA_Module::GetSimulation(), and WsfSA_PerceivedItem::NEUTRAL.
Referenced by UpdatePrioritizedThreatsAndTargetsData().
| void WsfSA_Assess::CalculatePrioritizedThreats | ( | double | aSimTime | ) |
Calculate the prioritized threats for the current platform.
| aSimTime | sim time at which to calculate |
References WsfSA_PerceivedItem::BANDIT, CalculateThreatLevel(), WsfSA_PerceivedItem::CompareThreatLevelHighGood(), WsfSA_PerceivedItem::ENTITY, WsfSA_PerceivedItem::FRIENDLY, WsfSA_EntityPerception::GetEntityPlatformIndex(), WsfSA_EntityPerception::GetIsMissile(), WsfObject::GetName(), WsfSimulation::GetPlatformByIndex(), WsfSA_Module::GetSimulation(), WsfTrack::GetTargetIndex(), WsfTrack::GetTargetName(), WsfSA_EntityPerception::GetTrackPtr(), and WsfSA_PerceivedItem::NEUTRAL.
Referenced by UpdatePrioritizedThreatsAndTargetsData().
|
protected |
Calculate the risk posed by the specified threat SA entity to the current platform Risk is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aThreatItem | threat SA entity to evaluate |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), WsfSA_EntityPerception::GetRisk(), WsfSA_Module::GetScriptContext(), WsfScriptContext::GetTypes(), and WsfSA_EntityPerception::SetRisk().
Referenced by AssessBogiesBandits(), UpdateEngagementsData(), and WsfSA_Assess().
|
protected |
Calculate the target value presented by the specified threat SA entity to the current platform Target value is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aTargetItem | target SA entity to evaluate |
| aIsBogie | true if entity is a bogie (this adjusts the target value scoring) |
References WsfSA_PerceivedItem::BOGIE, CalculateMissileTargetValue(), WsfSA_PerceivedItem::ENTITY, ExecuteCalculateEntityTargetValue(), ExecuteCalculateGroupTargetValue(), WsfSA_PerceivedItem::FRIENDLY, WsfSA_PerceivedItem::GetAltitude_ft(), WsfSA_PerceivedItem::GetAltitudeValid(), WsfSA_PerceivedItem::GetIdentification(), WsfSA_PerceivedItem::GetItemType(), WsfSA_PerceivedItem::GetLat_deg(), WsfSA_PerceivedItem::GetLon_deg(), WsfSA_Module::GetPlatform(), WsfSA_PerceivedItem::GetTargetValue(), WsfSA_PerceivedItem::NEUTRAL, OffBoresightAngleForTarget(), and WsfSA_PerceivedItem::SetTargetValue().
Referenced by AssessBogiesBandits(), CalculatePrioritizedTargets(), UpdateEngagementsData(), and WsfSA_Assess().
|
protected |
Calculate the threat level posed by the specified threat SA entity to the current platform.
Threat level is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aThreatItem | threat SA entity to evaluate |
| aIsBogie | true if entity is a bogie (this adjusts the threat level scoring) |
References WsfSA_PerceivedItem::BOGIE, CalculateMissileThreatLevel(), WsfSA_PerceivedItem::ENTITY, ExecuteCalculateEntityThreatLevel(), ExecuteCalculateGroupThreatLevel(), WsfSA_PerceivedItem::FRIENDLY, WsfSA_PerceivedItem::GetAltitude_ft(), WsfSA_PerceivedItem::GetAltitudeValid(), WsfSA_PerceivedItem::GetIdentification(), WsfSA_PerceivedItem::GetItemType(), WsfSA_PerceivedItem::GetLat_deg(), WsfSA_PerceivedItem::GetLon_deg(), WsfSA_Module::GetPlatform(), WsfSA_PerceivedItem::GetThreatLevel(), WsfSA_PerceivedItem::NEUTRAL, OffBoresightAngleForTarget(), and WsfSA_PerceivedItem::SetThreatLevel().
Referenced by AssessBogiesBandits(), CalculatePrioritizedThreats(), UpdateEngagementsData(), and WsfSA_Assess().
|
protected |
Calculate the currently tracked platforms for the current platform.
| aSimTime | sim time at which to calculate |
References WsfSA_Module::GetSAP(), WsfSA_Processor::GetTrackManagerList(), and WsfSA_Processor::PerceptionMasterTrackProcessor().
Referenced by UpdateEngagementsData(), and WsfSA_Assess().
|
protected |
Calculate the urgency created by the specified threat SA entity to the current platform Urgency is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aThreatItem | threat SA entity to evaluate |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), WsfSA_Module::GetScriptContext(), WsfScriptContext::GetTypes(), WsfSA_EntityPerception::GetUrgency(), and WsfSA_EntityPerception::SetUrgency().
Referenced by AssessBogiesBandits(), UpdateEngagementsData(), and WsfSA_Assess().
|
staticprotected |
References WsfSA_Assess::PlatormScorePairing::score.
|
inline |
This returns a list of platform ids that are currently being tracked.
|
inline |
This returns a list of platform names that are currently being tracked.
Referenced by WsfSA_Processor::DebugTestOutput().
|
inline |
This returns a normalized defensiveness level, ranging from 0 (fully non-defensive) to 1 (fully defensive).
Referenced by WsfSA_Processor::DebugTestOutput().
|
protected |
This will call an AFSIM script function "CalculateDefensiveness".
It returns the value, or if the function is not present, it will return zero. Defensiveness is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), and WsfSA_Module::GetScriptContext().
Referenced by CalculateOverallDefensiveness().
|
protected |
This will call an AFSIM script function "CalculateTargetValue".
It returns the value, or if the function is not present, it will return zero. Target value is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aTargetItem | entity being evaluated |
| aIsBogie | true if this entity is a bogie |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), WsfSA_Module::GetScriptContext(), and WsfScriptContext::GetTypes().
Referenced by CalculateTargetValue().
|
protected |
This will call an AFSIM script function "CalculateThreatLevel".
It returns the value, or if the function is not present, it will return zero. Threat level is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aThreatItem | entity being evaluated |
| aIsBogie | true if this entity is a bogie |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), WsfSA_Module::GetScriptContext(), and WsfScriptContext::GetTypes().
Referenced by CalculateThreatLevel().
|
protected |
This will call an AFSIM script function "CalculateFlightRisk".
It returns the value, or if the function is not present, it will return zero. Flight risk is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), and WsfSA_Module::GetScriptContext().
Referenced by CalculateOverallRisks().
|
protected |
This will call an AFSIM script function "CalculateGroupTargetValue".
It returns the value, or if the function is not present, it will return zero. Target value is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aTargetItem | entity being evaluated |
| aIsBogie | true if this entity is a bogie |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), WsfSA_Module::GetScriptContext(), and WsfScriptContext::GetTypes().
Referenced by CalculateTargetValue().
|
protected |
This will call an AFSIM script function "CalculateGroupThreatLevel".
It returns the value, or if the function is not present, it will return zero. Threat level is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aThreatItem | entity being evaluated |
| aIsBogie | true if this entity is a bogie |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), WsfSA_Module::GetScriptContext(), and WsfScriptContext::GetTypes().
Referenced by CalculateThreatLevel().
|
protected |
This will call an AFSIM script function "CalculateMissileTargetValue".
It returns the value, or if the function is not present, it will return zero. Target value is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aTargetItem | entity being evaluated |
| aIsBogie | true if this entity is a bogie |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), WsfSA_Module::GetScriptContext(), and WsfScriptContext::GetTypes().
Referenced by CalculateMissileTargetValue().
|
protected |
This will call an AFSIM script function "CalculateMissileThreatLevel".
It returns the value, or if the function is not present, it will return zero. Threat level is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
| aThreatItem | entity being evaluated |
| aIsBogie | true if this entity is a bogie |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), WsfSA_Module::GetScriptContext(), and WsfScriptContext::GetTypes().
Referenced by CalculateMissileThreatLevel().
|
protected |
This will call an AFSIM script function "CalculateMissionRisk".
It returns the value, or if the function is not present, it will return zero. Mission risk is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), and WsfSA_Module::GetScriptContext().
Referenced by CalculateOverallRisks().
|
protected |
This will call an AFSIM script function "CalculatePackageRisk".
It returns the value, or if the function is not present, it will return zero. Package risk is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), and WsfSA_Module::GetScriptContext().
Referenced by CalculateOverallRisks().
|
protected |
This will call an AFSIM script function "CalculateRisk".
It returns the value, or if the function is not present, it will return zero. Risk is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), and WsfSA_Module::GetScriptContext().
Referenced by CalculateOverallRisks().
|
protected |
This will call an AFSIM script function "CalculateSelfRisk".
It returns the value, or if the function is not present, it will return zero. Self risk is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), and WsfSA_Module::GetScriptContext().
Referenced by CalculateOverallRisks().
|
protected |
This will call an AFSIM script function "CalculateUrgency".
It returns the value, or if the function is not present, it will return zero. Urgency is normalized, and limited to 0.0 to 1.0.
| aSimTime | sim time at which to calculate |
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), and WsfSA_Module::GetScriptContext().
Referenced by CalculateOverallUrgency().
|
protected |
This will call an AFSIM script function "CalcWeaponSupport".
It returns the value, or if the function is not present, it will return false. *
References WsfScriptContext::ExecuteScript(), WsfObject::GetName(), WsfSA_Module::GetPlatform(), and WsfSA_Module::GetScriptContext().
Referenced by UpdateWeaponSupport().
| double WsfSA_Assess::ExpectedDetectionRange | ( | const WsfPlatform & | aSourePlatform, |
| const WsfPlatform & | aTargetPlatform ) const |
This returns the expected detection range (in meters) where the current platform could detect the target platform, with the current relative aspects and states.
This will consider all radars and IR sensors, and select the sensor with the best range. If a sensor is turned off, it will not be considered. The function will return zero if no viable sensors are available and operating.
| aSourePlatform | platform trying to perform the detection. |
| aTargetPlatform | target platform being detected. |
Referenced by ExpectedDetectionRangeAgainstTarget(), and ExpectedDetectionRangeByTarget().
| double WsfSA_Assess::ExpectedDetectionRangeAgainstTarget | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the expected detection range (in meters) where the current platform could detect the target platform, with the current relative aspects and states.
This will consider all radars and IR sensors, and select the sensor with the best range. If a sensor is turned off, it will not be considered. The function will return zero if no viable sensors are available and operating.
| aTargetPlatform | target platform to get the detection range from the current platform. |
References ExpectedDetectionRange(), and WsfSA_Module::GetPlatform().
Referenced by ExpectedDetectionRangeAgainstTarget(), ExpectedNormalizedDetectionRangeAgainstTarget(), and UpdateEngagementsData().
| double WsfSA_Assess::ExpectedDetectionRangeAgainstTarget | ( | size_t | aIndex | ) | const |
This returns the expected detection range (in meters) where the current platform could detect the target platform, with the current relative aspects and states.
This will consider all radars and IR sensors, and select the sensor with the best range. If a sensor is turned off, it will not be considered. The function will return zero if no viable sensors are available and operating.
| aIndex | index of the target platform to get the detection range from the current platform. |
References ExpectedDetectionRangeAgainstTarget(), WsfSimulation::GetPlatformByIndex(), and WsfSA_Module::GetSimulation().
| double WsfSA_Assess::ExpectedDetectionRangeByTarget | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the expected detection range (in meters) where the target platform could detect the current platform, with the current relative aspects and states.
This will consider all radars and IR sensors, and select the sensor with the best range. If a sensor is turned off, it will not be considered. The function will return zero if no viable sensors are available and operating.
| aTargetPlatform | target platform to get the detection range to the current platform. |
References ExpectedDetectionRange(), and WsfSA_Module::GetPlatform().
Referenced by ExpectedDetectionRangeByTarget().
| double WsfSA_Assess::ExpectedDetectionRangeByTarget | ( | size_t | aIndex | ) | const |
This returns the expected detection range (in meters) where the target platform could detect the current platform, with the current relative aspects and states.
This will consider all radars and IR sensors, and select the sensor with the best range. If a sensor is turned off, it will not be considered. The function will return zero if no viable sensors are available and operating.
| aIndex | index of the target platform to get the detection range to the current platform. |
References ExpectedDetectionRangeByTarget(), WsfSimulation::GetPlatformByIndex(), and WsfSA_Module::GetSimulation().
| double WsfSA_Assess::ExpectedMaximumEngagementRangeAgainstTarget | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the expected maximum engagement range for the current platform against the given target platform.
| aTargetPlatform | the target platform to calculate maximum engagement range against. |
Referenced by ExpectedMaximumEngagementRangeAgainstTarget(), and UpdateEngagementsData().
| double WsfSA_Assess::ExpectedMaximumEngagementRangeAgainstTarget | ( | size_t | aIndex | ) | const |
This returns the expected maximum engagement range for the current platform against the given target platform.
| aIndex | index of the target platform to calculate maximum engagement range against. |
References ExpectedMaximumEngagementRangeAgainstTarget(), and WsfSA_Module::mSA_ProcessorPtr.
| double WsfSA_Assess::ExpectedMinimumEngagementRangeAgainstTarget | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the expected minimum engagement range for the current platform against the given target platform.
| aTargetPlatform | the target platform to calculate minimum engagement range against. |
Referenced by ExpectedMinimumEngagementRangeAgainstTarget(), and UpdateEngagementsData().
| double WsfSA_Assess::ExpectedMinimumEngagementRangeAgainstTarget | ( | size_t | aIndex | ) | const |
This returns the expected minimum engagement range for the current platform against the given target platform.
| aIndex | index of the target platform to calculate minimum engagement range against. |
References ExpectedMinimumEngagementRangeAgainstTarget(), and WsfSA_Module::mSA_ProcessorPtr.
| double WsfSA_Assess::ExpectedNoEscapeRangeAgainstTarget | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the expected "no escape" engagement range for the current platform against the given target platform.
| aTargetPlatform | the target platform to calculate "no escape" engagement range against. |
Referenced by ExpectedNoEscapeRangeAgainstTarget(), and UpdateEngagementsData().
| double WsfSA_Assess::ExpectedNoEscapeRangeAgainstTarget | ( | size_t | aIndex | ) | const |
This returns the expected "no escape" engagement range for the current platform against the given target platform.
| aIndex | index of the target platform to calculate "no escape" engagement range against. |
References ExpectedNoEscapeRangeAgainstTarget(), and WsfSA_Module::mSA_ProcessorPtr.
| double WsfSA_Assess::ExpectedNormalizedDetectionRangeAgainstTarget | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the expected detection range against a given target platform as a normalized value between 0 and 1.
| aTargetPlatform | target platform to get the normalized detection range for. |
References CalcSlantRange(), ExpectedDetectionRangeAgainstTarget(), and WsfSA_Module::GetPlatform().
Referenced by ExpectedNormalizedDetectionRangeAgainstTarget().
| double WsfSA_Assess::ExpectedNormalizedDetectionRangeAgainstTarget | ( | size_t | aIndex | ) | const |
This returns the expected detection range against a given target platform as a normalized value between 0 and 1.
| aIndex | index of the target platform to get the normalized detection range for. |
References ExpectedNormalizedDetectionRangeAgainstTarget(), WsfSimulation::GetPlatformByIndex(), and WsfSA_Module::GetSimulation().
| double WsfSA_Assess::ExpectedNormalizedWezRangeAgainstTarget | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the expected WEZ range against a given target platform as a normalized value between 0 and 1.
| aTargetPlatform | target platform to get the normalized WEZ range to the current platform. |
References CalcSlantRange(), ExpectedWezRangeAgainstTarget(), and WsfSA_Module::GetPlatform().
Referenced by ExpectedNormalizedWezRangeAgainstTarget().
| double WsfSA_Assess::ExpectedNormalizedWezRangeAgainstTarget | ( | size_t | aIndex | ) | const |
This returns the expected WEZ range against a given target platform as a normalized value between 0 and 1.
| aIndex | index of the target platform to get the normalized WEZ range to the current platform. |
References ExpectedNormalizedWezRangeAgainstTarget(), WsfSimulation::GetPlatformByIndex(), and WsfSA_Module::GetSimulation().
| double WsfSA_Assess::ExpectedWezRangeAgainstTarget | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the expected WEZ range for the current platform against the target platform, with the current relative aspects and states.
The WEZ is for the currently selected weapon.
| aTargetPlatform | target platform to get the WEZ range to the current platform. |
Referenced by ExpectedNormalizedWezRangeAgainstTarget(), ExpectedWezRangeAgainstTarget(), and UpdateEngagementsData().
| double WsfSA_Assess::ExpectedWezRangeAgainstTarget | ( | size_t | aIndex | ) | const |
This returns the expected WEZ range for the current platform against the target platform, with the current relative aspects and states.
The WEZ is for the currently selected weapon.
| aIndex | index of the target platform to get the WEZ range to the current platform. |
References ExpectedWezRangeAgainstTarget(), and WsfSA_Module::mSA_ProcessorPtr.
| double WsfSA_Assess::ExpectedWezRangeByTarget | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the expected WEZ range for the target platform against the current platform, with the current relative aspects and states.
The WEZ is for the currently selected weapon.
| aTargetPlatform | target platform to get the WEZ range from the current platform. |
References WsfSA_Module::GetPlatform().
Referenced by ExpectedWezRangeByTarget().
| double WsfSA_Assess::ExpectedWezRangeByTarget | ( | size_t | aIndex | ) | const |
This returns the expected WEZ range for the target platform against the current platform, with the current relative aspects and states.
The WEZ is for the currently selected weapon.
| aIndex | index of the target platform to get the WEZ range from the current platform. |
References ExpectedWezRangeByTarget(), and WsfSA_Module::mSA_ProcessorPtr.
|
inline |
This returns a normalized flight-risk level, ranging from 0 (no risk) to 1 (maximum risk).
Referenced by WsfSA_Processor::DebugTestOutput().
|
inline |
This returns a list of WsfSA_Groups that are focused.
|
inline |
A placeholder function that, in the future, will return the minimum speed required to reach the platform's maximum G Load.
| WsfSA_Group * WsfSA_Assess::GetGroup | ( | const std::string & | aName | ) | const |
This returns a pointer to the group with the specified name or null, if no group exists.
| aName | name of the desired group. |
References WsfSA_Module::GetSAP().
|
protected |
This returns a pointer to the first track containing the specified target platform index, or returns null.
Note that this uses the perceived master track processor if available, otherwise it uses the master track processor.
| aTgtPlatformIndex | target platform index to consider |
References WsfSA_Processor::GetPerceptionMasterTrackProcessorTrackList(), WsfSA_Module::GetPlatform(), WsfSA_Module::GetSAP(), WsfTrack::GetTargetIndex(), WsfTrackListT< T >::GetTrackCount(), WsfTrackListT< T >::GetTrackEntry(), WsfTrackManager::GetTrackList(), and WsfPlatform::GetTrackManager().
Referenced by UpdateEngagementsData(), and WsfSA_Assess().
|
inline |
This returns a list of prioritized aircraft target entity perceptions, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a const list of prioritized aircraft target entity perceptions, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a list of prioritized aircraft threat entity perceptions, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns a const list of prioritized aircraft threat entity perceptions, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns a list of prioritized missile target entity perceptions, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a const list of prioritized missile target entity perceptions, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a list of prioritized missile threat entity perceptions, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns a const list of prioritized missile threat entity perceptions, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns a list of prioritized target perceived entities, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a const list of prioritized target perceived entities, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a list of prioritized target unfocused groups, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a const list of prioritized target unfocused groups, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a list of prioritized target perceived items, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a const list of prioritized target perceived items, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a list of prioritized threat perceived entities, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns a const list of prioritized threat perceived entities, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns a list of prioritized threat unfocused groups, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns a const list of prioritized threat unfocused groups, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns a list of prioritized threat perceived items, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns a const list of prioritized threat perceived items, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns the name of the current selected weapon.
It will return an empty string if no weapon is selected.
Referenced by WsfSA_Processor::DebugTestOutput().
|
inline |
This returns the state of the weapon bay doors.
It will return true if the doors are open.
| WsfSA_PerceivedItem * WsfSA_Assess::HighestThreat | ( | double | aSimTime | ) |
This returns a pointer to the highest threat or nullptr if no such threat exists.
| aSimTime | time at which to get entity |
References WsfSA_Module::GetSAP(), and WsfSA_Module::mDataPtr.
| WsfSA_EntityPerception * WsfSA_Assess::HighestThreatAircraft | ( | double | aSimTime | ) |
This returns a pointer to the highest aircraft threat or nullptr if no such threat exists.
| aSimTime | time at which to get entity |
References WsfSA_Module::mDataPtr.
| WsfSA_EntityPerception * WsfSA_Assess::HighestThreatEntity | ( | double | aSimTime | ) |
This returns a pointer to the highest entity threat or nullptr if no such threat exists.
| aSimTime | time at which to get entity |
References WsfSA_Module::GetSAP().
| WsfSA_Group * WsfSA_Assess::HighestThreatGroup | ( | double | aSimTime | ) |
This returns a pointer to the highest group threat or nullptr if no such threat exists.
| aSimTime | time at which to get entity |
References WsfSA_Module::GetSAP().
| WsfSA_EntityPerception * WsfSA_Assess::HighestThreatMissile | ( | double | aSimTime | ) |
This returns a pointer to the highest missile threat or nullptr if no such threat exists.
| aSimTime | time at which to get entity |
References WsfSA_Module::mDataPtr.
|
inline |
This returns true if bogies should be ignored as targets.
|
inline |
This returns true if bogies should be ignored as threats.
|
inline |
This returns true if missiles should be ignored as targets.
|
inline |
This returns true if missiles should be ignored as threats.
| void WsfSA_Assess::Initialize | ( | double | aSimTime | ) |
Performs initialization during creation.
This should be called from the SA Processor's Initialize() function.
| aSimTime | sim time when processing |
References WsfScriptContext::FindScript(), WsfSA_Processor::GetData(), WsfSA_Module::GetSAP(), WsfScriptProcessor::GetScriptContext(), ok, WsfSA_Processor::Perceive(), and WsfScriptContext::ValidateScript().
| bool WsfSA_Assess::IsCurrentlyBeingTracked | ( | size_t | aPlatformId | ) | const |
This returns true if the specified platform id is in the list of platforms that are currently being tracked.
|
inline |
Return the max prioritized target count the platform can handle.
|
inline |
Return the max prioritized threat count the platform can handle.
|
inline |
This returns a normalized mission-risk level, ranging from 0 (no risk) to 1 (maximum risk).
Referenced by WsfSA_Processor::DebugTestOutput().
|
inline |
This returns a string indicating the primary mission task.
Referenced by WsfSA_Processor::DebugTestOutput().
| double WsfSA_Assess::OffBoresightAngleForTarget | ( | const double | aLocationWCS[3] | ) | const |
This returns the off-boresight angle for the target location relative to the platform's x-axis.
It is a positive angle between zero (directly in front of the nose) to Pi (directly behind the tail). The angle is measured in radians.
| aLocationWCS | location to calculate 3d aspect-angle towards. |
References WsfSA_Module::GetPlatform().
|
static |
This returns the off-boresight angle for the target relative to the platform's x-axis.
It is a positive angle between zero (directly in front of the nose) to Pi (directly behind the tail). The angle is measured in radians.
| aPlatform | platform to calculate off-boresight aspect-angle from. |
| aTargetPlatform | platform to calculate angle towards. |
Referenced by CalculateMissileTargetValue(), CalculateMissileThreatLevel(), CalculateTargetValue(), CalculateThreatLevel(), and OffBoresightAngleForTarget().
| double WsfSA_Assess::OffBoresightAngleForTarget | ( | const WsfPlatform & | aTargetPlatform | ) | const |
This returns the off-boresight angle for the target relative to the platform's x-axis.
It is a positive angle between zero (directly in front of the nose) to Pi (directly behind the tail). The angle is measured in radians.
| aTargetPlatform | platform to calculate 3d aspect-angle towards. |
References WsfSA_Module::GetPlatform(), and OffBoresightAngleForTarget().
|
delete |
References WsfSA_Assess().
|
inline |
This returns a normalized package-risk level, ranging from 0 (no risk) to 1 (maximum risk).
Referenced by WsfSA_Processor::DebugTestOutput().
|
inline |
This returns a list of SA_PerceivedGroups that are currently perceived and assessed.
References WsfSA_Processor::GetData(), WsfSA_Module::GetSAP(), and WsfSA_Processor::PerceiveData::mCurrentlyPerceivedGroups.
Referenced by WsfSA_Processor::DebugTestOutput().
| std::vector< WsfSA_PerceivedItem * > WsfSA_Assess::PerceivedThreatItems | ( | double | aSimTime | ) |
Return a reference to the list of perceived items for the current platform at a given time.
| aSimTime | The sim time at which to get the list of perceived bogies |
References WsfSA_PerceivedItem::FRIENDLY, WsfSA_Processor::GetData(), WsfSA_Module::GetSAP(), WsfSA_Processor::PerceiveData::mPerceivedBandits, and WsfSA_PerceivedItem::NEUTRAL.
|
protected |
This returns true if the specified target platform index is in the list of currently tracked platforms.
| aTgtPlatformIndex | target platform index to consider |
Referenced by UpdateEngagementsData(), and WsfSA_Assess().
|
inline |
This returns a list of prioritized target platform ids, beginning with the highest priority target and working down to the lowest priority target.
|
inline |
This returns a list of prioritized target platform names, beginning with the highest priority target and working down to the lowest priority target.
Referenced by WsfSA_Processor::DebugTestOutput().
|
inline |
This returns a list of prioritized threat platform ids, beginning with the highest priority threat and working down to the lowest priority threat.
|
inline |
This returns a list of prioritized threat platform names, beginning with the highest priority threat and working down to the lowest priority threat.
Referenced by WsfSA_Processor::DebugTestOutput().
| bool WsfSA_Assess::ProcessInput | ( | UtInput & | aInput | ) |
Process input from script.
| aInput | input to parse. |
References WsfSA_Assess::AircraftSignatureParameters::engineExitArea, WsfSA_Assess::AircraftSignatureParameters::engineInletArea, WsfSA_Assess::AircraftSignatureParameters::fuselageFrontalArea, WsfSA_Assess::AircraftSignatureParameters::noseSignatureReductionAngle, WsfSA_Assess::AircraftSignatureParameters::signatureReductionFactorNose, WsfSA_Assess::AircraftSignatureParameters::signatureReductionFactorOverall, WsfSA_Assess::AircraftSignatureParameters::sweepAngle, WsfSA_Assess::AircraftSignatureParameters::tailArea, and WsfSA_Assess::AircraftSignatureParameters::wingArea.
|
inline |
Set the max prioritized target to the value provided during initialization (default is 0 where not provided).
|
inline |
Set the max prioritized target to the value provided during initialization (default is 0 where not provided).
|
inline |
This returns a normalized risk level, ranging from 0 (no risk) to 1 (maximum risk).
Referenced by WsfSA_Processor::DebugTestOutput(), and UT_DEFINE_SCRIPT_METHOD().
|
inline |
This returns a normalized self-risk level, ranging from 0 (no risk) to 1 (maximum risk).
Referenced by WsfSA_Processor::DebugTestOutput().
|
inline |
Set the prioritized target maximum.
| aMax | number of targets a platform can prioritize (0 value means no limit) |
|
inline |
Set the prioritized threat maximum.
| aMax | number of threats a platform can prioritize (0 value means no limit) |
|
inline |
This sets the name of the current selected weapon.
If no weapon is selected, an empty string should be used.
|
inline |
This sets the state of the weapon bay doors.
True indicates that the doors are open.
| void WsfSA_Assess::SortedGroups | ( | int | aSortingEnum, |
| std::vector< WsfSA_Group * > & | aGroups ) const |
This returns all groups recognized by the SAP, sorted according to the given enumeration.
| aSortingEnum | The enumeration which describes how the list should be sorted. |
| aGroups | The output variable. This should be supplied with an empty vector. |
References WsfSA_Module::GetPlatform(), WsfSA_Module::mDataPtr, and WsfSA_GroupUtils::SortedGroups().
|
inline |
This returns true if at least one weapon is being supported.
| double WsfSA_Assess::TryUpdateEngagements | ( | double | aSimTime | ) |
Attempt to update engagement data at a sim time, and return an appropriate time for the next event update.
A cognitive delay is factored in.
| aSimTime | sim time at which to attempt updating |
References WsfSA_Processor::cENGAGEMENT_DATA, WsfSA_Module::GetSAP(), and UpdateEngagements().
| double WsfSA_Assess::TryUpdatePrioritizedItemCalculation | ( | double | aSimTime | ) |
Attempt to update prioritized threat and target calculations at a sim time, and return an appropriate time for the next event update.
A cognitive delay is factored in.
| aSimTime | sim time at which to attempt updating |
References WsfSA_Processor::cPRIORITIZED_ITEM_CALCULATION, WsfSA_Module::GetSAP(), and UpdatePrioritizedItemCalculation().
| double WsfSA_Assess::TryUpdatePrioritizedItemData | ( | double | aSimTime | ) |
Attempt to update prioritized threat and target data at a sim time, and return an appropriate time for the next event update.
| aSimTime | sim time at which to attempt updating |
References WsfSA_Processor::cPRIORITIZED_ITEM_DATA, WsfSA_Module::GetSAP(), and UpdatePrioritizedItemData().
|
inline |
This returns a list of WsfSA_Groups that are unfocused.
| void WsfSA_Assess::UpdateEngagements | ( | double | aSimTime | ) |
Update engagement data at a sim time, and return an appropriate time for the next event update.
A cognitive delay is factored in.
| aSimTime | sim time at which to attempt updating |
References WsfObserver::AirCombatSendEngagementSummaryData(), WsfSA_Processor::cENGAGEMENT_DATA, WsfSA_Module::GetPlatform(), WsfSA_Module::GetSAP(), WsfSA_Module::GetSimulation(), WsfSA_Processor::SetLastUpdateTime(), and UpdateEngagementsData().
Referenced by TryUpdateEngagements().
| void WsfSA_Assess::UpdateEngagementsData | ( | double | aSimTime | ) |
Update engagement data at a sim time, and return an appropriate time for the next event update.
A cognitive delay is factored in.
| aSimTime | sim time at which to attempt updating |
References WsfSA_Assess::AssessEngagementData::acceptableWez, WsfSA_Assess::AssessEngagementData::angleOff_deg, AngleOffTarget2D(), WsfSA_Assess::AssessEngagementData::aspectAngle_deg, AspectAngleForTarget2D(), CalcDeltaAltitude(), CalcSlantRange(), CalculateDefensiveness(), WsfSA_Processor::CalculateEmissions(), WsfSA_Processor::CalculateObservables(), CalculateRisk(), CalculateTargetValue(), CalculateThreatLevel(), CalculateTrackedPlatforms(), CalculateUrgency(), WsfTrack::cIFF_FOE, WsfTrack::cIFF_FRIEND, WsfTrack::cIFF_NEUTRAL, WsfSA_Assess::AssessEngagementData::currentDeltaAlt_ft, WsfSA_Assess::AssessEngagementData::currentRange_nm, WsfSA_Assess::AssessEngagementData::defensiveness, WsfSA_Assess::AssessEngagementData::detectionRange_nm, ExpectedDetectionRangeAgainstTarget(), ExpectedMaximumEngagementRangeAgainstTarget(), ExpectedMinimumEngagementRangeAgainstTarget(), ExpectedNoEscapeRangeAgainstTarget(), ExpectedWezRangeAgainstTarget(), WsfSA_Processor::GetFilteredPlatformIdList(), WsfTrack::GetIFF_Status(), WsfPlatform::GetIndex(), WsfObject::GetName(), GetPerceivedTrackedPlatformWithTarget(), WsfSA_Module::GetPlatform(), WsfSimulation::GetPlatformByIndex(), WsfSA_Module::GetSAP(), WsfPlatform::GetSide(), WsfSA_Module::GetSimulation(), WsfTrack::GetTargetIndex(), WsfTrack::GetTrackQuality(), WsfObject::GetType(), WsfTrack::IFF_StatusValid(), WsfTrack::IsFalseTarget(), PlatformIsCurrentlyBeingTracked(), WsfSA_Assess::AssessEngagementData::risk, WsfSA_Assess::AssessEngagementData::targetCID, WsfSA_Assess::AssessEngagementData::targetIndex, WsfSA_Assess::AssessEngagementData::targetName, WsfSA_Assess::AssessEngagementData::targetType, WsfSA_Assess::AssessEngagementData::targetValue, WsfSA_Assess::AssessEngagementData::tgtTracked, WsfSA_Assess::AssessEngagementData::threatLevel, WsfSA_Assess::AssessEngagementData::trackQuality, WsfSA_Assess::AssessEngagementData::urgency, WsfSA_Assess::AssessEngagementData::wezDesiredRange_nm, WsfSA_Assess::AssessEngagementData::wezMaximum_nm, WsfSA_Assess::AssessEngagementData::wezMinimum_nm, and WsfSA_Assess::AssessEngagementData::wezNoEscape_nm.
Referenced by UpdateEngagements().
| void WsfSA_Assess::UpdateGroupFocusLists | ( | ) |
Update mFocusedGroups and mUnfocusedGroups.
References WsfSA_Module::mDataPtr.
Referenced by WsfSA_Perceive::SetFocus(), and WsfSA_Perceive::UpdateGroupsData().
| void WsfSA_Assess::UpdatePrioritizedItemCalculation | ( | double | aSimTime | ) |
Update prioritized threat and target calculations at a sim time, and return an appropriate time for the next event update.
A cognitive delay is factored in.
| aSimTime | sim time at which to attempt updating |
References WsfSA_Processor::cPRIORITIZED_ITEM_CALCULATION, WsfSA_Module::GetSAP(), WsfSA_Processor::SetLastUpdateTime(), and UpdatePrioritizedThreatsAndTargetsData().
Referenced by TryUpdatePrioritizedItemCalculation().
| void WsfSA_Assess::UpdatePrioritizedItemData | ( | double | aSimTime | ) |
Update prioritized threat and target data at a sim time, and return an appropriate time for the next event update.
| aSimTime | sim time at which to attempt updating |
References WsfObserver::AirCombatSendPrioritizedThreatsAndTargetsData(), WsfSA_Processor::cPRIORITIZED_ITEM_DATA, WsfSA_Module::GetPlatform(), WsfSA_Module::GetSAP(), WsfSA_Module::GetSimulation(), and WsfSA_Processor::SetLastUpdateTime().
Referenced by TryUpdatePrioritizedItemData().
| void WsfSA_Assess::UpdatePrioritizedThreatsAndTargetsData | ( | double | aSimTime | ) |
Update prioritized threat and target data at a sim time, and return an appropriate time for the next event update.
A cognitive delay is factored in.
| aSimTime | sim time at which to attempt updating |
References CalculateOverallDefensiveness(), CalculateOverallRisks(), CalculateOverallUrgency(), CalculatePrioritizedTargets(), and CalculatePrioritizedThreats().
Referenced by UpdatePrioritizedItemCalculation().
| void WsfSA_Assess::UpdateWeaponSupport | ( | double | aSimTime | ) |
This updates the weapon support parameters using an optional script function.
References ExecuteCalcWeaponSupport().
|
inline |
This returns a normalized urgency level, ranging from 0 (no urgency) to 1 (maximum urgency).
Referenced by WsfSA_Processor::DebugTestOutput().
|
inline |
A placeholder function that, in the future, will return whether a platform's weapon bay doors are open.
|
friend |
References WsfSA_Assess(), and WsfSA_Processor.
Referenced by WsfSA_Assess(), and WsfSA_Processor.