WSF
WsfP6DOF_MoverTestObject Class Reference

#include <WsfP6DOF_MoverTestObject.hpp>

Collaboration diagram for WsfP6DOF_MoverTestObject:

Public Member Functions

 WsfP6DOF_MoverTestObject (WsfP6DOF_Mover *aParentMover)
 Constructor.
void Update (double aSimTime)
double GetRangeSinceStart_km () const
void SetMasterNoLagTesting (bool aEnable)
void SetMasterFreezeLocation (bool aEnable)
void SetMasterFreezeAltitude (bool aEnable)
void SetMasterFreezeVerticalSpeed (bool aEnable)
void SetMasterFreezePitch (bool aEnable)
void SetMasterFreezeRoll (bool aEnable)
void SetMasterFreezeYaw (bool aEnable)
void SetMasterFreezeFuelBurn (bool aEnable)
void SetMasterNoAlphaTesting (bool aEnable)
void Autotune ()
void CreateAutopilotConfigFile (const std::string &aFilename)
P6DofUtils::CanFlyAtReturnValue CanFlyAt (double aAltitude_ft, double aVelocity_fps, double aThrottle, double aFlaps=0.0)
double TurnRateAt (double aSpecificExcessPower_fps, double aTrueSpeed_fps, double aThrottleSetting)
double TurnRateWithConditions (double aSpecificExcessPower_fps, double aCurrentMass_lbs, double aMaxGLoad, double aAltitude_ft, double aAirspeed_fps, double aThrottleSetting)
double GetLevelFlightHorizontalThrust (double aAltitude_ft, double aMach, double aThrottle, double aGrossWeight_lbs)
double GetLevelFlightDrag (double aAltitude_ft, double aMach, double aGrossWeight_lbs)
double GetPitchingMoment (double aAltitude_ft, double aMach, double aAlpha_deg, double aStickBack)
double GetLevelFlightFuelBurnRate (double aAltitude_ft, double aMach, double aGrossWeight_lbs)
void FlyStraightLevelFullThrottle ()
void CreateAutopilotSupportFile (const std::string &aFilename)
void CreateAutopilotSupportFileWithMaxMach (const std::string &aFilename, const double &aMaxMach)
void LimitAlphaByMaxGLoad (P6DofVehicle *aVehicle, double aMach, double aMaxGLoad, double aDynPressure_ppsqft, double &aAlpha_rad)
void LimitAlphaByMaxGLoad (P6DofVehicle *aVehicle, double aMach, double aMaxGLoad, double aDynPressure_ppsqft, double aCurrentMass_lbs, double &aAlpha_rad)
void SetVehicleMass (double aMass_lbs)
double GetMaxGLoad ()
double MaxInstantaneousGLoad (double aAltitude_ft, double aMach, double aCurrentMass_lbs)

Protected Member Functions

double AlphaAtDesiredDrag (double aAlt_ft, double aSpeed_fps, double aDrag_lbs, bool &aOk)
bool AlphaAtDesiredDrag (double aAlt_ft, double aMach, double aDrag_lbs, double aCurrentMass_lbs, double aMaxGLoad, double &aAlpha_rad)
void SetupForTestingMode (bool aFreezeFuelBurn)
void RestoreFromTestingMode ()
bool CalcLevelFlightDragAndAlpha (double aAltitude_ft, double aMach, double aGrossWeight_lbs, double &aDrag_lbs, double &aAlpha_deg)
double ThrottleSettingToProduceThrust (P6DofThrustProducerObject *aEngine, P6DofAtmosphere *aAtm, double aAltitude_ft, double aMach, double aRequiredThrust_lbs)
double FuelBurnAtRequiredThrust (P6DofThrustProducerObject *aEngine, P6DofAtmosphere *aAtm, double aAltitude_ft, double aMach, double aRequiredThrust_lbs)
double FuelBurnAtThrottleSetting (P6DofThrustProducerObject *aEngine, P6DofAtmosphere *aAtm, double aAltitude_ft, double aMach, double aThrottle)
double ThrustAtThrottleSetting (P6DofThrustProducerObject *aEngine, P6DofAtmosphere *aAtm, double aAltitude_ft, double aMach, double aThrottle)
P6DofAtmosphereGetAtmosphere ()

Protected Attributes

WsfP6DOF_MovermParentMover = nullptr
bool mTestingNolag = false
bool mTestingFreezeFuelBurn = false

Constructor & Destructor Documentation

◆ WsfP6DOF_MoverTestObject()

WsfP6DOF_MoverTestObject::WsfP6DOF_MoverTestObject ( WsfP6DOF_Mover * aParentMover)
explicit

Constructor.

References mParentMover.

Member Function Documentation

◆ AlphaAtDesiredDrag() [1/2]

◆ AlphaAtDesiredDrag() [2/2]

◆ Autotune()

void WsfP6DOF_MoverTestObject::Autotune ( )

◆ CalcLevelFlightDragAndAlpha()

◆ CanFlyAt()

P6DofUtils::CanFlyAtReturnValue WsfP6DOF_MoverTestObject::CanFlyAt ( double aAltitude_ft,
double aVelocity_fps,
double aThrottle,
double aFlaps = 0.0 )

◆ CreateAutopilotConfigFile()

void WsfP6DOF_MoverTestObject::CreateAutopilotConfigFile ( const std::string & aFilename)

◆ CreateAutopilotSupportFile()

void WsfP6DOF_MoverTestObject::CreateAutopilotSupportFile ( const std::string & aFilename)

◆ CreateAutopilotSupportFileWithMaxMach()

void WsfP6DOF_MoverTestObject::CreateAutopilotSupportFileWithMaxMach ( const std::string & aFilename,
const double & aMaxMach )

◆ FlyStraightLevelFullThrottle()

◆ FuelBurnAtRequiredThrust()

◆ FuelBurnAtThrottleSetting()

double WsfP6DOF_MoverTestObject::FuelBurnAtThrottleSetting ( P6DofThrustProducerObject * aEngine,
P6DofAtmosphere * aAtm,
double aAltitude_ft,
double aMach,
double aThrottle )
protected

◆ GetAtmosphere()

◆ GetLevelFlightDrag()

double WsfP6DOF_MoverTestObject::GetLevelFlightDrag ( double aAltitude_ft,
double aMach,
double aGrossWeight_lbs )

◆ GetLevelFlightFuelBurnRate()

◆ GetLevelFlightHorizontalThrust()

double WsfP6DOF_MoverTestObject::GetLevelFlightHorizontalThrust ( double aAltitude_ft,
double aMach,
double aThrottle,
double aGrossWeight_lbs )

◆ GetMaxGLoad()

◆ GetPitchingMoment()

double WsfP6DOF_MoverTestObject::GetPitchingMoment ( double aAltitude_ft,
double aMach,
double aAlpha_deg,
double aStickBack )

◆ GetRangeSinceStart_km()

double WsfP6DOF_MoverTestObject::GetRangeSinceStart_km ( ) const

References mParentMover.

◆ LimitAlphaByMaxGLoad() [1/2]

void WsfP6DOF_MoverTestObject::LimitAlphaByMaxGLoad ( P6DofVehicle * aVehicle,
double aMach,
double aMaxGLoad,
double aDynPressure_ppsqft,
double & aAlpha_rad )

◆ LimitAlphaByMaxGLoad() [2/2]

void WsfP6DOF_MoverTestObject::LimitAlphaByMaxGLoad ( P6DofVehicle * aVehicle,
double aMach,
double aMaxGLoad,
double aDynPressure_ppsqft,
double aCurrentMass_lbs,
double & aAlpha_rad )

◆ MaxInstantaneousGLoad()

◆ RestoreFromTestingMode()

◆ SetMasterFreezeAltitude()

void WsfP6DOF_MoverTestObject::SetMasterFreezeAltitude ( bool aEnable)

References mParentMover.

◆ SetMasterFreezeFuelBurn()

void WsfP6DOF_MoverTestObject::SetMasterFreezeFuelBurn ( bool aEnable)

References mParentMover.

◆ SetMasterFreezeLocation()

void WsfP6DOF_MoverTestObject::SetMasterFreezeLocation ( bool aEnable)

References mParentMover.

◆ SetMasterFreezePitch()

void WsfP6DOF_MoverTestObject::SetMasterFreezePitch ( bool aEnable)

References mParentMover.

◆ SetMasterFreezeRoll()

void WsfP6DOF_MoverTestObject::SetMasterFreezeRoll ( bool aEnable)

References mParentMover.

◆ SetMasterFreezeVerticalSpeed()

void WsfP6DOF_MoverTestObject::SetMasterFreezeVerticalSpeed ( bool aEnable)

References mParentMover.

◆ SetMasterFreezeYaw()

void WsfP6DOF_MoverTestObject::SetMasterFreezeYaw ( bool aEnable)

References mParentMover.

◆ SetMasterNoAlphaTesting()

void WsfP6DOF_MoverTestObject::SetMasterNoAlphaTesting ( bool aEnable)

References mParentMover.

◆ SetMasterNoLagTesting()

void WsfP6DOF_MoverTestObject::SetMasterNoLagTesting ( bool aEnable)

References mParentMover.

◆ SetupForTestingMode()

◆ SetVehicleMass()

void WsfP6DOF_MoverTestObject::SetVehicleMass ( double aMass_lbs)

References mParentMover.

◆ ThrottleSettingToProduceThrust()

◆ ThrustAtThrottleSetting()

◆ TurnRateAt()

◆ TurnRateWithConditions()

◆ Update()

void WsfP6DOF_MoverTestObject::Update ( double aSimTime)

References mParentMover.

Member Data Documentation

◆ mParentMover

◆ mTestingFreezeFuelBurn

bool WsfP6DOF_MoverTestObject::mTestingFreezeFuelBurn = false
protected

◆ mTestingNolag

bool WsfP6DOF_MoverTestObject::mTestingNolag = false
protected

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