|
WSF
|
#include <BrawlerPlatform.hpp>

Public Member Functions | |
| BrawlerPlatform () | |
| BrawlerPlatform (const BrawlerPlatform &aSrc) | |
| BrawlerPlatform & | operator= (const BrawlerPlatform &)=delete |
| virtual | ~BrawlerPlatform ()=default |
| void | Init (UtEntity &state, ut::Random &random) |
| virtual double | GetTime ()=0 |
| virtual double | MindUpdate (double aSimTime) |
| virtual void | InitializeStatistics () |
| virtual void | UpdateStatistics (double value) |
| virtual void | CalculateStatistics () |
| void | AdjustTunnelVisionMultipliers () |
| UtVec3d | PositionNED () |
| UtVec3d | VelocityNED () |
| UtVec3d | VelocityECS () |
| UtVec3d | AccelerationNED () |
| UtVec3d | AccelerationECS () |
| UtVec3d | OrientationNED () |
| double | GetSpeed () |
| double | GetAlpha () |
| UtVec3d | RelativePositionNED (UtEntity &aTgt) |
| UtVec3d | RelativeVelocityNED (UtEntity &aTgt) |
| UtVec3d | RelativePositionECS (UtEntity &aTgt) |
| UtVec3d | RelativeVelocityECS (UtEntity &aTgt) |
| UtVec3d | ConvertNEDtoECS (UtVec3d ned) |
| UtVec3d | ConvertNEDtoWind (UtVec3d ned) |
| UtVec3d | ConvertECStoNED (UtVec3d ecs) |
| UtVec3d | ConvertECStoWind (UtVec3d ecs) |
| UtVec3d | ConvertWindtoNED (UtVec3d wind) |
| UtVec3d | ConvertWindtoECS (UtVec3d wind) |
| UtFortMat3d | GetNEDToECSRotation () |
| double | SlantRange (UtEntity &aTgt, double defaultRange=1000000/BRAWLER::ftnmi) |
| virtual UtEntity * | GetTarget ()=0 |
| virtual double | FirstObservedTime (UtEntity *aTgt) |
| virtual UtEntity * | GetThreat ()=0 |
| virtual int | GetNumberThreats () |
| UtEntity & | State () |
| void | SetState (UtEntity &state) |
| UtEntity & | NominalState () |
| void | SetNominalState (UtEntity &state) |
| UtEntity & | ProjectedState () |
| void | SetProjectedState (UtEntity &state) |
| UtEntity & | TargetNominalState () |
| void | SetTargetNominalState (UtEntity &state) |
| virtual double | GetConsciousnessEventTime () |
| virtual double | LastConsciousnessEventTime () |
| virtual void | SetAlternative (int ilevel, int kalt, int icall, int lcall) |
| virtual void | GetAlternative (int &ilevel, int &kalt, int &icall, int &lcall) |
| virtual double | EvaluateRates (UtVec3d &aAngularRates, UtVec3d &aLongitudinalAccel)=0 |
| virtual double | EvaluateHeadingSpeedAltitude (const double &aHeading, const double &aSpeed, const double &aAltitude, const double &aMaxGees, const double &aMaxClimb)=0 |
| virtual double | EvaluateTurnInPlaneWithSpeed (UtVec3d &aPlane, const double &aGees, const double &aSpeed)=0 |
| virtual double | EvaluateTurnInPlaneWithThrottle (UtVec3d &aPlane, const double &aGees, const double &aThrottle)=0 |
| virtual double | EvaluateVectorWithSpeed (UtVec3d &aVelocityVector, const double &aMaxGees, const double &aSpeed)=0 |
| virtual double | EvaluateVectorWithThrottle (UtVec3d &aVelocityVector, const double &aMaxGees, const double &aThrottle)=0 |
| double | ManeuverValueComponent (BRAWLER::ManeuverValueComponentType aType) |
| Returns the value of the requested maneuver component. | |
| void | SetManeuverValueComponent (BRAWLER::ManeuverValueComponentType aType, double value) |
| double | RawManeuverValueComponent (BRAWLER::ManeuverValueComponentType aType) |
| void | SetRawManeuverValueComponent (BRAWLER::ManeuverValueComponentType aType, double value) |
| double | MinAlternativeValue () |
| void | SetMinAlternativeValue (double val) |
| double | TunnelVisionMultiplier (BRAWLER::ManeuverValueComponentType aType) |
| double | InherentBiasFaults (BRAWLER::InherentBiasFaultTypes aType) |
| bool | SlowFlight () |
| double | OffensiveMultiplier () |
| double | DefensiveMultiplier () |
| bool | BoreSight () |
| double | OffBoreSightAngle (UtEntity &aRef, UtEntity &aTgt) |
| double | ProjectedTimeDelta () |
| double | RollOverTopValue () |
| void | SetRollOverTopValue (double val) |
| double | RollOverTopTime () |
| void | SetRollOverTopTime (double val) |
| BRAWLER::MissileModeState | MissileMode () |
| void | SetMissileMode (BRAWLER::MissileModeState mode) |
| UtVec3d | EvasionDirection () |
| void | SetEvasionDirection (UtVec3d dir) |
| double | LastComputedEngagementValue (UtEntity &aTgt) |
| double | DegreeOfThreat (UtEntity &aTgt) |
| double | DegreeOfThreatCompliment (UtEntity &aTgt) |
| void | SuggestVectoredFlight (UtVec3d vec, double val, double spd) |
| UtVec3d | DirectionVectoredFlight () |
| double | ValueVectoredFlight () |
| double | SpeedVectoredFlight () |
| bool | Damaged (UtEntity &aRef) |
| double | TargetAngleAboveHorizon (UtEntity &aTgt) |
| virtual double | SensorGimbalElevationLimit ()=0 |
| virtual double | SensorGimbalAzimuthLimit ()=0 |
| double | WeaponSimTimeOfIntercept (UtEntity &aThreat) |
| double | WeaponMinEnvelopeRange () |
| double | WeaponMaxEnvelopeRange () |
| BRAWLER::WeaponType | WeaponType () |
| bool | WeaponSeekerOnWhenFired () |
| bool | WeaponVerticalTrackCheck (UtEntity &aTgt) |
| double | WeaponSteeringError (UtEntity &aTgt) |
| double | WeaponSeekerMaxAngle () |
| double | RangeRate (UtEntity &aRef, UtEntity &aTgt) |
| double | ExpectedValueDestroyed (UtEntity &aRef, UtEntity &aTgt) |
| double | ProbabilitySeen (UtEntity &looker, UtEntity &seen) |
| double | ProbabilityOfSurvival (UtEntity &aRef, UtEntity *aTgt) |
| double | ProbabilityOfKill (UtEntity &killer, UtEntity &victim) |
| double | ForceRatio () |
| virtual void | UpdateMissileMode ()=0 |
| BrawlerMIND * | GetMIND () |
| double | RangePercent (BRAWLER::WeaponType aType) |
| double | AircraftValue (UtEntity &aRef) |
| double | CombatEffectiveness (UtEntity &aRef) |
| double | FlightAggressiveness () |
| double | MaxWeaponSteeringError () |
| double | MaxWeaponAspectOffsetAngle () |
| bool | LookDownShootCapable () |
| virtual bool | HaveWeapons () |
| bool | Skip1v1 () |
| bool | NoAim () |
| bool | InIntercept () |
| bool | Ready () |
| bool | OneVsOneOp () |
| double | TimeAllowedPerSectorSearch () |
| void | SetTimeAllowedPerSectorSearch (double val) |
| UtVec3d | GetTargetRoutePoint () |
| void | SetTargetRoutepointLLA (int aLat, int aLon, int aAlt_m) |
| void | SetTargetRoutepointLLA (UtVec3d aLLA) |
| double | Uniform () |
| virtual double | MaxForwardAcceleration_fps2 ()=0 |
| virtual double | MinForwardAcceleration_fps2 ()=0 |
| virtual double | MaxForwardAccelerationWithGravity_fps2 ()=0 |
| virtual double | MinForwardAccelerationWithGravity_fps2 ()=0 |
| virtual double | MaxInstantaneousGLoad_g ()=0 |
| virtual double | MinInstantaneousTurnRadius_ft ()=0 |
| virtual double | MaxInstantaneousTurnRate_rps ()=0 |
| virtual double | MaxSustainedGLoad_g ()=0 |
| virtual double | MinSustainedTurnRadius_ft ()=0 |
| virtual double | MaxSustainedTurnRate_rps ()=0 |
| virtual double | MaxTacticalGLoad_g ()=0 |
| virtual double | MinTacticalTurnRadius_ft ()=0 |
| virtual double | MaxTacticalTurnRate_rps ()=0 |
| virtual double | CorneringVelocity_fps ()=0 |
| virtual double | SpecificEnergyRate_fps ()=0 |
| virtual double | CalcTurnRate_rps (const double &aClMax, const double &aSpeed_fps, const double &aDynamicPressure_psf, const double &aWingArea_ft2)=0 |
| virtual double | CurrentWeight_lbs ()=0 |
| virtual double | EmptyWeight_lbs ()=0 |
| virtual double | CurrentFuelWeight_lbs ()=0 |
| virtual double | DesignWeightForMaxG_lbs ()=0 |
| virtual double | CurrentStructuralGLimit_g ()=0 |
| virtual double | StructuralGLimitAtDesignWeight_g ()=0 |
| virtual double | StructuralGLimitAboveDesignWeight_g ()=0 |
| virtual double | DynamicPressure_psf ()=0 |
| virtual double | Mach ()=0 |
| virtual double | GetMaxCL ()=0 |
| virtual double | GetMaxCL (const double &aMach)=0 |
| virtual double | GetMaxCL (const double &aAlt_ft, const double &aMach)=0 |
| virtual double | GetAlphaAtMaxCL_deg ()=0 |
| virtual double | GetAlphaAtMaxCL_deg (const double &aMach)=0 |
| virtual double | GetAlphaAtMaxCL_deg (const double &aAlt_ft, const double &aMach)=0 |
| virtual double | MaxLimitedInstantaneousGLoad_g () |
| double | MaximumInstantaneousLift_fps2 () |
| virtual double | MaxAngularRate_rps ()=0 |
| void | SetJob (BRAWLER::JobType aJob) |
| void | SetMission (BRAWLER::MissionType aMission) |
| BRAWLER::JobType | Job () |
| BRAWLER::MissionType | Mission () |
| double | RoutePointValueMultiplier () |
| void | SetFlightAggressiveness (double aFactor) |
| void | SetCombatEffectiveness (double aEffect) |
| void | SetForceRatio (double aRatio) |
Static Public Member Functions | |
| static UtVec3d | PositionNED (UtEntity &aTgt) |
| static UtVec3d | VelocityNED (UtEntity &aTgt) |
| static UtVec3d | VelocityECS (UtEntity &aTgt) |
| static UtVec3d | AccelerationNED (UtEntity &aTgt) |
| static UtVec3d | AccelerationECS (UtEntity &aTgt) |
| static UtVec3d | RelativePositionNED (UtEntity &ref, UtEntity &aTgt) |
| static UtVec3d | RelativeVelocityNED (UtEntity &ref, UtEntity &aTgt) |
| static UtVec3d | RelativePositionECS (UtEntity &ref, UtEntity &aTgt) |
| static UtVec3d | RelativeVelocityECS (UtEntity &ref, UtEntity &aTgt) |
| static UtVec3d | ConvertNEDtoLLA (UtVec3d ned) |
| static UtVec3d | ConvertNEDtoECS (UtEntity &ref, UtVec3d ned) |
| static UtVec3d | ConvertNEDtoWind (UtEntity &ref, UtVec3d ned) |
| static UtVec3d | ConvertECStoNED (UtEntity &ref, UtVec3d ecs) |
| static UtVec3d | ConvertECStoWind (UtEntity &ref, UtVec3d ecs) |
| static UtVec3d | ConvertWindtoNED (UtEntity &ref, UtVec3d wind) |
| static UtVec3d | ConvertWindtoECS (UtEntity &ref, UtVec3d wind) |
| static double | GetSpeed (UtEntity &aRef) |
| static double | GetAlpha (UtEntity &aRef) |
| static UtVec3d | a_lim (const UtVec3d &x_in, const UtVec3d &v_in, const UtVec3d &a_in, double dt, double min_speed) |
| static void | projw (const UtVec3d &xin, const UtVec3d &vin, const UtVec3d &a, double dt, UtVec3d &xout, UtVec3d &vout, UtVec3d &aout, UtFortMat3d &rwout) |
Protected Member Functions | |
| void | NominalProjection (double dt) |
Protected Attributes | |
| UtEntity | mMyState |
| UtEntity | mMyNom |
| UtEntity | mTgNom |
| UtEntity | mMyPro |
| BrawlerPlatform::BrawlerPlatform | ( | ) |
References mMyNom, mMyPro, mMyState, mTgNom, BRAWLER::NOTASK, and BRAWLER::xlarge.
Referenced by BrawlerPlatform(), operator=(), WsfBrawlerProcessor::WsfBrawlerProcessor(), and WsfBrawlerProcessor::WsfBrawlerProcessor().
| BrawlerPlatform::BrawlerPlatform | ( | const BrawlerPlatform & | aSrc | ) |
References BrawlerPlatform(), mMyNom, mMyPro, mMyState, and mTgNom.
|
virtualdefault |
References Init().
|
static |
References BRAWLER::avnorm(), BRAWLER::makcsi(), and BRAWLER::makex().
Referenced by BrawlerMover::aproj3(), and NominalProjection().
| UtVec3d BrawlerPlatform::AccelerationECS | ( | ) |
References AccelerationECS(), and State().
Referenced by AccelerationECS(), BrawlerEvaluation::Evaluate1v1(), and GetTime().
|
static |
| UtVec3d BrawlerPlatform::AccelerationNED | ( | ) |
References AccelerationNED(), and State().
Referenced by AccelerationNED(), BrawlerEvaluation::CalcMissileAimValue(), BrawlerEvaluation::Evaluate1v1(), GetTime(), NominalProjection(), ProbabilitySeen(), and SlowFlight().
|
static |
| void BrawlerPlatform::AdjustTunnelVisionMultipliers | ( | ) |
References BRAWLER::nabort(), nvalcp, and nvcp_used.
Referenced by CalculateStatistics(), and GetTime().
|
inline |
AircraftValue replaces "valac" and "valme" from BRAWLER v7.5 See BRAWLER User manual p. 3.2.1-66, read from SCNRIO file Intrinsic aircraft value. Used by both sides in determining the scale of many value component multipliers. Standard values are 10.0 for a fighter, 40.0 for a bomber, and 80.0 for an AWACS. The suggested range is [5, 100] For the initial implementation this function will always return 10 (fighter default) TODO - read a map of platform type and value from input and return that value based on platform type
| aRef | Pointer to the platform |
Referenced by BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::CalcLowSpeedRecoveryValue(), BrawlerEvaluation::EvaluateAlternative(), ExpectedValueDestroyed(), and LastComputedEngagementValue().
| bool BrawlerPlatform::BoreSight | ( | ) |
References GetTarget().
Referenced by BrawlerEvaluation::CalcMissileAimValue().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
virtual |
References AdjustTunnelVisionMultipliers(), and nvalcp.
Referenced by GetTime(), MindUpdate(), and WsfBrawlerProcessor::MindUpdate().
|
inline |
CombatEffectiveness returns "cmbeff" from BRAWLER v7.5 See BRAWLER User manual p. 3.2.1-66, read from SCNRIO file Used by both sides to compute the effective force ratio. As this is only used to form ratios between different aircraft in the simulation, the value assigned to an aircraft will reflect its effectiveness relative to the other aircraft in the scenario. A standard value is 1.0, Suggested range is [0.5, 2.0] but brawler does not actually check this TODO - read a map of platform type and value from input and return that value based on platform type
| aRef | Pointer to the platform |
Referenced by BrawlerEvaluation::SelfEngagementMeasure().
|
static |
| UtVec3d BrawlerPlatform::ConvertECStoNED | ( | UtVec3d | ecs | ) |
References ConvertECStoNED(), and State().
Referenced by ConvertECStoNED(), ConvertWindtoNED(), GetTime(), and BrawlerMover::Initialize().
|
static |
References BRAWLER::eps.
| UtVec3d BrawlerPlatform::ConvertECStoWind | ( | UtVec3d | ecs | ) |
References ConvertECStoWind(), and State().
Referenced by ConvertECStoWind(), ConvertNEDtoWind(), and GetTime().
|
static |
| UtVec3d BrawlerPlatform::ConvertNEDtoECS | ( | UtVec3d | ned | ) |
References ConvertNEDtoECS(), and State().
Referenced by BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::CalcIlluminationValue(), BrawlerEvaluation::CalcMissileAimValue(), ConvertNEDtoECS(), ConvertNEDtoWind(), BrawlerEvaluation::Evaluate1v1(), GetTime(), BrawlerEvaluation::InitMissileAiming(), RelativePositionECS(), RelativeVelocityECS(), RelativeVelocityECS(), and WeaponSteeringError().
|
static |
References BrawlerCoordinateConversion::ConvertNEDtoLLA().
Referenced by GetTime(), and NominalProjection().
|
static |
References ConvertECStoWind(), and ConvertNEDtoECS().
| UtVec3d BrawlerPlatform::ConvertNEDtoWind | ( | UtVec3d | ned | ) |
References ConvertNEDtoWind(), and State().
Referenced by ConvertNEDtoWind(), BrawlerEvaluation::Evaluate1v1(), and GetTime().
|
static |
References BRAWLER::eps.
| UtVec3d BrawlerPlatform::ConvertWindtoECS | ( | UtVec3d | wind | ) |
References ConvertWindtoECS(), and State().
Referenced by ConvertWindtoECS(), ConvertWindtoNED(), and GetTime().
|
static |
References ConvertECStoNED(), and ConvertWindtoECS().
| UtVec3d BrawlerPlatform::ConvertWindtoNED | ( | UtVec3d | wind | ) |
References ConvertWindtoNED(), and State().
Referenced by ConvertWindtoNED(), BrawlerEvaluation::Evaluate1v1(), and GetTime().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::Evaluate1v1().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by MaxLimitedInstantaneousGLoad_g().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::CalcLowSpeedRecoveryValue(), BrawlerEvaluation::Evaluate1v1(), and MaxLimitedInstantaneousGLoad_g().
| bool BrawlerPlatform::Damaged | ( | UtEntity & | aRef | ) |
Referenced by ProbabilityOfSurvival().
| double BrawlerPlatform::DefensiveMultiplier | ( | ) |
References BRAWLER::amin1(), ForceRatio(), GetTarget(), ProbabilityOfSurvival(), and State().
Referenced by BrawlerEvaluation::EvaluateAlternative().
| double BrawlerPlatform::DegreeOfThreat | ( | UtEntity & | aTgt | ) |
References BRAWLER::AimPoint(), BRAWLER::amin1(), BRAWLER::arccos(), BRAWLER::border(), GetSpeed(), BRAWLER::makex(), PositionNED(), BRAWLER::rad, VelocityNED(), and BRAWLER::xlimit().
Referenced by BrawlerEvaluation::CalcEvadeValue(), and DegreeOfThreatCompliment().
|
inline |
References DegreeOfThreat().
Referenced by BrawlerEvaluation::EvaluateAlternative().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::CalcLowSpeedRecoveryValue(), BrawlerEvaluation::Evaluate1v1(), and MaxLimitedInstantaneousGLoad_g().
|
inline |
Referenced by BrawlerEvaluation::CalcVectoredFlightValue().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Projects current position forward based on the alternative and evaluates the result of the projection
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
inline |
| double BrawlerPlatform::ExpectedValueDestroyed | ( | UtEntity & | aRef, |
| UtEntity & | aTgt ) |
References AircraftValue(), and ProbabilityOfKill().
Referenced by BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::CalcLowSpeedRecoveryValue(), and LastComputedEngagementValue().
|
inlinevirtual |
Reimplemented in WsfBrawlerProcessor.
Referenced by ProbabilitySeen().
|
inline |
FlightAggressiveness returns "aggfac" from BRAWLER v7.5 See BRAWLER User manual p. 3.2.1-86, read from SCNRIO file for AIRCRAFT FLIGHT DEFINITION Default value is 1.0, Range is [0.49, 2.5] TODO - read value from input
Referenced by OffensiveMultiplier().
|
inline |
Referenced by DefensiveMultiplier().
| double BrawlerPlatform::GetAlpha | ( | ) |
References GetAlpha(), and State().
Referenced by GetAlpha(), GetTime(), and NominalProjection().
|
static |
References BRAWLER::eps.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
References MaxLimitedInstantaneousGLoad_g().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
virtual |
|
inlinevirtual |
Reimplemented in WsfBrawlerProcessor.
Referenced by MindUpdate().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
inline |
| UtFortMat3d BrawlerPlatform::GetNEDToECSRotation | ( | ) |
References BRAWLER::NEDToECSRotation(), and State().
Referenced by BrawlerEvaluation::CalcEvadeValue(), and GetTime().
|
inlinevirtual |
Reimplemented in WsfBrawlerProcessor.
Referenced by ProbabilityOfSurvival().
| double BrawlerPlatform::GetSpeed | ( | ) |
References GetSpeed(), and State().
Referenced by BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::CalcLowSpeedRecoveryValue(), BrawlerEvaluation::CalcMissileAimValue(), BrawlerEvaluation::CalcRoutepointValue(), DegreeOfThreat(), BrawlerEvaluation::Evaluate1v1(), GetSpeed(), GetTime(), NominalProjection(), ProbabilitySeen(), BrawlerEvaluation::SelfEngagementMeasure(), and WeaponSimTimeOfIntercept().
|
static |
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BoreSight(), BrawlerEvaluation::CalcLowSpeedRecoveryValue(), BrawlerEvaluation::CalcPrimaryValues(), DefensiveMultiplier(), BrawlerEvaluation::Evaluate1v1(), BrawlerEvaluation::EvaluateAlternative(), NominalProjection(), OffensiveMultiplier(), and Skip1v1().
|
inline |
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::EvaluateAlternative(), and ProjectedTimeDelta().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
References AccelerationECS(), AccelerationNED(), AdjustTunnelVisionMultipliers(), CalculateStatistics(), ConvertECStoNED(), ConvertECStoWind(), ConvertNEDtoECS(), ConvertNEDtoLLA(), ConvertNEDtoWind(), ConvertWindtoECS(), ConvertWindtoNED(), BRAWLER::ftnmi, GetAlpha(), GetNEDToECSRotation(), GetSpeed(), InitializeStatistics(), MindUpdate(), OrientationNED(), PositionNED(), RelativePositionECS(), RelativePositionNED(), RelativeVelocityECS(), RelativeVelocityNED(), SlantRange(), UpdateStatistics(), VelocityECS(), and VelocityNED().
Referenced by BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::CalcIlluminationValue(), BrawlerEvaluation::Evaluate1v1(), InitializeStatistics(), ProbabilitySeen(), and WeaponSimTimeOfIntercept().
|
virtual |
Reimplemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::EvaluateAlternative(), and BrawlerEvaluation::GetBestWeapon().
|
inline |
InherentBiasFaults replaces "bias_faults" from BRAWLER v7.5 See BRAWLER User manual p. 3.2.1-74, read from SCNRIO file for AIRCRAFT FLIGHT DEFINITION Defines the bias for aggressiveness, mutual support, and airspeed maintenance. Default value is 1 (no effect). Values less than 1 will reduce the bias and values greater than 1 will increase the bias For the initial implementation this function will always return 1 (typical config value) TODO - read the three bias values from input file for each platform
| aType | The bias type (aggressiveness, mutual support, maintain airspeed) |
Referenced by BrawlerEvaluation::EvaluateAlternative().
| bool BrawlerPlatform::InIntercept | ( | ) |
References BRAWLER::INTERCEPT.
Referenced by BrawlerEvaluation::EvaluateAlternative(), and NoAim().
| void BrawlerPlatform::Init | ( | UtEntity & | state, |
| ut::Random & | random ) |
References mMyState, and BrawlerCoordinateConversion::RegisterLocationEntity().
Referenced by WsfBrawlerProcessor::Initialize(), and ~BrawlerPlatform().
|
virtual |
References GetTime(), LastConsciousnessEventTime(), nvalcp, Uniform(), and BRAWLER::xlarge.
Referenced by GetTime(), MindUpdate(), and WsfBrawlerProcessor::MindUpdate().
|
inline |
| double BrawlerPlatform::LastComputedEngagementValue | ( | UtEntity & | aTgt | ) |
References AircraftValue(), ExpectedValueDestroyed(), and State().
Referenced by BrawlerEvaluation::CalcIlluminationValue(), and BrawlerEvaluation::EvaluateAlternative().
|
inlinevirtual |
Referenced by InitializeStatistics().
|
inline |
Replaces lbit(rmsk,bitdwn) See BRAWLER User manual p. 3.3.2.4-12, read from .RDR SCOPE block For initial implementation this function will always return true (typical config value)
Referenced by BrawlerEvaluation::GetBestWeapon(), and WeaponVerticalTrackCheck().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::CalcLowSpeedRecoveryValue().
|
inline |
Returns the value of the requested maneuver component.
Referenced by BrawlerEvaluation::EvaluateAlternative().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::Evaluate1v1().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::Evaluate1v1().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::Evaluate1v1().
|
inline |
References BRAWLER::grav, and MaxLimitedInstantaneousGLoad_g().
Referenced by BrawlerEvaluation::CalcEvadeValue(), and BrawlerEvaluation::Evaluate1v1().
|
pure virtual |
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
virtual |
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::Evaluate1v1().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::CalcVectoredFlightValue(), and BrawlerEvaluation::Evaluate1v1().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
inline |
MaxWeaponAspectOffsetAngle replaces "aoffmx" from BRAWLER v7.5 See BRAWLER User manual Table 3.3.3.2-17, read from .MSL SEEK block Maximum aspect angle off tail to fire. A value of 0.0 indicates a tail aspect, a value of pi indicates a nose aspect. For initial implementation this function will always return 4.0 (typical config value)
Referenced by BrawlerEvaluation::CalcMissileAimValue(), and BrawlerEvaluation::GetBestWeapon().
|
inline |
MaxWeaponSteeringError replaces "ppm_semax = semax" from BRAWLER v7.5 See BRAWLER User manual Table 3.3.3.2-17, read from .MSL SEEK block Steering error is defined as the angle between the launching aircraft's longitudinal axis (X-bodyaxis) and the line-of-sight to the predicted intercept. For initial implementation this function will always return 4.0000E-01 (typical config value)
Referenced by BrawlerEvaluation::CalcMissileAimValue().
|
inline |
Referenced by BrawlerEvaluation::EvaluateAlternative().
|
virtual |
Reimplemented in WsfBrawlerProcessor.
References BrawlerEvaluation::CalcEvadeValue(), CalculateStatistics(), GetConsciousnessEventTime(), InitializeStatistics(), NominalProjection(), ProjectedTimeDelta(), and UpdateMissileMode().
Referenced by GetTime().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::Evaluate1v1().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::Evaluate1v1().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::Evaluate1v1().
|
inline |
|
inline |
| bool BrawlerPlatform::NoAim | ( | ) |
References InIntercept(), BRAWLER::knddew, Ready(), and WeaponType().
Referenced by BrawlerEvaluation::EvaluateAlternative(), and Skip1v1().
|
protected |
References a_lim(), AccelerationNED(), BRAWLER::AtmosphereDensityRatio(), BRAWLER::bodyax(), ConvertNEDtoLLA(), GetAlpha(), GetSpeed(), GetTarget(), BRAWLER::grav, mMyNom, mMyState, mTgNom, PositionNED(), projw(), and VelocityNED().
Referenced by MindUpdate(), and WsfBrawlerProcessor::MindUpdate().
|
inline |
| double BrawlerPlatform::OffBoreSightAngle | ( | UtEntity & | aRef, |
| UtEntity & | aTgt ) |
References BRAWLER::arccos(), BRAWLER::eps, PositionNED(), and VelocityNED().
Referenced by BrawlerEvaluation::Evaluate1v1(), ProbabilityOfKill(), ProbabilitySeen(), and BrawlerEvaluation::SelfEngagementMeasure().
| double BrawlerPlatform::OffensiveMultiplier | ( | ) |
References FlightAggressiveness(), GetTarget(), ProbabilityOfSurvival(), and State().
Referenced by BrawlerEvaluation::EvaluateAlternative().
| bool BrawlerPlatform::OneVsOneOp | ( | ) |
Referenced by BrawlerEvaluation::EvaluateAlternative().
|
delete |
References BrawlerPlatform().
| UtVec3d BrawlerPlatform::OrientationNED | ( | ) |
References BrawlerCoordinateConversion::GetOrientationNED(), and State().
Referenced by GetTime().
| UtVec3d BrawlerPlatform::PositionNED | ( | ) |
References PositionNED(), and State().
Referenced by BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::CalcMissileAimValue(), BrawlerEvaluation::CalcRoutepointValue(), DegreeOfThreat(), BrawlerEvaluation::Evaluate1v1(), GetTime(), BrawlerEvaluation::InitializeRoutePointValues(), NominalProjection(), OffBoreSightAngle(), PositionNED(), ProbabilitySeen(), RangeRate(), BrawlerEvaluation::SelfEngagementMeasure(), TargetAngleAboveHorizon(), WeaponSimTimeOfIntercept(), WeaponSteeringError(), and WeaponVerticalTrackCheck().
|
static |
References BrawlerCoordinateConversion::GetPositionNED().
| double BrawlerPlatform::ProbabilityOfKill | ( | UtEntity & | killer, |
| UtEntity & | victim ) |
References BRAWLER::cauchy(), BRAWLER::hafpi, OffBoreSightAngle(), ProbabilitySeen(), BRAWLER::ramp(), RelativePositionNED(), and BrawlerEvaluation::SelfEngagementMeasure().
Referenced by ExpectedValueDestroyed(), and ProbabilityOfSurvival().
| double BrawlerPlatform::ProbabilityOfSurvival | ( | UtEntity & | aRef, |
| UtEntity * | aTgt ) |
References Damaged(), GetNumberThreats(), and ProbabilityOfKill().
Referenced by DefensiveMultiplier(), and OffensiveMultiplier().
| double BrawlerPlatform::ProbabilitySeen | ( | UtEntity & | looker, |
| UtEntity & | seen ) |
References AccelerationNED(), BRAWLER::amax1(), BRAWLER::amin1(), FirstObservedTime(), GetSpeed(), GetTime(), BRAWLER::grav, BRAWLER::hafpi, ngg, OffBoreSightAngle(), pi, PositionNED(), BRAWLER::rad, VelocityNED(), and BRAWLER::xlarge.
Referenced by ProbabilityOfKill().
|
inline |
| double BrawlerPlatform::ProjectedTimeDelta | ( | ) |
References BRAWLER::AIMFIRE, GetThreat(), BRAWLER::ramp(), and State().
Referenced by BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::CalcLowSpeedRecoveryValue(), BrawlerEvaluation::CalcMissileAimValue(), BrawlerEvaluation::CalcVectoredFlightValue(), BrawlerEvaluation::Evaluate1v1(), WsfBrawlerProcessor::EvaluateHeadingSpeedAltitude(), WsfBrawlerProcessor::EvaluateRates(), WsfBrawlerProcessor::EvaluateTurnInPlaneWithSpeed(), WsfBrawlerProcessor::EvaluateTurnInPlaneWithThrottle(), WsfBrawlerProcessor::EvaluateVectorWithSpeed(), WsfBrawlerProcessor::EvaluateVectorWithThrottle(), BrawlerEvaluation::InitializeRoutePointValues(), MindUpdate(), WsfBrawlerProcessor::MindUpdate(), and SlowFlight().
|
static |
References BRAWLER::avnorm(), BRAWLER::grav, BRAWLER::makcsi(), BRAWLER::makex(), and BRAWLER::nabort().
Referenced by BrawlerMover::aproj3(), and NominalProjection().
|
inline |
See BRAWLER User manual p. 3.2.1-39, read from SCNRIO file For the initial implementation this function will always return the typical short range value of 0.95 (blue)
Referenced by BrawlerEvaluation::WeaponAimingEnvelope().
| double BrawlerPlatform::RangeRate | ( | UtEntity & | aRef, |
| UtEntity & | aTgt ) |
References PositionNED(), and VelocityNED().
Referenced by BrawlerEvaluation::SelfEngagementMeasure().
|
inline |
| bool BrawlerPlatform::Ready | ( | ) |
References BRAWLER::AIMFIRE.
Referenced by BrawlerEvaluation::EvaluateAlternative(), and NoAim().
| UtVec3d BrawlerPlatform::RelativePositionECS | ( | UtEntity & | aTgt | ) |
References RelativePositionECS(), and State().
Referenced by GetTime(), and RelativePositionECS().
|
static |
References ConvertNEDtoECS(), and RelativePositionNED().
| UtVec3d BrawlerPlatform::RelativePositionNED | ( | UtEntity & | aTgt | ) |
References RelativePositionNED(), and State().
Referenced by BrawlerEvaluation::CalcIlluminationValue(), BrawlerEvaluation::CalcMissileAimValue(), BrawlerEvaluation::Evaluate1v1(), GetTime(), BrawlerEvaluation::InitMissileAiming(), ProbabilityOfKill(), RelativePositionECS(), RelativePositionNED(), and Skip1v1().
|
static |
| UtVec3d BrawlerPlatform::RelativeVelocityECS | ( | UtEntity & | aTgt | ) |
References ConvertNEDtoECS(), RelativeVelocityNED(), and State().
Referenced by GetTime().
|
static |
References ConvertNEDtoECS(), and RelativeVelocityNED().
| UtVec3d BrawlerPlatform::RelativeVelocityNED | ( | UtEntity & | aTgt | ) |
References BrawlerCoordinateConversion::RelativeVelocityNED(), and State().
Referenced by BrawlerEvaluation::CalcMissileAimValue(), BrawlerEvaluation::Evaluate1v1(), GetTime(), RelativeVelocityECS(), and RelativeVelocityECS().
|
static |
References VelocityNED().
|
inline |
Referenced by BrawlerEvaluation::Evaluate1v1().
|
inline |
Referenced by BrawlerEvaluation::Evaluate1v1(), and BrawlerEvaluation::EvaluateAlternative().
|
inline |
Referenced by BrawlerEvaluation::CalcRoutepointValue().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
References WeaponSimTimeOfIntercept().
Referenced by BrawlerEvaluation::CalcIlluminationValue().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::CalcIlluminationValue().
|
virtual |
| void BrawlerPlatform::SetCombatEffectiveness | ( | double | aEffect | ) |
|
inline |
Referenced by BrawlerEvaluation::CalcEvadeValue().
| void BrawlerPlatform::SetFlightAggressiveness | ( | double | aFactor | ) |
| void BrawlerPlatform::SetForceRatio | ( | double | aRatio | ) |
|
inline |
|
inline |
Referenced by BrawlerEvaluation::EvaluateAlternative().
|
inline |
Referenced by BrawlerEvaluation::EvaluateAlternative().
|
inline |
Referenced by WsfBrawlerProcessor::UpdateMissileMode().
|
inline |
|
inline |
References mMyNom.
|
inline |
References mMyPro.
Referenced by WsfBrawlerProcessor::EvaluateAlternative().
|
inline |
Referenced by BrawlerEvaluation::EvaluateAlternative().
|
inline |
Referenced by BrawlerEvaluation::Evaluate1v1().
|
inline |
Referenced by BrawlerEvaluation::Evaluate1v1().
|
inline |
References mMyState.
|
inline |
References mTgNom.
| void BrawlerPlatform::SetTargetRoutepointLLA | ( | int | aLat, |
| int | aLon, | ||
| int | aAlt_m ) |
| void BrawlerPlatform::SetTargetRoutepointLLA | ( | UtVec3d | aLLA | ) |
|
inline |
Referenced by WsfBrawlerProcessor::ProcessInput().
| bool BrawlerPlatform::Skip1v1 | ( | ) |
References BRAWLER::ftnmi, GetTarget(), NoAim(), RelativePositionNED(), and ValueVectoredFlight().
Referenced by BrawlerEvaluation::EvaluateAlternative().
| double BrawlerPlatform::SlantRange | ( | UtEntity & | aTgt, |
| double | defaultRange = 1000000 / BRAWLER::ftnmi ) |
References State().
Referenced by GetTime(), and WsfBrawlerProcessor::MaxTacticalGLoad_g().
| bool BrawlerPlatform::SlowFlight | ( | ) |
References AccelerationNED(), BRAWLER::arcsin(), BRAWLER::hafpi, MaxInstantaneousGLoad_g(), ProjectedTimeDelta(), and VelocityNED().
Referenced by BrawlerEvaluation::EvaluateAlternative().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::Evaluate1v1().
|
inline |
Referenced by BrawlerEvaluation::CalcVectoredFlightValue().
|
inline |
References mMyState.
Referenced by AccelerationECS(), AccelerationNED(), BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::CalcLowSpeedRecoveryValue(), ConvertECStoNED(), ConvertECStoWind(), ConvertNEDtoECS(), ConvertNEDtoWind(), ConvertWindtoECS(), ConvertWindtoNED(), DefensiveMultiplier(), BrawlerEvaluation::Evaluate1v1(), BrawlerEvaluation::EvaluateAlternative(), GetAlpha(), GetNEDToECSRotation(), GetSpeed(), LastComputedEngagementValue(), OffensiveMultiplier(), OrientationNED(), PositionNED(), ProjectedTimeDelta(), RelativePositionECS(), RelativePositionNED(), RelativeVelocityECS(), RelativeVelocityNED(), SlantRange(), VelocityECS(), and VelocityNED().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::CalcLowSpeedRecoveryValue(), and BrawlerEvaluation::Evaluate1v1().
|
pure virtual |
Implemented in WsfBrawlerProcessor.
Referenced by BrawlerEvaluation::CalcLowSpeedRecoveryValue(), BrawlerEvaluation::Evaluate1v1(), and MaxLimitedInstantaneousGLoad_g().
|
inline |
| double BrawlerPlatform::TargetAngleAboveHorizon | ( | UtEntity & | aTgt | ) |
References BrawlerEvaluation::AngleAboveHorizon(), and PositionNED().
Referenced by BrawlerEvaluation::CalcMissileAimValue().
|
inline |
References mTgNom.
Referenced by BrawlerEvaluation::CalcMissileAimValue(), and BrawlerEvaluation::Evaluate1v1().
|
inline |
Referenced by WsfBrawlerProcessor::GetConsciousnessEventTime().
|
inline |
Returns the value of the requested tunnel vision multiplier Tunnel Vision shares component types with maneuver
Referenced by BrawlerEvaluation::EvaluateAlternative().
|
inline |
Referenced by InitializeStatistics().
|
pure virtual |
Set the current missile mode based on aircraft conditions. Similar function to mislmd.f in BRAWLER v7.5
Implemented in WsfBrawlerProcessor.
Referenced by MindUpdate().
|
virtual |
References nvalcp.
Referenced by BrawlerEvaluation::EvaluateAlternative(), and GetTime().
|
inline |
| UtVec3d BrawlerPlatform::VelocityECS | ( | ) |
References State(), and VelocityECS().
Referenced by GetTime(), and VelocityECS().
|
static |
| UtVec3d BrawlerPlatform::VelocityNED | ( | ) |
References State(), and VelocityNED().
Referenced by BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::CalcLowSpeedRecoveryValue(), BrawlerEvaluation::CalcMissileAimValue(), BrawlerEvaluation::CalcRoutepointValue(), BrawlerEvaluation::CalcVectoredFlightValue(), DegreeOfThreat(), BrawlerEvaluation::Evaluate1v1(), GetTime(), BrawlerEvaluation::InitializeRoutePointValues(), NominalProjection(), OffBoreSightAngle(), ProbabilitySeen(), RangeRate(), RelativeVelocityNED(), BrawlerEvaluation::SelfEngagementMeasure(), SlowFlight(), VelocityNED(), WeaponSimTimeOfIntercept(), and WeaponSteeringError().
|
static |
References BrawlerCoordinateConversion::GetVelocityNED().
|
inline |
Referenced by BrawlerEvaluation::CalcMissileAimValue().
|
inline |
Referenced by BrawlerEvaluation::CalcMissileAimValue().
|
inline |
Referenced by BrawlerEvaluation::CalcMissileAimValue().
|
inline |
Referenced by BrawlerEvaluation::CalcMissileAimValue().
| double BrawlerPlatform::WeaponSimTimeOfIntercept | ( | UtEntity & | aThreat | ) |
| double BrawlerPlatform::WeaponSteeringError | ( | UtEntity & | aTgt | ) |
References BRAWLER::AimPoint(), BRAWLER::arccos(), ConvertNEDtoECS(), BRAWLER::nabort(), PositionNED(), and VelocityNED().
|
inline |
References BRAWLER::kndsrm.
Referenced by BrawlerEvaluation::CalcMissileAimValue(), BrawlerEvaluation::Evaluate1v1(), and NoAim().
| bool BrawlerPlatform::WeaponVerticalTrackCheck | ( | UtEntity & | aTgt | ) |
References BrawlerEvaluation::AngleAboveHorizon(), LookDownShootCapable(), and PositionNED().
Referenced by BrawlerEvaluation::CalcMissileAimValue().
|
protected |
|
protected |
Referenced by BrawlerPlatform(), BrawlerPlatform(), ProjectedState(), and SetProjectedState().
|
protected |
|
protected |