|
WSF
|
#include <WsfP6DOF_MoverTestObject.hpp>

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) |
| P6DofAtmosphere * | GetAtmosphere () |
Protected Attributes | |
| WsfP6DOF_Mover * | mParentMover = nullptr |
| bool | mTestingNolag = false |
| bool | mTestingFreezeFuelBurn = false |
|
explicit |
Constructor.
References mParentMover.
|
protected |
References P6DofAtmosphere::CalcDynamicPressure_lbft2(), P6DofAtmosphere::CalcFpsFromMach(), P6DofVehicle::CalculateCmAreaForCoreAndControls(), P6DofAeroCoreObject::Cd_AlphaBetaMach(), P6DofAeroCoreObject::Cd_AlphaMach(), P6DofVehicle::GetActiveAeroObject(), P6DofCommonController::GetAlphaMaxMach(), GetAtmosphere(), P6DofVehicle::GetPilotManager(), P6DofPilotManager::GetSpecialCommonController(), P6DofVehicle::GetWingArea_sqft(), LimitAlphaByMaxGLoad(), mParentMover, and P6DofAeroCoreObject::UseLegacyAero().
|
protected |
References P6DofAtmosphere::CalcDynamicPressure_lbft2(), P6DofAtmosphere::CalcMachFromFps(), P6DofVehicle::CalculateCmAreaForCoreAndControls(), P6DofAeroCoreObject::Cd_AlphaBetaMach(), P6DofAeroCoreObject::Cd_AlphaMach(), P6DofVehicle::GetActiveAeroObject(), P6DofCommonController::GetAlphaMaxMach(), GetAtmosphere(), P6DofCommonController::GetCurrentLimitsAndSettings(), P6DofVehicle::GetPilotManager(), P6DofPilotManager::GetSpecialCommonController(), P6DofVehicle::GetWingArea_sqft(), LimitAlphaByMaxGLoad(), mParentMover, P6DOF::AutopilotLimitsAndSettings::pitchGLoad_Max, and P6DofAeroCoreObject::UseLegacyAero().
Referenced by TurnRateAt(), and TurnRateWithConditions().
| void WsfP6DOF_MoverTestObject::Autotune | ( | ) |
References P6DofUtils::Autotune(), and mParentMover.
|
protected |
References P6DofAtmosphere::CalcDynamicPressure_lbft2(), P6DofAtmosphere::CalcFpsFromMach(), P6DofVehicle::CalculateCdAreaForCoreAndControls(), P6DofVehicle::GetActiveAeroObject(), P6DofCommonController::GetAlphaVsMachCL(), GetAtmosphere(), P6DofCommonController::GetCLMaxMach(), P6DofVehicle::GetPilotManager(), P6DofVehicle::GetRefArea_sqft(), P6DofPilotManager::GetSpecialCommonController(), P6DofCommonController::GetStickForZeroMomentVsMachAlpha(), P6DofVehicle::GetWingArea_sqft(), mParentMover, and P6DofAeroCoreObject::UsesRefArea().
Referenced by GetLevelFlightDrag(), GetLevelFlightFuelBurnRate(), and GetLevelFlightHorizontalThrust().
| P6DofUtils::CanFlyAtReturnValue WsfP6DOF_MoverTestObject::CanFlyAt | ( | double | aAltitude_ft, |
| double | aVelocity_fps, | ||
| double | aThrottle, | ||
| double | aFlaps = 0.0 ) |
References P6DofUtils::CAN_NOT_FLY, P6DofUtils::CanFlyAt(), and mParentMover.
| void WsfP6DOF_MoverTestObject::CreateAutopilotConfigFile | ( | const std::string & | aFilename | ) |
References P6DofUtils::CreateAutopilotConfigFile(), and mParentMover.
| void WsfP6DOF_MoverTestObject::CreateAutopilotSupportFile | ( | const std::string & | aFilename | ) |
References P6DofUtils::CreateAutopilotSupportFile(), and mParentMover.
| void WsfP6DOF_MoverTestObject::CreateAutopilotSupportFileWithMaxMach | ( | const std::string & | aFilename, |
| const double & | aMaxMach ) |
References P6DofUtils::CreateAutopilotSupportFileWithMaxMach(), and mParentMover.
| void WsfP6DOF_MoverTestObject::FlyStraightLevelFullThrottle | ( | ) |
|
protected |
References P6DofThrustProducerObject::AfterburnerIsPresent(), P6DofAtmosphere::CalcDynamicPressure_lbft2(), P6DofAtmosphere::CalcFpsFromMach(), P6DofThrustProducerObject::CalculateThrust(), P6DofForceAndMomentsObject::GetForceMagnitude_lbs(), P6DofThrustProducerObject::SetThrottlePosition(), and P6DofAtmosphere::StaticPressureAtAltitude().
Referenced by GetLevelFlightFuelBurnRate().
|
protected |
|
protected |
References P6DofScenario::GetAtmosphere(), P6DofObject::GetScenario(), and mParentMover.
Referenced by AlphaAtDesiredDrag(), AlphaAtDesiredDrag(), CalcLevelFlightDragAndAlpha(), GetLevelFlightFuelBurnRate(), GetLevelFlightHorizontalThrust(), GetPitchingMoment(), MaxInstantaneousGLoad(), TurnRateAt(), and TurnRateWithConditions().
| double WsfP6DOF_MoverTestObject::GetLevelFlightDrag | ( | double | aAltitude_ft, |
| double | aMach, | ||
| double | aGrossWeight_lbs ) |
References CalcLevelFlightDragAndAlpha(), RestoreFromTestingMode(), and SetupForTestingMode().
| double WsfP6DOF_MoverTestObject::GetLevelFlightFuelBurnRate | ( | double | aAltitude_ft, |
| double | aMach, | ||
| double | aGrossWeight_lbs ) |
| double WsfP6DOF_MoverTestObject::GetLevelFlightHorizontalThrust | ( | double | aAltitude_ft, |
| double | aMach, | ||
| double | aThrottle, | ||
| double | aGrossWeight_lbs ) |
| double WsfP6DOF_MoverTestObject::GetMaxGLoad | ( | ) |
References P6DofPilotManager::GetActiveGuidanceAutopilot(), P6DofPilotManager::GetActiveHardwareAutopilot(), P6DofPilotManager::GetActiveManualPilot(), P6DofPilotManager::GetActiveSyntheticPilot(), P6DofPilotObject::GetCommonController(), P6DofCommonController::GetCurrentLimitsAndSettings(), P6DofVehicle::GetPilotManager(), mParentMover, and P6DOF::AutopilotLimitsAndSettings::pitchGLoad_Max.
Referenced by MaxInstantaneousGLoad().
| double WsfP6DOF_MoverTestObject::GetPitchingMoment | ( | double | aAltitude_ft, |
| double | aMach, | ||
| double | aAlpha_deg, | ||
| double | aStickBack ) |
| double WsfP6DOF_MoverTestObject::GetRangeSinceStart_km | ( | ) | const |
References mParentMover.
| void WsfP6DOF_MoverTestObject::LimitAlphaByMaxGLoad | ( | P6DofVehicle * | aVehicle, |
| double | aMach, | ||
| double | aMaxGLoad, | ||
| double | aDynPressure_ppsqft, | ||
| double & | aAlpha_rad ) |
References P6DofAeroCoreObject::CL_AlphaBetaMach(), P6DofAeroCoreObject::CL_AlphaMach(), P6DofVehicle::GetActiveAeroObject(), P6DofVehicle::GetCurrentWeight_lbs(), P6DofVehicle::GetWingArea_sqft(), and P6DofAeroCoreObject::UseLegacyAero().
Referenced by AlphaAtDesiredDrag(), and AlphaAtDesiredDrag().
| void WsfP6DOF_MoverTestObject::LimitAlphaByMaxGLoad | ( | P6DofVehicle * | aVehicle, |
| double | aMach, | ||
| double | aMaxGLoad, | ||
| double | aDynPressure_ppsqft, | ||
| double | aCurrentMass_lbs, | ||
| double & | aAlpha_rad ) |
| double WsfP6DOF_MoverTestObject::MaxInstantaneousGLoad | ( | double | aAltitude_ft, |
| double | aMach, | ||
| double | aCurrentMass_lbs ) |
References P6DofAtmosphere::CalcDynamicPressure_lbft2(), P6DofAtmosphere::CalcFpsFromMach(), P6DofVehicle::GetActiveAeroObject(), P6DofCommonController::GetAlphaVsMachCL(), GetAtmosphere(), P6DofCommonController::GetCLMaxMach(), GetMaxGLoad(), P6DofVehicle::GetPilotManager(), P6DofVehicle::GetRefArea_sqft(), P6DofPilotManager::GetSpecialCommonController(), P6DofCommonController::GetStickForZeroMomentVsMachAlpha(), P6DofVehicle::GetWingArea_sqft(), mParentMover, and P6DofAeroCoreObject::UsesRefArea().
|
protected |
References P6DofScenario::GetFreezeFlags(), P6DofObject::GetScenario(), mParentMover, mTestingFreezeFuelBurn, mTestingNolag, P6DofFreezeFlags::SetMasterFreezeFuelBurn(), and P6DofFreezeFlags::SetMasterNoLagTesting().
Referenced by GetLevelFlightDrag(), GetLevelFlightFuelBurnRate(), GetLevelFlightHorizontalThrust(), GetPitchingMoment(), TurnRateAt(), and TurnRateWithConditions().
| void WsfP6DOF_MoverTestObject::SetMasterFreezeAltitude | ( | bool | aEnable | ) |
References mParentMover.
| void WsfP6DOF_MoverTestObject::SetMasterFreezeFuelBurn | ( | bool | aEnable | ) |
References mParentMover.
| void WsfP6DOF_MoverTestObject::SetMasterFreezeLocation | ( | bool | aEnable | ) |
References mParentMover.
| void WsfP6DOF_MoverTestObject::SetMasterFreezePitch | ( | bool | aEnable | ) |
References mParentMover.
| void WsfP6DOF_MoverTestObject::SetMasterFreezeRoll | ( | bool | aEnable | ) |
References mParentMover.
| void WsfP6DOF_MoverTestObject::SetMasterFreezeVerticalSpeed | ( | bool | aEnable | ) |
References mParentMover.
| void WsfP6DOF_MoverTestObject::SetMasterFreezeYaw | ( | bool | aEnable | ) |
References mParentMover.
| void WsfP6DOF_MoverTestObject::SetMasterNoAlphaTesting | ( | bool | aEnable | ) |
References mParentMover.
| void WsfP6DOF_MoverTestObject::SetMasterNoLagTesting | ( | bool | aEnable | ) |
References mParentMover.
|
protected |
References P6DofScenario::GetFreezeFlags(), P6DofFreezeFlags::GetMasterFreezeFuelBurn(), P6DofFreezeFlags::GetMasterNoLagTesting(), P6DofObject::GetScenario(), mParentMover, mTestingFreezeFuelBurn, mTestingNolag, P6DofFreezeFlags::SetMasterFreezeFuelBurn(), and P6DofFreezeFlags::SetMasterNoLagTesting().
Referenced by GetLevelFlightDrag(), GetLevelFlightFuelBurnRate(), GetLevelFlightHorizontalThrust(), GetPitchingMoment(), TurnRateAt(), and TurnRateWithConditions().
| void WsfP6DOF_MoverTestObject::SetVehicleMass | ( | double | aMass_lbs | ) |
References mParentMover.
|
protected |
References P6DofThrustProducerObject::AfterburnerIsPresent(), P6DofAtmosphere::CalcDynamicPressure_lbft2(), P6DofAtmosphere::CalcFpsFromMach(), P6DofThrustProducerObject::CalculateThrust(), P6DofForceAndMomentsObject::GetForceMagnitude_lbs(), P6DofThrustProducerObject::SetThrottlePosition(), and P6DofAtmosphere::StaticPressureAtAltitude().
|
protected |
References P6DofAtmosphere::CalcDynamicPressure_lbft2(), P6DofAtmosphere::CalcFpsFromMach(), P6DofThrustProducerObject::CalculateThrust(), P6DofForceAndMomentsObject::GetForceMagnitude_lbs(), P6DofThrustProducerObject::SetThrottlePosition(), and P6DofAtmosphere::StaticPressureAtAltitude().
Referenced by GetLevelFlightHorizontalThrust(), TurnRateAt(), and TurnRateWithConditions().
| double WsfP6DOF_MoverTestObject::TurnRateAt | ( | double | aSpecificExcessPower_fps, |
| double | aTrueSpeed_fps, | ||
| double | aThrottleSetting ) |
References AlphaAtDesiredDrag(), P6DofAtmosphere::CalcDynamicPressure_lbft2(), P6DofAtmosphere::CalcMachFromFps(), P6DofAeroCoreObject::CL_AlphaBetaMach(), P6DofAeroCoreObject::CL_AlphaMach(), P6DofVehicle::GetActiveAeroObject(), P6DofVehicle::GetAlt_m(), GetAtmosphere(), P6DofVehicle::GetCurrentWeight_lbs(), P6DofPropulsionSystem::GetNumThrustProducers(), P6DofVehicle::GetPropulsionSystem(), P6DofPropulsionSystem::GetThrustProducerByIndex(), P6DofVehicle::GetWingArea_sqft(), mParentMover, ok, RestoreFromTestingMode(), SetupForTestingMode(), ThrustAtThrottleSetting(), and P6DofAeroCoreObject::UseLegacyAero().
| double WsfP6DOF_MoverTestObject::TurnRateWithConditions | ( | double | aSpecificExcessPower_fps, |
| double | aCurrentMass_lbs, | ||
| double | aMaxGLoad, | ||
| double | aAltitude_ft, | ||
| double | aAirspeed_fps, | ||
| double | aThrottleSetting ) |
References AlphaAtDesiredDrag(), P6DofAtmosphere::CalcDynamicPressure_lbft2(), P6DofAtmosphere::CalcMachFromFps(), P6DofAeroCoreObject::CL_AlphaBetaMach(), P6DofAeroCoreObject::CL_AlphaMach(), P6DofVehicle::GetActiveAeroObject(), GetAtmosphere(), P6DofPropulsionSystem::GetNumThrustProducers(), P6DofVehicle::GetPropulsionSystem(), P6DofPropulsionSystem::GetThrustProducerByIndex(), P6DofVehicle::GetWingArea_sqft(), mParentMover, ok, RestoreFromTestingMode(), SetupForTestingMode(), ThrustAtThrottleSetting(), and P6DofAeroCoreObject::UseLegacyAero().
| void WsfP6DOF_MoverTestObject::Update | ( | double | aSimTime | ) |
References mParentMover.
|
protected |
Referenced by AlphaAtDesiredDrag(), AlphaAtDesiredDrag(), Autotune(), CalcLevelFlightDragAndAlpha(), CanFlyAt(), CreateAutopilotConfigFile(), CreateAutopilotSupportFile(), CreateAutopilotSupportFileWithMaxMach(), FlyStraightLevelFullThrottle(), GetAtmosphere(), GetLevelFlightFuelBurnRate(), GetLevelFlightHorizontalThrust(), GetMaxGLoad(), GetPitchingMoment(), GetRangeSinceStart_km(), MaxInstantaneousGLoad(), RestoreFromTestingMode(), SetMasterFreezeAltitude(), SetMasterFreezeFuelBurn(), SetMasterFreezeLocation(), SetMasterFreezePitch(), SetMasterFreezeRoll(), SetMasterFreezeVerticalSpeed(), SetMasterFreezeYaw(), SetMasterNoAlphaTesting(), SetMasterNoLagTesting(), SetupForTestingMode(), SetVehicleMass(), TurnRateAt(), TurnRateWithConditions(), Update(), and WsfP6DOF_MoverTestObject().
|
protected |
Referenced by RestoreFromTestingMode(), and SetupForTestingMode().
|
protected |
Referenced by RestoreFromTestingMode(), and SetupForTestingMode().