|
WSF
|
#include <WsfAirToAirLaunchComputer.hpp>


Classes | |
| class | ATA_InterceptTable |
Public Member Functions | |
| WsfAirToAirLaunchComputer (const UtAtmosphere &aAtmosphere) | |
| WsfAirToAirLaunchComputer & | operator= (const WsfAirToAirLaunchComputer &)=delete |
| ~WsfAirToAirLaunchComputer () override=default | |
| WsfLaunchComputer * | Clone () const override |
| bool | ProcessInput (UtInput &aInput) override |
| bool | Initialize (double aSimTime, WsfWeapon *aWeaponPtr) override |
| bool | ToolOnlyInitialize (double aSimTime) |
| double | EstimatedTimeToIntercept (double aSimTime, const WsfTrack &aTrack, double aLaunchDelayTime) override |
| Implementation of virtual base class method. | |
| bool | LookupResult (const WsfTrack &aTrack, double &aRmax, double &aRmaxTOF, double &aRne, double &aRneTOF, double &aRmin, double &aRminTOF) |
| bool | LookupResult (double aShooterInAlt, double aShooterInMach, double aTargetInAlt, double aTargetInMach, double aTargetInAspect, double aTargetInLead, double &aShooterOutAlt, double &aShooterOutMach, double &aTargetOutAlt, double &aTargetOutMach, double &aTargetOutAspect, double &aTargetOutLead, double &aRmax, double &aRmaxTOF, double &aRne, double &aRneTOF, double &aRmin, double &aRminTOF) |
| ATA_InterceptTable & | GetTable () |
| bool | Test () |
| Function used by Weapon_Tools to test a newly generated object for correctness. | |
| Public Member Functions inherited from WsfLaunchComputer | |
| WsfLaunchComputer () | |
| WsfLaunchComputer (const WsfLaunchComputer &aSrc) | |
| Copy constructor. | |
| ~WsfLaunchComputer () override=default | |
| WsfLaunchComputer & | operator= (const WsfLaunchComputer &)=delete |
| WsfLaunchComputer * | Clone () const override |
| const char * | GetScriptClassName () const override |
| bool | ProcessInput (UtInput &aInput) override |
| virtual void | Update (double aSimTime) |
| WsfWeapon * | GetWeapon () const |
| Return the weapon with which this launch computer is associated. | |
| WsfPlatform * | GetPlatform () const |
| Return the platform with which this launch computer is associated. | |
| WsfSimulation * | GetSimulation () const |
| void | SetMaximumDeltaAltitude (double aMaxDeltaAltitude) |
| void | SetMinimumDeltaAltitude (double aMinDeltaAltitude) |
| void | SetMaximumClosingSpeed (double aMaxClosingSpeed) |
| void | SetMaximumOpeningSpeed (double aMaxOpeningSpeed) |
| void | SetMinimumClosingSpeed (double aMinClosingSpeed) |
| void | SetMinimumOpeningSpeed (double aMinOpeningSpeed) |
| void | SetMaximumSlantRange (double aMaxRange) |
| void | SetMinimumSlantRange (double aMinRange) |
| void | SetMaximumOffBoresight (double aMaxAngle) |
| void | SetMaximumTimeOfFlight (double aMaxTOF) |
| void | SetThrustDuration (double aThrustTime) |
| void | SetCoastDuration (double aCoastTime) |
| void | SetBurnoutSpeed (double aBurnoutSpeed) |
| void | SetMinTerminalSpeed (double aMinTerminalSpeed) |
| bool | ComputerGenerationMode () const |
| void | SetComputerGenerationMode (bool aComputerGenerationMode) |
| void | CopyResultsToTrack (WsfTrack &aTrack) |
| bool | HaveResultsFor (const WsfTrackId &aTrackId) const |
| bool | HaveResultsFor (double aSimTime, const WsfTrackId &aTrackId, double &aTimeToIntercept) const |
| bool | LaunchTimeIsValid () const |
| bool | LauncherBearingIsValid () const |
| bool | LauncherElevationIsValid () const |
| bool | LoftAngleIsValid () const |
| bool | BurnTimeIsValid () const |
| bool | TimeOfFlightIsValid () const |
| bool | InterceptTimeIsValid () const |
| bool | InterceptPointIsValid () const |
| bool | TargetImpactTimeIsValid () const |
| bool | TargetImpactPointIsValid () const |
| bool | EndTimeIsValid () const |
| bool | EndPointIsValid () const |
| double | GetLaunchTime () const |
| double | GetLauncherBearing () const |
| double | GetLauncherElevation () const |
| double | GetLoftAngle () const |
| double | GetBurnTime () const |
| double | GetTimeOfFlight () const |
| double | GetInterceptTime () const |
| const WsfGeoPoint & | GetInterceptPoint () const |
| double | GetTargetImpactTime () const |
| const WsfGeoPoint & | GetTargetImpactPoint () const |
| double | GetEndTime () const |
| const WsfGeoPoint & | GetEndPoint () const |
| void | SetInterceptTime (double aInterceptTime) |
| void | SetInterceptPoint (const WsfGeoPoint &aInterceptPoint) |
| void | SetInterceptPointWCS (const double aLocationWCS[]) |
| void | SetLaunchTime (double aLaunchTime) |
| void | SetTimeOfFlight (double aTimeOfFlight) |
| void | SetTargetImpactTime (double aImpactTime) |
| void | SetLoftAngle (double aLoftAngle) |
| void | SetBurnTime (double aBurnTime) |
| void | SetLauncherBearing (double aBearing) |
| void | SetLauncherElevation (double aElevation) |
| void | SetTargetImpactPoint (const WsfGeoPoint &aImpactPoint) |
| void | SetTargetImpactPointWCS (const double aLocationWCS[]) |
| void | SetEndTime (double aEndTime) |
| void | SetEndPoint (const WsfGeoPoint &aLocation) |
| void | SetEndPointWCS (const double aLocationWCS[]) |
| void | ClearCommandedValues () |
| void | SetCommandedLauncherBearing (double aBearing) |
| void | SetCommandedLauncherElevation (double aElevation) |
| void | SetCommandedLoftAngle (double aLoftAngle) |
| void | SetCommandedBurnTime (double aBurnTime) |
| void | SetCommandedInterceptPoint (const WsfGeoPoint &aPoint) |
| bool | DebugEnabled () const |
| void | SetDebugEnabled (bool aDebugEnabled) |
| bool | ShowResults () const |
| Public Member Functions inherited from WsfObject | |
| WsfObject () | |
| This is the constructor for the WsfObject class. | |
| ~WsfObject () override | |
| This is the destructor for the WsfObject class. | |
| const char * | GetScriptClassName () const override |
| const std::string & | GetType () const |
| WsfStringId | GetTypeId () const |
| Get the string ID of the 'type' of the object. | |
| void | SetType (WsfStringId aType) |
| const std::string & | GetBaseType () const |
| WsfStringId | GetBaseTypeId () const |
| const TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (const WsfObject &aRhs) |
| Assignment operator. | |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| For XIO (de)serialization. | |
| const std::string & | GetName () const |
| WsfStringId | GetNameId () const |
| void | SetName (WsfStringId aName) |
Static Public Member Functions | |
| static std::string | BaseTypeName () |
| The basic type name (needed by weapon_tools and launch computer processor). | |
| Static Public Member Functions inherited from WsfLaunchComputer | |
| static std::string | BaseTypeName () |
| static bool | LoadInstance (UtInput &aInput, WsfLaunchComputer *&aLCPtr) |
| static bool | GetLauncherBearing (const WsfTrack &aTrack, double &aBearing) |
| static bool | GetLauncherElevation (const WsfTrack &aTrack, double &aElevation) |
| static bool | GetLoftAngle (const WsfTrack &aTrack, double &aLoftAngle) |
| static bool | GetBurnTime (const WsfTrack &aTrack, double &aBurnTime) |
| static bool | GetInterceptTime (const WsfTrack &aTrack, double &aInterceptTime) |
| static bool | GetInterceptPoint (const WsfTrack &aTrack, WsfGeoPoint &aPoint) |
Protected Member Functions | |
| bool | InitializeTTIData () override |
| WsfAirToAirLaunchComputer (const WsfAirToAirLaunchComputer &aSrc) | |
| Protected Member Functions inherited from WsfLaunchComputer | |
| bool | ResultIsValidFor (unsigned int aDataMask) const |
| void | InitializeResults (double aSimTime, const WsfTrack &aTrack) |
| void | UpdateResults (double aSimTime, double aTimeToIntercept, const WsfTrack &aTrack) |
| void | ClearConstraints () |
| void | CopyConstraints (const bool aSrc[]) |
| double | ExpectedFlightDistance () const |
| double | CurrentOpeningSpeed () const |
| virtual bool | WithinConstraintsAt (double aSimTime, double aFutureInterceptTime, const WsfTrack &aTrack) |
| bool | DeltaAltitudeCheck (double aDeltaAltitude) const |
| bool | SlantRangeCheck (double aSlantRange) const |
| bool | BoresightAngleCheck (WsfPlatform *aPlatPtr, double aLocWCS[3]) const |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
Static Protected Attributes | |
| static constexpr double | cNOT_SET {-1.0} |
A WsfAirToAirLaunchComputer provides information supporting the decision to launch a guided airborne weapon against the track of another airborne platform. The class is primarily just a shell to hold references to a shared data table.
Engagement Assumptions: No embedded sensor model (WsfTrack only). Both target and shooter are in level flight, and do not take the fight vertical. Independent variables are: Shooter altitude and Mach, Target altitude and Mach, Target Aspect (nose on = 0), Target Lead Angle. Dependent Variables are: R_max, R_ne (no escape), R_min, and times-of-flight for each. R_ne assumption: Target turns tail to missile w/<input-specified> G turn at the instant of launch.
| WsfAirToAirLaunchComputer::WsfAirToAirLaunchComputer | ( | const UtAtmosphere & | aAtmosphere | ) |
References WsfLaunchComputer::WsfLaunchComputer().
Referenced by Clone(), operator=(), and WsfAirToAirLaunchComputer().
|
overridedefault |
References LookupResult(), ToolOnlyInitialize(), and WsfLaunchComputer::WsfLaunchComputer().
|
protected |
References WsfAirToAirLaunchComputer(), and WsfLaunchComputer::WsfLaunchComputer().
|
inlinestatic |
The basic type name (needed by weapon_tools and launch computer processor).
Referenced by AirToAirLaunchComputerGenerator::AirToAirLaunchComputerGenerator(), and WsfLaunchComputerTypes::WsfLaunchComputerTypes().
|
overridevirtual |
Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.
Implements WsfObject.
References WsfAirToAirLaunchComputer(), and WsfLaunchComputer::WsfLaunchComputer().
|
overridevirtual |
Implementation of virtual base class method.
Reimplemented from WsfLaunchComputer.
References WsfLaunchComputer::cFOREVER, cNOT_SET, and LookupResult().
|
inline |
Referenced by Initialize(), and Test().
|
overridevirtual |
Initialize the object.
| aSimTime | The current simulation time. |
| aWeaponPtr | The reference platform to use with default launch calculations. |
Reimplemented from WsfLaunchComputer.
References GetTable(), WsfLaunchComputer::Initialize(), and success.
|
overrideprotectedvirtual |
Initialize Time To Intercept data for the object. If no TTI data is needed, then override method and simply return true.
Reimplemented from WsfLaunchComputer.
| bool WsfAirToAirLaunchComputer::LookupResult | ( | const WsfTrack & | aTrack, |
| double & | aRmax, | ||
| double & | aRmaxTOF, | ||
| double & | aRne, | ||
| double & | aRneTOF, | ||
| double & | aRmin, | ||
| double & | aRminTOF ) |
Accessor returns the Rmax, Rne, and Rmin values (and corresponding times of flight) for the engagement condition nearest the supplied input Track. Boolean return value indicates whether the conditions are within the defined valid condition set (true) or extrapolated (false).
| aTrack | Target Track to intercept. |
| aRmax | Tabular Output Maximum Time Of Flight value for the weapon (closest condition). |
| aRmaxTOF | Tabular Output Maximum Time Of Flight value for the weapon (closest condition). |
| aRne | Tabular Output No-Escape Range value for the weapon (closest condition). |
| aRneTOF | Tabular Output No-Escape Time Of Flight value for the weapon (closest condition). |
| aRmin | Tabular Output Minimum Range value for the weapon (closest condition). |
| aRminTOF | Tabular Output Minimum Time Of Flight Range value for the weapon (closest condition). |
References WsfLaunchComputer::DebugEnabled(), WsfPlatformPart::GetPlatform(), WsfLaunchComputer::GetWeapon(), and LookupResult().
Referenced by EstimatedTimeToIntercept(), LookupResult(), Test(), and ~WsfAirToAirLaunchComputer().
| bool WsfAirToAirLaunchComputer::LookupResult | ( | double | aShooterInAlt, |
| double | aShooterInMach, | ||
| double | aTargetInAlt, | ||
| double | aTargetInMach, | ||
| double | aTargetInAspect, | ||
| double | aTargetInLead, | ||
| double & | aShooterOutAlt, | ||
| double & | aShooterOutMach, | ||
| double & | aTargetOutAlt, | ||
| double & | aTargetOutMach, | ||
| double & | aTargetOutAspect, | ||
| double & | aTargetOutLead, | ||
| double & | aRmax, | ||
| double & | aRmaxTOF, | ||
| double & | aRne, | ||
| double & | aRneTOF, | ||
| double & | aRmin, | ||
| double & | aRminTOF ) |
Accessor returns the Rmax, Rne, and Rmin values (and corresponding times of flight) for the engagement condition nearest the supplied input Track. Boolean return value indicates whether the conditions are within the defined valid condition set (true) or extrapolated (false).
| aShooterInAlt | Input current shooter altitude. |
| aShooterInMach | Input current shooter Mach number(speed). |
| aTargetInAlt | Input current target Altitude. |
| aTargetInMach | Input current target Speed. |
| aTargetInAspect | Input current target Aspect Angle. |
| aTargetInLead | Input current target Lead Angle |
| aShooterOutAlt | Closest Tabulated shooter altitude to current conditions. |
| aShooterOutMach | Closest Tabulated shooter Mach to current conditions. |
| aTargetOutAlt | Closest Tabulated target Altitude to current conditions. |
| aTargetOutMach | Closest Tabulated target Mach to current conditions. |
| aTargetOutAspect | Closest Tabulated target Aspect to current conditions. |
| aTargetOutLead | Closest Tabulated target Lead angle to current conditions. |
| aRmax | Tabular Output Maximum Time Of Flight value for the weapon (closest condition). |
| aRmaxTOF | Tabular Output Maximum Time Of Flight value for the weapon (closest condition). |
| aRne | Tabular Output No-Escape Range value for the weapon (closest condition). |
| aRneTOF | Tabular Output No-Escape Time Of Flight value for the weapon (closest condition). |
| aRmin | Tabular Output Minimum Range value for the weapon (closest condition). |
| aRminTOF | Tabular Output Minimum Time Of Flight Range value for the weapon (closest condition). |
References cNOT_SET, WsfAirToAirLaunchComputer::ATA_InterceptTable::Result::mRmax, WsfAirToAirLaunchComputer::ATA_InterceptTable::Result::mRmaxTOF, WsfAirToAirLaunchComputer::ATA_InterceptTable::Result::mRmin, WsfAirToAirLaunchComputer::ATA_InterceptTable::Result::mRminTOF, WsfAirToAirLaunchComputer::ATA_InterceptTable::Result::mRne, and WsfAirToAirLaunchComputer::ATA_InterceptTable::Result::mRneTOF.
|
delete |
References WsfAirToAirLaunchComputer().
|
overridevirtual |
Process input from a generic source.
Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.
| aInput | a reference to a UtInput object. |
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
Reimplemented from WsfObject.
References WsfLaunchComputer::DebugEnabled(), WsfScenario::FromInput(), WsfScenario::GetSystemLog(), WsfLaunchComputer::ProcessInput(), and WsfSystemLog::WriteLogEntry().
Referenced by WsfAirToAirLaunchComputer::ATA_InterceptTable::Load().
| bool WsfAirToAirLaunchComputer::Test | ( | ) |
Function used by Weapon_Tools to test a newly generated object for correctness.
References GetTable(), LookupResult(), WsfAirToAirLaunchComputer::ATA_InterceptTable::ResultsSize(), WsfAirToAirLaunchComputer::ATA_InterceptTable::SizeOfResultsSet(), and success.
| bool WsfAirToAirLaunchComputer::ToolOnlyInitialize | ( | double | aSimTime | ) |
For use by the weapon_tools. Assures that selected ranges are monotonically increasing, which is required for proper table lookups.
Referenced by ~WsfAirToAirLaunchComputer().
|
staticconstexprprotected |