|
WSF
|
#include <WsfATG_LaunchComputer.hpp>


Public Types | |
| using | ATGWeaponLARCollection = std::vector<WsfATG_WeaponLAR*> |
| Public Types inherited from WsfLaunchComputer | |
| enum | Constraints { cMAX_DELTA_ALTITUDE , cMIN_DELTA_ALTITUDE , cMIN_OPENING_SPEED , cMAX_OPENING_SPEED , cMAX_SLANT_RANGE , cMIN_SLANT_RANGE , cMAX_BORESIGHT_ANGLE , cNUMBER_OF_CONSTRAINTS } |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
Public Member Functions | |
| WsfATG_LaunchComputer () | |
| ~WsfATG_LaunchComputer () override | |
| WsfLaunchComputer * | Clone () const override |
| bool | Initialize (double aSimTime, WsfWeapon *aWeaponPtr) override |
| bool | ProcessInput (UtInput &aInput) override |
| void | Update (double aSimTime) override |
| double | EstimatedTimeToIntercept (double aSimTime, const WsfTrack &aTrack, double aLaunchDelayTime) override |
| void | SelectLAR (double aLaunchAlt, double aLaunchSpeed) |
| Select the LAR that most closely applies to the current launch condition, and use it. | |
| const ATGWeaponLARCollection & | GetWeaponLARs () |
| int | GetBestFitLAR_Index () |
| WsfATG_WeaponLAR * | GetBestFitLAR () |
| 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 |
| 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 | |
| WsfATG_LaunchComputer (const WsfATG_LaunchComputer &aSrc) | |
| WsfATG_LaunchComputer & | operator= (const WsfATG_LaunchComputer &)=delete |
| bool | InitializeTTIData () override |
| bool | WithinConstraintsAt (double aSimTime, double aFutureInterceptTime, const WsfTrack &aTrack) override |
| 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 |
| 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()). | |
Launch Computer which supplies information to launch an air to ground weapon. A WsfATG_LaunchComputer instance provides information used to launch a guided airborne weapon against a ground track. User input specifies the weapon type, a collection of one or more LARs to use in varying flight conditions, and one or more target track IDs. During flight, the LAR collection will be examined to choose the closest match to the current flight conditions. User stream input will configure the processor to run in Auto mode, against the current platform target, using a single specified weapon. After each firing, a flag must be re-set to allow the next subsequent shot (this prevents all ordinance from being expended upon a single target).
| using WsfATG_LaunchComputer::ATGWeaponLARCollection = std::vector<WsfATG_WeaponLAR*> |
| WsfATG_LaunchComputer::WsfATG_LaunchComputer | ( | ) |
References WsfLaunchComputer::WsfLaunchComputer().
Referenced by Clone(), operator=(), and WsfATG_LaunchComputer().
|
override |
|
protected |
References WsfATG_LaunchComputer(), and WsfLaunchComputer::WsfLaunchComputer().
|
inlinestatic |
The basic type name (needed by weapon_tools and launch computer processor).
Referenced by ATG_LAR_And_LC_Generator::WriteOutputFile(), 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 WsfATG_LaunchComputer(), and WsfLaunchComputer::WsfLaunchComputer().
|
overridevirtual |
Determine the estimated time for the weapon to intercept a target.
| aSimTime | The current simulation time. |
| aTrack | The track that represents the target. |
| aLaunchDelayTime | The time it takes until the weapon will be launched. |
Reimplemented from WsfLaunchComputer.
References WsfLaunchComputer::cFOREVER, WsfLaunchComputer::InitializeResults(), WsfLaunchComputer::UpdateResults(), and WithinConstraintsAt().
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Initialize the object.
| aSimTime | The current simulation time. |
| aWeaponPtr | The reference platform to use with default launch calculations. |
Reimplemented from WsfLaunchComputer.
References WsfLaunchComputer::ComputerGenerationMode(), WsfObject::GetName(), WsfLaunchComputer::GetPlatform(), WsfPlatformPart::GetSimulation(), WsfWeapon::GetUpdateInterval(), WsfLaunchComputer::Initialize(), and SelectLAR().
|
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.
|
protecteddelete |
References WsfATG_LaunchComputer().
|
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::ProcessInput().
| void WsfATG_LaunchComputer::SelectLAR | ( | double | aLaunchAlt, |
| double | aLaunchSpeed ) |
Select the LAR that most closely applies to the current launch condition, and use it.
Referenced by Initialize(), and Update().
|
overridevirtual |
Reimplemented from WsfLaunchComputer.
References WsfLaunchComputer::GetPlatform(), and SelectLAR().
|
overrideprotectedvirtual |
Evaluate whether the supplied WsfTrack currently passes the supplied constraints.
| aSimTime | Current time |
| aFutureInterceptTime | Predicted future time of intercept (aSimTime plus predicted time of flight of the weapon). |
| aTrack | Track to be extrapolated for intercept |
Reimplemented from WsfLaunchComputer.
References WsfMeasurement::GetExtrapolatedLocationWCS(), WsfPlatformPart::GetPlatform(), WsfLaunchComputer::GetWeapon(), and WsfLaunchComputer::WithinConstraintsAt().
Referenced by EstimatedTimeToIntercept().