WSF
BrawlerPlatform Class Referenceabstract

#include <BrawlerPlatform.hpp>

Inheritance diagram for BrawlerPlatform:

Public Member Functions

 BrawlerPlatform ()
 BrawlerPlatform (const BrawlerPlatform &aSrc)
BrawlerPlatformoperator= (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
BrawlerMINDGetMIND ()
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

Constructor & Destructor Documentation

◆ BrawlerPlatform() [1/2]

◆ BrawlerPlatform() [2/2]

BrawlerPlatform::BrawlerPlatform ( const BrawlerPlatform & aSrc)

◆ ~BrawlerPlatform()

virtual BrawlerPlatform::~BrawlerPlatform ( )
virtualdefault

References Init().

Member Function Documentation

◆ a_lim()

UtVec3d BrawlerPlatform::a_lim ( const UtVec3d & x_in,
const UtVec3d & v_in,
const UtVec3d & a_in,
double dt,
double min_speed )
static

◆ AccelerationECS() [1/2]

UtVec3d BrawlerPlatform::AccelerationECS ( )

◆ AccelerationECS() [2/2]

UtVec3d BrawlerPlatform::AccelerationECS ( UtEntity & aTgt)
static

◆ AccelerationNED() [1/2]

◆ AccelerationNED() [2/2]

UtVec3d BrawlerPlatform::AccelerationNED ( UtEntity & aTgt)
static

◆ AdjustTunnelVisionMultipliers()

void BrawlerPlatform::AdjustTunnelVisionMultipliers ( )

References BRAWLER::nabort(), nvalcp, and nvcp_used.

Referenced by CalculateStatistics(), and GetTime().

◆ AircraftValue()

double BrawlerPlatform::AircraftValue ( UtEntity & aRef)
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

Parameters
aRefPointer to the platform
Returns
intrinsic value of the platform (unitless)

Referenced by BrawlerEvaluation::CalcEvadeValue(), BrawlerEvaluation::CalcLowSpeedRecoveryValue(), BrawlerEvaluation::EvaluateAlternative(), ExpectedValueDestroyed(), and LastComputedEngagementValue().

◆ BoreSight()

bool BrawlerPlatform::BoreSight ( )

◆ CalcTurnRate_rps()

virtual double BrawlerPlatform::CalcTurnRate_rps ( const double & aClMax,
const double & aSpeed_fps,
const double & aDynamicPressure_psf,
const double & aWingArea_ft2 )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ CalculateStatistics()

void BrawlerPlatform::CalculateStatistics ( )
virtual

◆ CombatEffectiveness()

double BrawlerPlatform::CombatEffectiveness ( UtEntity & aRef)
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

Parameters
aRefPointer to the platform
Returns
combat effectiveness value of the platform (unitless)

Referenced by BrawlerEvaluation::SelfEngagementMeasure().

◆ ConvertECStoNED() [1/2]

UtVec3d BrawlerPlatform::ConvertECStoNED ( UtEntity & ref,
UtVec3d ecs )
static

◆ ConvertECStoNED() [2/2]

UtVec3d BrawlerPlatform::ConvertECStoNED ( UtVec3d ecs)

◆ ConvertECStoWind() [1/2]

UtVec3d BrawlerPlatform::ConvertECStoWind ( UtEntity & ref,
UtVec3d ecs )
static

References BRAWLER::eps.

◆ ConvertECStoWind() [2/2]

UtVec3d BrawlerPlatform::ConvertECStoWind ( UtVec3d ecs)

◆ ConvertNEDtoECS() [1/2]

UtVec3d BrawlerPlatform::ConvertNEDtoECS ( UtEntity & ref,
UtVec3d ned )
static

◆ ConvertNEDtoECS() [2/2]

◆ ConvertNEDtoLLA()

UtVec3d BrawlerPlatform::ConvertNEDtoLLA ( UtVec3d ned)
static

◆ ConvertNEDtoWind() [1/2]

UtVec3d BrawlerPlatform::ConvertNEDtoWind ( UtEntity & ref,
UtVec3d ned )
static

◆ ConvertNEDtoWind() [2/2]

UtVec3d BrawlerPlatform::ConvertNEDtoWind ( UtVec3d ned)

◆ ConvertWindtoECS() [1/2]

UtVec3d BrawlerPlatform::ConvertWindtoECS ( UtEntity & ref,
UtVec3d wind )
static

References BRAWLER::eps.

◆ ConvertWindtoECS() [2/2]

UtVec3d BrawlerPlatform::ConvertWindtoECS ( UtVec3d wind)

◆ ConvertWindtoNED() [1/2]

UtVec3d BrawlerPlatform::ConvertWindtoNED ( UtEntity & ref,
UtVec3d wind )
static

◆ ConvertWindtoNED() [2/2]

UtVec3d BrawlerPlatform::ConvertWindtoNED ( UtVec3d wind)

◆ CorneringVelocity_fps()

virtual double BrawlerPlatform::CorneringVelocity_fps ( )
pure virtual

Implemented in WsfBrawlerProcessor.

Referenced by BrawlerEvaluation::Evaluate1v1().

◆ CurrentFuelWeight_lbs()

virtual double BrawlerPlatform::CurrentFuelWeight_lbs ( )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ CurrentStructuralGLimit_g()

virtual double BrawlerPlatform::CurrentStructuralGLimit_g ( )
pure virtual

Implemented in WsfBrawlerProcessor.

Referenced by MaxLimitedInstantaneousGLoad_g().

◆ CurrentWeight_lbs()

virtual double BrawlerPlatform::CurrentWeight_lbs ( )
pure virtual

◆ Damaged()

bool BrawlerPlatform::Damaged ( UtEntity & aRef)

Referenced by ProbabilityOfSurvival().

◆ DefensiveMultiplier()

double BrawlerPlatform::DefensiveMultiplier ( )

◆ DegreeOfThreat()

◆ DegreeOfThreatCompliment()

double BrawlerPlatform::DegreeOfThreatCompliment ( UtEntity & aTgt)
inline

◆ DesignWeightForMaxG_lbs()

virtual double BrawlerPlatform::DesignWeightForMaxG_lbs ( )
pure virtual

◆ DirectionVectoredFlight()

UtVec3d BrawlerPlatform::DirectionVectoredFlight ( )
inline

◆ DynamicPressure_psf()

virtual double BrawlerPlatform::DynamicPressure_psf ( )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ EmptyWeight_lbs()

virtual double BrawlerPlatform::EmptyWeight_lbs ( )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ EvaluateHeadingSpeedAltitude()

virtual double BrawlerPlatform::EvaluateHeadingSpeedAltitude ( const double & aHeading,
const double & aSpeed,
const double & aAltitude,
const double & aMaxGees,
const double & aMaxClimb )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ EvaluateRates()

virtual double BrawlerPlatform::EvaluateRates ( UtVec3d & aAngularRates,
UtVec3d & aLongitudinalAccel )
pure virtual

Projects current position forward based on the alternative and evaluates the result of the projection

Implemented in WsfBrawlerProcessor.

◆ EvaluateTurnInPlaneWithSpeed()

virtual double BrawlerPlatform::EvaluateTurnInPlaneWithSpeed ( UtVec3d & aPlane,
const double & aGees,
const double & aSpeed )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ EvaluateTurnInPlaneWithThrottle()

virtual double BrawlerPlatform::EvaluateTurnInPlaneWithThrottle ( UtVec3d & aPlane,
const double & aGees,
const double & aThrottle )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ EvaluateVectorWithSpeed()

virtual double BrawlerPlatform::EvaluateVectorWithSpeed ( UtVec3d & aVelocityVector,
const double & aMaxGees,
const double & aSpeed )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ EvaluateVectorWithThrottle()

virtual double BrawlerPlatform::EvaluateVectorWithThrottle ( UtVec3d & aVelocityVector,
const double & aMaxGees,
const double & aThrottle )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ EvasionDirection()

UtVec3d BrawlerPlatform::EvasionDirection ( )
inline

◆ ExpectedValueDestroyed()

double BrawlerPlatform::ExpectedValueDestroyed ( UtEntity & aRef,
UtEntity & aTgt )

◆ FirstObservedTime()

virtual double BrawlerPlatform::FirstObservedTime ( UtEntity * aTgt)
inlinevirtual

Reimplemented in WsfBrawlerProcessor.

Referenced by ProbabilitySeen().

◆ FlightAggressiveness()

double BrawlerPlatform::FlightAggressiveness ( )
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

Returns
aggressiveness factor for this aircraft's flight (unitless)

Referenced by OffensiveMultiplier().

◆ ForceRatio()

double BrawlerPlatform::ForceRatio ( )
inline

Referenced by DefensiveMultiplier().

◆ GetAlpha() [1/2]

double BrawlerPlatform::GetAlpha ( )

References GetAlpha(), and State().

Referenced by GetAlpha(), GetTime(), and NominalProjection().

◆ GetAlpha() [2/2]

double BrawlerPlatform::GetAlpha ( UtEntity & aRef)
static

References BRAWLER::eps.

◆ GetAlphaAtMaxCL_deg() [1/3]

virtual double BrawlerPlatform::GetAlphaAtMaxCL_deg ( )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ GetAlphaAtMaxCL_deg() [2/3]

virtual double BrawlerPlatform::GetAlphaAtMaxCL_deg ( const double & aAlt_ft,
const double & aMach )
pure virtual

◆ GetAlphaAtMaxCL_deg() [3/3]

virtual double BrawlerPlatform::GetAlphaAtMaxCL_deg ( const double & aMach)
pure virtual

Implemented in WsfBrawlerProcessor.

◆ GetAlternative()

void BrawlerPlatform::GetAlternative ( int & ilevel,
int & kalt,
int & icall,
int & lcall )
virtual

◆ GetConsciousnessEventTime()

virtual double BrawlerPlatform::GetConsciousnessEventTime ( )
inlinevirtual

Reimplemented in WsfBrawlerProcessor.

Referenced by MindUpdate().

◆ GetMaxCL() [1/3]

virtual double BrawlerPlatform::GetMaxCL ( )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ GetMaxCL() [2/3]

virtual double BrawlerPlatform::GetMaxCL ( const double & aAlt_ft,
const double & aMach )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ GetMaxCL() [3/3]

virtual double BrawlerPlatform::GetMaxCL ( const double & aMach)
pure virtual

Implemented in WsfBrawlerProcessor.

◆ GetMIND()

◆ GetNEDToECSRotation()

UtFortMat3d BrawlerPlatform::GetNEDToECSRotation ( )

◆ GetNumberThreats()

virtual int BrawlerPlatform::GetNumberThreats ( )
inlinevirtual

Reimplemented in WsfBrawlerProcessor.

Referenced by ProbabilityOfSurvival().

◆ GetSpeed() [1/2]

◆ GetSpeed() [2/2]

double BrawlerPlatform::GetSpeed ( UtEntity & aRef)
static

◆ GetTarget()

◆ GetTargetRoutePoint()

UtVec3d BrawlerPlatform::GetTargetRoutePoint ( )
inline

◆ GetThreat()

virtual UtEntity * BrawlerPlatform::GetThreat ( )
pure virtual

◆ GetTime()

◆ HaveWeapons()

bool BrawlerPlatform::HaveWeapons ( )
virtual

◆ InherentBiasFaults()

double BrawlerPlatform::InherentBiasFaults ( BRAWLER::InherentBiasFaultTypes aType)
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

Parameters
aTypeThe bias type (aggressiveness, mutual support, maintain airspeed)
Returns
the nominal range of the weapon in feet

Referenced by BrawlerEvaluation::EvaluateAlternative().

◆ InIntercept()

bool BrawlerPlatform::InIntercept ( )

◆ Init()

void BrawlerPlatform::Init ( UtEntity & state,
ut::Random & random )

◆ InitializeStatistics()

void BrawlerPlatform::InitializeStatistics ( )
virtual

◆ Job()

BRAWLER::JobType BrawlerPlatform::Job ( )
inline

◆ LastComputedEngagementValue()

double BrawlerPlatform::LastComputedEngagementValue ( UtEntity & aTgt)

◆ LastConsciousnessEventTime()

virtual double BrawlerPlatform::LastConsciousnessEventTime ( )
inlinevirtual

Referenced by InitializeStatistics().

◆ LookDownShootCapable()

bool BrawlerPlatform::LookDownShootCapable ( )
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().

◆ Mach()

virtual double BrawlerPlatform::Mach ( )
pure virtual

◆ ManeuverValueComponent()

double BrawlerPlatform::ManeuverValueComponent ( BRAWLER::ManeuverValueComponentType aType)
inline

Returns the value of the requested maneuver component.

Referenced by BrawlerEvaluation::EvaluateAlternative().

◆ MaxAngularRate_rps()

virtual double BrawlerPlatform::MaxAngularRate_rps ( )
pure virtual

Implemented in WsfBrawlerProcessor.

Referenced by BrawlerEvaluation::Evaluate1v1().

◆ MaxForwardAcceleration_fps2()

virtual double BrawlerPlatform::MaxForwardAcceleration_fps2 ( )
pure virtual

Implemented in WsfBrawlerProcessor.

Referenced by BrawlerEvaluation::Evaluate1v1().

◆ MaxForwardAccelerationWithGravity_fps2()

virtual double BrawlerPlatform::MaxForwardAccelerationWithGravity_fps2 ( )
pure virtual

Implemented in WsfBrawlerProcessor.

Referenced by BrawlerEvaluation::Evaluate1v1().

◆ MaximumInstantaneousLift_fps2()

double BrawlerPlatform::MaximumInstantaneousLift_fps2 ( )
inline

◆ MaxInstantaneousGLoad_g()

◆ MaxInstantaneousTurnRate_rps()

virtual double BrawlerPlatform::MaxInstantaneousTurnRate_rps ( )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ MaxLimitedInstantaneousGLoad_g()

◆ MaxSustainedGLoad_g()

virtual double BrawlerPlatform::MaxSustainedGLoad_g ( )
pure virtual

Implemented in WsfBrawlerProcessor.

Referenced by BrawlerEvaluation::Evaluate1v1().

◆ MaxSustainedTurnRate_rps()

virtual double BrawlerPlatform::MaxSustainedTurnRate_rps ( )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ MaxTacticalGLoad_g()

virtual double BrawlerPlatform::MaxTacticalGLoad_g ( )
pure virtual

◆ MaxTacticalTurnRate_rps()

virtual double BrawlerPlatform::MaxTacticalTurnRate_rps ( )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ MaxWeaponAspectOffsetAngle()

double BrawlerPlatform::MaxWeaponAspectOffsetAngle ( )
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)

Returns
maximum aspect angle off tail to fire in radians

Referenced by BrawlerEvaluation::CalcMissileAimValue(), and BrawlerEvaluation::GetBestWeapon().

◆ MaxWeaponSteeringError()

double BrawlerPlatform::MaxWeaponSteeringError ( )
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)

Returns
maximum steering error to fire in radians

Referenced by BrawlerEvaluation::CalcMissileAimValue().

◆ MinAlternativeValue()

double BrawlerPlatform::MinAlternativeValue ( )
inline

◆ MindUpdate()

◆ MinForwardAcceleration_fps2()

virtual double BrawlerPlatform::MinForwardAcceleration_fps2 ( )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ MinForwardAccelerationWithGravity_fps2()

virtual double BrawlerPlatform::MinForwardAccelerationWithGravity_fps2 ( )
pure virtual

Implemented in WsfBrawlerProcessor.

Referenced by BrawlerEvaluation::Evaluate1v1().

◆ MinInstantaneousTurnRadius_ft()

virtual double BrawlerPlatform::MinInstantaneousTurnRadius_ft ( )
pure virtual

Implemented in WsfBrawlerProcessor.

Referenced by BrawlerEvaluation::Evaluate1v1().

◆ MinSustainedTurnRadius_ft()

virtual double BrawlerPlatform::MinSustainedTurnRadius_ft ( )
pure virtual

Implemented in WsfBrawlerProcessor.

◆ MinTacticalTurnRadius_ft()

virtual double BrawlerPlatform::MinTacticalTurnRadius_ft ( )
pure virtual

Implemented in WsfBrawlerProcessor.

Referenced by BrawlerEvaluation::Evaluate1v1().

◆ MissileMode()

◆ Mission()

BRAWLER::MissionType BrawlerPlatform::Mission ( )
inline

◆ NoAim()

bool BrawlerPlatform::NoAim ( )

◆ NominalProjection()

◆ NominalState()

◆ OffBoreSightAngle()

double BrawlerPlatform::OffBoreSightAngle ( UtEntity & aRef,
UtEntity & aTgt )

◆ OffensiveMultiplier()

double BrawlerPlatform::OffensiveMultiplier ( )

◆ OneVsOneOp()

bool BrawlerPlatform::OneVsOneOp ( )

◆ operator=()

BrawlerPlatform & BrawlerPlatform::operator= ( const BrawlerPlatform & )
delete

References BrawlerPlatform().

◆ OrientationNED()

UtVec3d BrawlerPlatform::OrientationNED ( )

◆ PositionNED() [1/2]

◆ PositionNED() [2/2]

UtVec3d BrawlerPlatform::PositionNED ( UtEntity & aTgt)
static

◆ ProbabilityOfKill()

double BrawlerPlatform::ProbabilityOfKill ( UtEntity & killer,
UtEntity & victim )

◆ ProbabilityOfSurvival()

double BrawlerPlatform::ProbabilityOfSurvival ( UtEntity & aRef,
UtEntity * aTgt )

◆ ProbabilitySeen()

double BrawlerPlatform::ProbabilitySeen ( UtEntity & looker,
UtEntity & seen )

◆ ProjectedState()

◆ ProjectedTimeDelta()

◆ projw()

void BrawlerPlatform::projw ( const UtVec3d & xin,
const UtVec3d & vin,
const UtVec3d & a,
double dt,
UtVec3d & xout,
UtVec3d & vout,
UtVec3d & aout,
UtFortMat3d & rwout )
static

◆ RangePercent()

double BrawlerPlatform::RangePercent ( BRAWLER::WeaponType aType)
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)

Note
Typical short range value for red 0.75 !?

Referenced by BrawlerEvaluation::WeaponAimingEnvelope().

◆ RangeRate()

double BrawlerPlatform::RangeRate ( UtEntity & aRef,
UtEntity & aTgt )

◆ RawManeuverValueComponent()

double BrawlerPlatform::RawManeuverValueComponent ( BRAWLER::ManeuverValueComponentType aType)
inline

◆ Ready()

bool BrawlerPlatform::Ready ( )

◆ RelativePositionECS() [1/2]

UtVec3d BrawlerPlatform::RelativePositionECS ( UtEntity & aTgt)

References RelativePositionECS(), and State().

Referenced by GetTime(), and RelativePositionECS().

◆ RelativePositionECS() [2/2]

UtVec3d BrawlerPlatform::RelativePositionECS ( UtEntity & ref,
UtEntity & aTgt )
static

◆ RelativePositionNED() [1/2]

◆ RelativePositionNED() [2/2]

UtVec3d BrawlerPlatform::RelativePositionNED ( UtEntity & ref,
UtEntity & aTgt )
static

◆ RelativeVelocityECS() [1/2]

UtVec3d BrawlerPlatform::RelativeVelocityECS ( UtEntity & aTgt)

References ConvertNEDtoECS(), RelativeVelocityNED(), and State().

Referenced by GetTime().

◆ RelativeVelocityECS() [2/2]

UtVec3d BrawlerPlatform::RelativeVelocityECS ( UtEntity & ref,
UtEntity & aTgt )
static

◆ RelativeVelocityNED() [1/2]

◆ RelativeVelocityNED() [2/2]

UtVec3d BrawlerPlatform::RelativeVelocityNED ( UtEntity & ref,
UtEntity & aTgt )
static

References VelocityNED().

◆ RollOverTopTime()

double BrawlerPlatform::RollOverTopTime ( )
inline

◆ RollOverTopValue()

double BrawlerPlatform::RollOverTopValue ( )
inline

◆ RoutePointValueMultiplier()

double BrawlerPlatform::RoutePointValueMultiplier ( )
inline

◆ SensorGimbalAzimuthLimit()

virtual double BrawlerPlatform::SensorGimbalAzimuthLimit ( )
pure virtual

◆ SensorGimbalElevationLimit()

virtual double BrawlerPlatform::SensorGimbalElevationLimit ( )
pure virtual

◆ SetAlternative()

void BrawlerPlatform::SetAlternative ( int ilevel,
int kalt,
int icall,
int lcall )
virtual

◆ SetCombatEffectiveness()

void BrawlerPlatform::SetCombatEffectiveness ( double aEffect)

◆ SetEvasionDirection()

void BrawlerPlatform::SetEvasionDirection ( UtVec3d dir)
inline

◆ SetFlightAggressiveness()

void BrawlerPlatform::SetFlightAggressiveness ( double aFactor)

◆ SetForceRatio()

void BrawlerPlatform::SetForceRatio ( double aRatio)

◆ SetJob()

void BrawlerPlatform::SetJob ( BRAWLER::JobType aJob)
inline

◆ SetManeuverValueComponent()

void BrawlerPlatform::SetManeuverValueComponent ( BRAWLER::ManeuverValueComponentType aType,
double value )
inline

◆ SetMinAlternativeValue()

void BrawlerPlatform::SetMinAlternativeValue ( double val)
inline

◆ SetMissileMode()

void BrawlerPlatform::SetMissileMode ( BRAWLER::MissileModeState mode)
inline

◆ SetMission()

void BrawlerPlatform::SetMission ( BRAWLER::MissionType aMission)
inline

◆ SetNominalState()

void BrawlerPlatform::SetNominalState ( UtEntity & state)
inline

References mMyNom.

◆ SetProjectedState()

void BrawlerPlatform::SetProjectedState ( UtEntity & state)
inline

◆ SetRawManeuverValueComponent()

void BrawlerPlatform::SetRawManeuverValueComponent ( BRAWLER::ManeuverValueComponentType aType,
double value )
inline

◆ SetRollOverTopTime()

void BrawlerPlatform::SetRollOverTopTime ( double val)
inline

◆ SetRollOverTopValue()

void BrawlerPlatform::SetRollOverTopValue ( double val)
inline

◆ SetState()

void BrawlerPlatform::SetState ( UtEntity & state)
inline

References mMyState.

◆ SetTargetNominalState()

void BrawlerPlatform::SetTargetNominalState ( UtEntity & state)
inline

References mTgNom.

◆ SetTargetRoutepointLLA() [1/2]

void BrawlerPlatform::SetTargetRoutepointLLA ( int aLat,
int aLon,
int aAlt_m )

◆ SetTargetRoutepointLLA() [2/2]

void BrawlerPlatform::SetTargetRoutepointLLA ( UtVec3d aLLA)

◆ SetTimeAllowedPerSectorSearch()

void BrawlerPlatform::SetTimeAllowedPerSectorSearch ( double val)
inline

◆ Skip1v1()

bool BrawlerPlatform::Skip1v1 ( )

◆ SlantRange()

double BrawlerPlatform::SlantRange ( UtEntity & aTgt,
double defaultRange = 1000000 / BRAWLER::ftnmi )

◆ SlowFlight()

◆ SpecificEnergyRate_fps()

virtual double BrawlerPlatform::SpecificEnergyRate_fps ( )
pure virtual

Implemented in WsfBrawlerProcessor.

Referenced by BrawlerEvaluation::Evaluate1v1().

◆ SpeedVectoredFlight()

double BrawlerPlatform::SpeedVectoredFlight ( )
inline

◆ State()

◆ StructuralGLimitAboveDesignWeight_g()

virtual double BrawlerPlatform::StructuralGLimitAboveDesignWeight_g ( )
pure virtual

◆ StructuralGLimitAtDesignWeight_g()

virtual double BrawlerPlatform::StructuralGLimitAtDesignWeight_g ( )
pure virtual

◆ SuggestVectoredFlight()

void BrawlerPlatform::SuggestVectoredFlight ( UtVec3d vec,
double val,
double spd )
inline

◆ TargetAngleAboveHorizon()

double BrawlerPlatform::TargetAngleAboveHorizon ( UtEntity & aTgt)

◆ TargetNominalState()

UtEntity & BrawlerPlatform::TargetNominalState ( )
inline

◆ TimeAllowedPerSectorSearch()

double BrawlerPlatform::TimeAllowedPerSectorSearch ( )
inline

◆ TunnelVisionMultiplier()

double BrawlerPlatform::TunnelVisionMultiplier ( BRAWLER::ManeuverValueComponentType aType)
inline

Returns the value of the requested tunnel vision multiplier Tunnel Vision shares component types with maneuver

Referenced by BrawlerEvaluation::EvaluateAlternative().

◆ Uniform()

double BrawlerPlatform::Uniform ( )
inline

Referenced by InitializeStatistics().

◆ UpdateMissileMode()

virtual void BrawlerPlatform::UpdateMissileMode ( )
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().

◆ UpdateStatistics()

void BrawlerPlatform::UpdateStatistics ( double value)
virtual

◆ ValueVectoredFlight()

double BrawlerPlatform::ValueVectoredFlight ( )
inline

◆ VelocityECS() [1/2]

UtVec3d BrawlerPlatform::VelocityECS ( )

References State(), and VelocityECS().

Referenced by GetTime(), and VelocityECS().

◆ VelocityECS() [2/2]

UtVec3d BrawlerPlatform::VelocityECS ( UtEntity & aTgt)
static

◆ VelocityNED() [1/2]

◆ VelocityNED() [2/2]

UtVec3d BrawlerPlatform::VelocityNED ( UtEntity & aTgt)
static

◆ WeaponMaxEnvelopeRange()

double BrawlerPlatform::WeaponMaxEnvelopeRange ( )
inline

◆ WeaponMinEnvelopeRange()

double BrawlerPlatform::WeaponMinEnvelopeRange ( )
inline

◆ WeaponSeekerMaxAngle()

double BrawlerPlatform::WeaponSeekerMaxAngle ( )
inline

◆ WeaponSeekerOnWhenFired()

bool BrawlerPlatform::WeaponSeekerOnWhenFired ( )
inline

◆ WeaponSimTimeOfIntercept()

◆ WeaponSteeringError()

double BrawlerPlatform::WeaponSteeringError ( UtEntity & aTgt)

◆ WeaponType()

BRAWLER::WeaponType BrawlerPlatform::WeaponType ( )
inline

◆ WeaponVerticalTrackCheck()

bool BrawlerPlatform::WeaponVerticalTrackCheck ( UtEntity & aTgt)

Member Data Documentation

◆ mMyNom

◆ mMyPro

UtEntity BrawlerPlatform::mMyPro
protected

◆ mMyState

◆ mTgNom


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved