WsfSixDOF_Mover¶
-
WsfSixDOF_Mover inherits WsfMoverVariable Access:
obj->VarName
Input type: WSF_SIX_DOF_MOVER
Vehicle Kinematic State¶
- double GetAltitude()¶
Returns the current altitude (meters above sea level).
- double GetHeading()¶
Returns the current heading in degrees.
- double GetPitch()¶
Returns the current pitch angle in degrees.
- double GetRoll()¶
Returns the current roll angle in degrees.
- double GetVerticalSpeed()¶
Returns the current vertical speed (m/sec).
- double GetFlightPathAngle()¶
Returns the current flight path angle in degrees.
- double GetYawRate()¶
Returns the current body yaw rate in deg/sec.
- double GetPitchRate()¶
Returns the current body pitch rate in deg/sec.
- double GetRollRate()¶
Returns the current body roll rate in deg/sec.
- double GetGLoad()¶
Returns the current g-load (in gees) for the vehicle.
- double GetNx()¶
Returns the current acceleration (in body coordinates) in the forward direction (in gees).
- double GetNy()¶
Returns the current acceleration (in body coordinates) in the right-side direction (in gees).
- double GetNz()¶
Returns the current acceleration (in body coordinates) in the downward direction (in gees).
- double GetKCAS()¶
Returns the current airspeed in knots calibrated airspeed.
- double GetKIAS()¶
Returns the current airspeed in knots indicated airspeed.
- double GetKTAS()¶
Returns the current airspeed in knots true airspeed.
- double GetMach()¶
Returns the current airspeed in Mach.
- double GetDynamicPressure()¶
Returns the current dynamic pressure (Pa).
Mass Properties¶
- double GetTotalWeight()¶
Returns the total weight/mass (kg) for the vehicle, including fuel weight.
- double GetCurrentWeight()¶
Returns the current weight/mass (kg) for the vehicle, including fuel weight.
- double GetEmptyWeight()¶
Returns the empty weight/mass (kg) for the vehicle (no fuel or weapons).
- double GetCgX()¶
Returns the x component of the current center of gravity (meters) relative to the reference point of the vehicle.
- double GetCgY()¶
Returns the y component of the current center of gravity (meters) relative to the reference point of the vehicle.
- double GetCgZ()¶
Returns the z component of the current center of gravity (meters) relative to the reference point of the vehicle.
Engines¶
- void StartupEngines(double aSimtime)¶
Start up the engines at aSimtime (in seconds). If aSimtime is less than the current sim time, the engines will be started immediately.
- void ShutdownEngines(double aSimtime)¶
Shutdown the engines at aSimtime_sec (in seconds). If aSimtime is less than the current sim time, the engines will be shutdown immediately.
- bool IsProducingThrust()¶
Returns true if the SixDOF model is producing thrust.
- double GetTotalThrust()¶
Returns the current thrust (Newtons) of all engines on the vehicle. It does not include subobjects.
- double GetEngineThrust(string aEngineName)¶
Returns the current thrust (Newtons) of for the specified engine.
- bool GetAfterburnerOn()¶
Returns true if an afterburner is on.
- double GetEngineFuelFlowRate(string aEngineName)¶
Returns the current total fuel flow (kg/sec) for the specified engine.
- bool GetEngineAfterburnerOn(string aEngineName)¶
Returns true if the afterburner is on for the specified engine.
Fuel System¶
- void AddFuel(double aFuelMass)¶
Add fuel (in kg) to fuel tanks defined in the mover definition. This will split the fuel evenly among all fuel tanks, and it is limited by the fuel capacity of each tank. For more information on fuel and fuel tanks for SixDOF models, see SixDOF Propulsion System Definition
- double GetTotalFuelCapacity()¶
Returns the total fuel capacity (kg) in all fuel tanks.
- double GetInternalFuelCapacity()¶
Returns the total fuel capacity (kg) in the internal fuel tanks.
- double GetExternalFuelCapacity()¶
Returns the total fuel capacity (kg) in all external fuel tanks.
- double GetTotalFuelRemaining()¶
Returns the total fuel remaining (kg) in all fuel tanks.
- double GetInternalFuelRemaining()¶
Returns the fuel remaining (kg) in the internal fuel tanks.
- double GetExternalFuelRemaining()¶
Returns the total fuel remaining (kg) in the external fuel tanks.
- double GetFuelTankCapacity(string aTankName)¶
Returns the fuel capacity (kg) of the tank with the specified name. If no tank with the name exists, it returns 0.
- double GetFuelInTank(string aTankName)¶
Returns the current amount of fuel (kg) in the tank with the specified name. If no tank with the name exists, it returns 0.
- void SetFuelInTank(string aTankName, double aFuelMass)¶
Sets the amount of fuel present in the fuel tank named aTankName, to aFuelMass (in kg). If a fuel tank by the name aTankName is not found, this function does nothing. If the fuel quantity is greater than the capacity for the fuel tank, it is limited to the capacity of the fuel tank.
- double GetTotalFuelFlowRate()¶
Returns the current total fuel flow (kg/sec) of all engines on the vehicle. It does not include subobjects.
- bool AddFuelTransfer(string aFuelTransferName, string aSourceTankName, string aTargetTankName)¶
Adds a new fuel transfer between the source tank and the target tank using the specified fuel transfer name, which must be unique on this platform. Returns true if the transfer is created.
- bool RemoveFuelTransfer(string aFuelTransferName)¶
Removes the specified fuel transfer (by name). Returns true if the transfer is removed.
- void SetJokerFuelState(double aFuelMass)¶
Sets the Joker fuel state in kg.
- double GetJokerFuelState()¶
Returns the Joker fuel state in kg.
- bool GetJokerFuelReached()¶
Returns true if the Joker fuel state has been reached (total fuel is less than Joker fuel state).
- void SetBingoFuelState(double aFuelMass)¶
Sets the Bingo fuel state in kg.
- double GetBingoFuelState()¶
Returns the Bingo fuel state in kg.
- bool GetBingoFuelReached()¶
Returns true if the Bingo fuel state has been reached (total fuel is less than Bingo fuel state).
Sequencers¶
- bool ActivateSequencer(string aSequencerName)¶
Activate the sequencer specified by aSequencerName. If the sequencer is not found, it will return false. For more information on sequencers, see SixDOF Sequencers
Maneuvers¶
- WsfSixDOF_Maneuver GetCurrentManeuver()¶
This will return the current maneuver. This could be either a maneuver that is executing, or one that is waiting for either its entry or exit constraint to become satisfied. If there is no current maneuver, then this will return an invalid object.
- WsfSixDOF_ManeuverSequence GetManeuverSequence()¶
This will return the maneuver sequence that this mover is executing. If there is no maneuver sequence being executed, this will return an invalid object.
- void ExecuteManeuver(WsfSixDOF_Maneuver aManeuver)¶
This will execute the provided maneuver. If this mover is currently executing a maneuver, then that maneuver will be canceled and the given maneuver will be executed instead.
- void ExecuteManeuverSequence(WsfSixDOF_ManeuverSequence aSequence)¶
This will execute the given maneuver sequence. If this mover is currently executing a maneuver sequence, then that sequence will be canceled, and the provided sequence will be executed instead.
- void CancelManeuvers()¶
This will cancel any currently executing maneuvers.
Autopilot Commands¶
SixDOF autopilots typically utilize three “channels” for control – vertical, lateral, and speed channels. Each channel is independent, but the state of the air vehicle can affect all three channels and each channel may influence the other channels. Recognizing that these three channels are at the heart of autopilot functions can help users better understand how autopilot commands might interact between channels. Autopilot control methods are presented below.
- void EnableAutopilot()¶
This will “enable/activate” the autopilot. An autopilot must be enabled in order to function.
- void SetAutopilotAltitude(double aAltitude)¶
This will command the autopilot to climb/dive to the specified altitude (in meters MSL). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotVerticalSpeed(double aVerticalSpeed)¶
This will command the autopilot to attain and hold the vertical speed (in meters/sec). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotPitchAngle(double aPitchAngle)¶
This will command the autopilot to attain and hold the specified pitch angle (in degrees). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotFlightPathAngle(double aFlightPathAngle)¶
This will command the autopilot to climb/dive at the specified flight path angle (in degrees). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotPitchRate(double aPitchRate)¶
This will command the autopilot to attain and hold the specified pitch rate (in deg/sec). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotDeltaPitch(double aDeltaPitchAngle)¶
This will command the autopilot to pitch up (positive) or down (negative) by the specified angle (in degrees).
- void SetPitchGLoad(double aGLoad)¶
This will command the autopilot to attain and hold the specified pitch g-load (in gees). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotRollAngle(double aRollAngle)¶
This will command the autopilot to attain and hold the specified roll/bank angle (in degrees). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotRollRate(double aRollRate)¶
This will command the autopilot to attain and hold the specified roll rate (in deg/sec). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotDeltaRoll(double aDeltaRollAngle)¶
This will command the autopilot to roll right (positive) or left (negative) by the specified angle (in degrees).
- void SetAutopilotSpeedKCAS(double aSpeed_KCAS)¶
This will command the autopilot to attain and hold the specified speed in knots calibrated airspeed (KCAS, which is similar to knots indicated airspeed, KIAS). KCAS and KIAS are affected by altitude (and air density). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotSpeedKIAS(double aSpeed_KIAS)¶
This will command the autopilot to attain and hold the specified speed in knots indicated airspeed (KIAS, which is similar to knots calibrated airspeed, KCAS). KCAS and KIAS are affected by altitude (and air density). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotSpeedKTAS(double aSpeed_KTAS)¶
This will command the autopilot to attain and hold the specified speed in knots true airspeed (KTAS). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotSpeedMach(double aSpeed_Mach)¶
This will command the autopilot to attain and hold the specified speed in Mach. This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotThrottle(double aThrottle)¶
- This will command the autopilot to hold the specified throttle position (0 for idle,
1 for full turbine power, 2 for full afterburner). This will not directly affect what the other autopilot channels are doing.
- void SetAutopilotLateralWaypointMode()¶
This will command the autopilot to set the lateral channel to waypoint mode.
- void SetAutopilotVerticalWaypointMode()¶
This will command the autopilot to set the vertical channel to waypoint mode.
- void SetAutopilotSpeedWaypointMode()¶
This will command the autopilot to set the speed channel to waypoint mode.
- void SetAutopilotWaypointMode()¶
This will command the autopilot to set all three channels to waypoint mode.
- void SetAutopilotNoControl()¶
This will command the autopilot to “zero” all controls, which will center the stick and rudder and pull back throttle(s) to zero (idle). It is similar to WsfSixDOF_Mover.EnableControls but is commanding the autopilot, rather than the controls themselves.
Autopilot/Pilot Selection¶
- void ActivateSimpleManualPilot()¶
This will activate the simple manual pilot (no CAS or SAS assistance). If no such pilot exists, there will be no change.
- void ActivateAugmentedManualPilot()¶
This will activate the augmented manual pilot (augmented by either CAS or SAS). If no such pilot exists, there will be no change.
- void ActivateSyntheticPilot()¶
This will activate the synthetic pilot. If no synthetic pilot exists, there will be no change.
Autopilot Modes¶
- string GetAutopilotLateralMode()¶
Returns the autopilot’s lateral mode as a string (i.e. “Waypoint”).
- double GetAutopilotLateralModeValue()¶
Returns the value of the autopilot’s current lateral mode.
- string GetAutopilotVerticalMode()¶
Returns the autopilot’s vertical mode as a string (i.e. “Waypoint”).
- double GetAutopilotVerticalModeValue()¶
Returns the value of the autopilot’s current vertical mode.
- double GetAutopilotSpeedModeValue()¶
Returns the value of the autopilot’s current speed mode.
Autopilot Current Settings/Limits¶
- double GetPitchGLoadMin()¶
Returns the minimum pitch g-load.
- double GetPitchGLoadMax()¶
Returns the maximum pitch g-load.
- double GetAlphaMin()¶
Returns the minimum angle of attack (alpha) in degrees.
- double GetAlphaMax()¶
Returns the maximum angle of attack (alpha) in degrees.
- double GetPitchRateMin()¶
Returns the minimum pitch rate (deg/s).
- double GetPitchRateMax()¶
Returns the maximum pitch rate (deg/s).
- double GetVerticalSpeedMin()¶
Returns the minimum vertical speed (m/s).
- double GetVerticalSpeedMax()¶
Returns the maximum vertical speed (m/s).
- double GetYawGLoadMax()¶
Returns the maximum yaw g-load.
- double GetBetaMax()¶
Returns the maximum sideslip (beta) in degrees.
- double GetYawRateMax()¶
Returns the maximum yaw rate (deg/s).
- double GetRollRateMax()¶
Returns the maximum roll rate (deg/s).
- double GetBankAngleMax()¶
Returns the maximum bank angle in degrees.
- double GetForwardGLoadMin()¶
Returns the minimum forward acceleration (in g’s).
- double GetForwardGLoadMax()¶
Returns the maximum forward acceleration (in g’s).
- double GetCurrentTurnRollInMultiplier()¶
Returns the current/active turn roll-in multiplier value.
- double GetCurrentRouteAllowableAngleError()¶
Returns the current/active route allowable heading error (in degrees).
Autopilot Limit Modifications¶
These functions set various limits on autopilot control. This allows an autopilot to operate in a more aggressive manner (with increased limits) or a slower/calmer manner (with reduced limits).
- void SetPitchGLoadMin(double aGees)¶
Sets the minimum pitch g-load.
- void SetPitchGLoadMax(double aGees)¶
Sets the maximum pitch g-load.
- void SetAlphaMin(double aAngle)¶
Sets the minimum angle of attack (alpha) in degrees.
- void SetAlphaMax(double aAngle)¶
Sets the maximum angle of attack (alpha) in degrees.
- void SetPitchRateMin(double aRate)¶
Sets the minimum pitch rate (deg/s).
- void SetPitchRateMax(double aRate)¶
Sets the maximum pitch rate (deg/s).
- void SetVerticalSpeedMin(double aSpeed)¶
Sets the minimum vertical speed (m/s).
- void SetVerticalSpeedMax(double aSpeed)¶
Sets the maximum vertical speed (m/s).
- void SetYawGLoadMax(double aGees)¶
Sets the maximum yaw g-load.
- void SetBetaMax(double aAngle)¶
Sets the maximum sideslip (beta) in degrees.
- void SetYawRateMax(double aRate)¶
Sets the maximum yaw rate (deg/s).
- void SetRollRateMax(double aRate)¶
Sets the maximum roll rate (deg/s).
- void SetBankAngleMax(double aAngle)¶
Sets the maximum bank angle in degrees.
- void SetForwardGLoadMin(double aGees)¶
Sets the minimum forward acceleration (in g’s).
- void SetForwardGLoadMax(double aGees)¶
Sets the maximum forward acceleration (in g’s).
- void SetTurnRollInMultiplier(double aValue)¶
Sets the turn roll-in multiplier value. This can shorten (less than than 1) or extend (greater than 1) the time/distance used when turning when following a route (waypoints).
- void SetRouteAllowableAngleError(double aAngle)¶
Sets the allowable heading error (in degrees) when following routes.
Autopilot Default Settings¶
This allows any temporary autopilot limits to revert back to nominal/default values.
- void RevertLimitsToDefaults()¶
Revert all autopilot “limit” values back to the value they were at the start of scenario.
- double GetDefaultTurnRollInMultiplier()¶
Returns the default/nominal turn roll-in multiplier value.
- double GetDefaultRouteAllowableAngleError()¶
Returns the default/nominal route allowable heading error (in degrees).
Mover Behavior Commands¶
- void Sliceback(double aHeading, double aAltitude, double aMach)¶
- void Sliceback(double aHeading, double aAltitude)¶
- void Slice(double aHeading, double aAltitude, double aMach)¶
- void Slice(double aHeading, double aAltitude)¶
Carries out a delta roll and g maneuver to approximate the effects of the WsfBrawlerMover.Slice command. Unlike with a well-configured WsfSixDOF_Maneuver or WsfSixDOF_ManeuverSequence, this must be called repeatedly to acheive the desired flight condition.
When this function is called without the Mach argument, the mover will attempt to settle at 0.9 Mach.
- void LevelTurn(double aHeading, double aMach, double aGees)¶
- void LevelTurn(double aHeading, double aMach)¶
- void Prlvl(double aHeading, double aMach, double aGees)¶
- void Prlvl(double aHeading, double aMach)¶
Commands a turn to the commanded heading at the commanded Mach number, with a commanded flight path angle of zero.
When autopilot actions can be defined with temporary autopilot limits, this will limit the commanded g-load of the level turn to the specified value. Until then, this limit can be set via SetPitchGLoadMax and reset via RevertLimitsToDefaults.
- bool FlyRates(Vec3 aAngularRates, Vec3 aAxialAccelerations)¶
Commands the specified angular rates (deg/s) and axial acceleration (m/s^2). The current implementation uses the pitch rate command directly, and the roll or yaw rate command depending on the type of control method currently in use.
Only the first element of the axial acceleration is used, and this is also commanded directly.
- bool FlyHeadingSpeedAltitude(double aHeading, double aSpeed, double aAltitude, double aMaxGees, double aMaxClimbRate)¶
Flies to the specified heading (deg), speed (m/s), and altitude (m). The g-load and climb rate bounds are not currently enforced. Until then, these limits can be be set via SetPitchGLoadMax, SetVerticalSpeedMin, and SetVerticalSpeedMax and reset via RevertLimitsToDefaults.
- bool TurnInPlaneWithSpeed(Vec3 aPlane, double aGees, double aSpeed)¶
- bool TurnInPlaneWithThrottle(Vec3 aPlane, double aGees, double aThrottle)¶
Pulls in the turning plane defined by the combination of the specified NED vector and the mover’s NED velocity vector. The g-load command is applied directly.
Speed is supplied in m/s. This function uses the Brawler convention for throttle, such that 1 represents idle power, 2 is full turbine power, and 3 is full afterburner.
- bool FlyVectorWithSpeed(Vec3 aVelocityVector, double aMaxGees, double aSpeed)¶
- bool FlyVectorWithThrottle(Vec3 aVelocityVector, double aMaxGees, double aThrottle)¶
Commands the specified NED velocity vector and speed.
Speed is supplied in m/s. This function uses the Brawler convention for throttle, such that 1 represents idle power, 2 is full turbine power, and 3 is full afterburner.
When autopilot actions can be defined with temporary autopilot limits, this will limit the commanded g-load to the specified value. Until then, this limit can be set via SetPitchGLoadMax and reset via RevertLimitsToDefaults.
Appearance Support¶
- bool GetEngineIsOperating()¶
Returns true if at least one engine is operating.
- bool GetEngineIsSmoking()¶
Returns true if at least one engine is smoking in some manner.
- bool GetEngineAfterburnerIsOn()¶
Returns true if at least one engine has a visible afterburner plume.
- bool GetContrailTrailingEffect()¶
Returns true if the platform is producing visible contrails.
- bool GetRocketSmokeTrailingEffect()¶
Returns true if the platform is producing a rocket smoke trail.
- bool GetDamageSmokeTrailingEffect()¶
Returns true if the platform is producing a damage smoke trail.
- bool GetLaunchFlashSmokeIsPresent()¶
Returns true if there is launch smoke on/near the platform.
- bool GetRisingSmokePlumeIsPresent()¶
Returns true if there is rising smoke coming from the platform.
- bool GetFlamesArePresent()¶
Returns true if there is are flames on/near the platform.
- bool GetIsLightlyDamaged()¶
Returns true if the platform is lightly damaged.
- bool GetIsHeavilyDamaged()¶
Returns true if the platform is heavily damaged.
Damage and Destruction¶
- void SetLightDamage()¶
This sets a light damage level on the mover.
- void SetHeavyDamage()¶
This sets a heavy damage level on the mover.
- void SetDestroyed()¶
This will make the vehicle fall out of control. It allows a realistic crash motion rather than simply removing a dead vehicle. When destroyed, the vehicle will assume a random stick position, cut power to idle, and extend speedbrakes (if available) to slow the vehicle as it crashes.
Control Inputs¶
- void EnableThrustVectoring(bool aEnable)¶
Controls whether thrust vectoring is on or off. Thrust vectoring is off by default. If thrust vectoring is not supported on the SixDOF model, this function does nothing.
- void EnableControls(bool aEnable)¶
This enables/disables control inputs from any source (autopilot, external manual pilot, etc.). Controls are enabled by default, so this command is typically used to disable controls (using false). This is often used to allow a weapon to drop ballistically and without control inputs as it is released from the carrying aircraft and then calling EnableControls(true) to establish control input after the weapon is safely clear of the aircraft.
- void TakeDirectControlInput()¶
This must be called before using SetDirectControlInputs. If no further direct control is required, ReleaseDirectControlInput should be called.
- void ReleaseDirectControlInput()¶
This should be called if no further direct control is required. It essentially “cancels” the TakeDirectControlInput function.
- void SetDirectControlInputs(double aStickBack, double aStickRight, double aRudderRight, double aThrottles)¶
This sets the controls for the control stick (aStickBack and aStickRight), rudder pedals (aRudderRight) and throttle levers (aThrottles). Control stick and rudder pedal values range from -1 (full left or forward) to zero (neutral) to +1 (full right or back). Throttle values range from 0 (idle) to 1 (non-augmented, military power) to 2 (full afterburner). This function requires that TakeDirectControlInput be called prior to use.
- void EnableDirectThrottleInput()¶
This allows direct throttle input, overriding any autopilot control of the throttle.
- void MoveThrottleToIdle()¶
Sets and holds the throttle to idle power. EnableDirectThrottleInput must be called to allow this control.
- void MoveThrottleToFull()¶
Sets and holds the throttle to military (MIL) power. EnableDirectThrottleInput must be called to allow this control.
- void MoveThrottleToMilitary()¶
Sets and holds the throttle to military (MIL) power. EnableDirectThrottleInput must be called to allow this control.
- void MoveThrottleToAfterburner()¶
Sets and holds the throttle to full afterburner (AB) power. EnableDirectThrottleInput must be called to allow this control.
- void SetDirectThrottleInput()¶
This sets and holds the throttle to the specified input. EnableDirectThrottleInput must be called to allow this control.
- void ReleaseDirectThrottleInput()¶
This releases direct throttle input, re-establishing autopilot control of the throttle.
- void EnableDirectSpeedBrakeInput()¶
This allows direct speed brake input, overriding any autopilot control of the speed brake.
- void OpenSpeedBrake()¶
Sets the speed brake to the fully open position. EnableDirectSpeedBrakeInput must be called to allow this control.
- void CloseSpeedBrake()¶
Sets the speed brake to the fully closed position. EnableDirectSpeedBrakeInput must be called to allow this control.
- void ReleaseDirectSpeedBrakeInput()¶
This releases direct speed brake input, re-establishing autopilot control of the speed brake.
- double GetSpeedBrakePosition()¶
Returns the angle (deg) of the speed brake(s). Zero is retracted and a positive value is extended.
- void SetFlapsPosition(double aPosition)¶
Sets the flaps position. Valid values for aPosition are [0,1] – 0 is retracted and 1 is fully extended. If there are no flaps on the SixDOF model, this function does nothing.
- double GetFlapsPosition()¶
Returns the angle (deg) of the flaps. A positive value is trailing edge down.
- void SetSpoilersPosition(double aPosition)¶
Sets the spoilers position. Valid values for aPosition are [0,1] – 0 is retracted and 1 is fully extended. If there are no spoilers on the SixDOF model, this function does nothing.
- double GetSpoilersPosition()¶
Returns the angle (deg) of the spoilers. Zero is retracted and a positive value is extended.
- void EnableDirectStickRightInput()¶
This allows direct stick-right input, overriding any autopilot control of the roll action.
- void SetDirectStickRightInput()¶
This sets and holds stick-right to the specified input. EnableDirectStickRightInput must be called to allow this control.
- void ReleaseDirectStickRightInput()¶
This releases direct stick-right input, re-establishing autopilot control of the roll action.
- void EnableDirectStickBackInput()¶
This allows direct stick-back input, overriding any autopilot control of the pitch action.
- void SetDirectStickBackInput()¶
This sets and holds stick-back to the specified input. EnableDirectStickBackInput must be called to allow this control.
- void ReleaseDirectStickBackInput()¶
This releases direct stick-back input, re-establishing autopilot control of the pitch action.
- void EnableDirectRudderRightInput()¶
This allows direct stick-right input, overriding any autopilot control of the yaw action.
- void SetDirectRudderRightInput()¶
This sets and holds stick-right to the specified input. EnableDirectRudderRightInput must be called to allow this control.
- void ReleaseDirectRudderRightInput()¶
This releases direct rudder-right input, re-establishing autopilot control of the yaw action.
- double GetStickRightPosition()¶
Returns the current stick right control input position (between 0 and 1).
- double GetStickBackPosition()¶
Returns the current stick back control input position (between 0 and 1).
- double GetRudderRightPosition()¶
Returns the current rudder right control input position (between 0 and 1).
- double GetThrottleMilitaryPosition()¶
Returns the current military throttle control input position (between 0 and 1).
- double GetThrottleAfterburnerPosition()¶
Returns the current afterburner throttle control input position (between 0 and 1).
- double GetSpeedBrakeControlPosition()¶
Returns the current speed brake control input position (between 0 and 1).
- double GetFlapsLeverPosition()¶
Returns the current position of the flaps lever (between 0 and 1).
- double GetSpoilersLeverPosition()¶
Returns the current position of the spoilers lever (between 0 and 1).
Forces and Moments (F&M)¶
- double GetLift()¶
Returns the current lift force in Newtons.
- double GetDrag()¶
Returns the current drag force in Newtons.
- double GetSideForce()¶
Returns the current side force in Newtons.
- double GetThrustMagnitude()¶
Returns the magnitude of the total thrust in Newtons.
Aerodynamics¶
- double GetAlpha()¶
Returns the current angle of attack in degrees.
- double GetAlphaDot()¶
Returns the current angle of attack rate in degrees/sec.
- double GetBeta()¶
Returns the current angle of sideslip in degrees.
- double GetBetaDot()¶
Returns the current angle of sideslip rate in degrees/sec.
- double GetCLMaxAtMach(double aMach)¶
This will return the CLmax (maximum lift coefficient) at the specified Mach.
- double GetAlphaAtCLMaxAtMach(double aMach)¶
This will return the angle of attack (alpha) in degrees at CLmax (maximum lift coefficient) at the specified Mach.
- double MaxPotentialManeuverGLoad()¶
This will return the maximum number of g’s that the SixDOF mover could achieve with the current conditions (speed and altitude).
Airspeed/Mach Calculations¶
These functions assist with calculating and converting airspeed/Mach values.
- double CalcKtasFromKcas(double aAltitude, double aKcas)¶
Returns the equivalent knots true airspeed (KTAS) given an altitude in meters and a knots calibrated airspeed (KCAS).
- double CalcKtasFromMach(double aAltitude, double aMach)¶
Returns the equivalent knots true airspeed (KTAS) given an altitude in meters and a Mach.
- double CalcKtasFromFps(double aFps)¶
Returns the equivalent knots true airspeed (KTAS) given a speed value in ft/sec.
- double CalcKcasFromKtas(double aAltitude, double aKtas)¶
Returns the equivalent knots calibrated airspeed (KCAS) given an altitude in meters and a knots true airspeed (KTAS).
- double CalcKcasFromMach(double aAltitude, double aMach)¶
Returns the equivalent knots calibrated airspeed (KCAS) given an altitude in meters and a Mach.
- double CalcKcasFromFps(double aAltitude, double aFps)¶
Returns the equivalent knots calibrated airspeed (KCAS) given an altitude in meters and a speed value in ft/sec.
- double CalcMachFromKcas(double aAltitude, double aKcas)¶
Returns the equivalent Mach given an altitude in meters and a knots calibrated airspeed (KCAS).
- double CalcMachFromKtas(double aAltitude, double aKtas)¶
Returns the equivalent Mach given an altitude in meters and a knots true airspeed (KTAS).
- double CalcMachFromFps(double aAltitude, double aFps)¶
Returns the equivalent Mach given an altitude in meters and a speed value in ft/sec.
- double CalcFpsFromKcas(double aAltitude, double aKcas)¶
Returns the equivalent speed in ft/sec given an altitude in meters and a knots calibrated airspeed (KCAS).
- double CalcFpsFromKtas(double aKtas)¶
Returns the equivalent speed in ft/sec given a knots true airspeed (KTAS).
- double CalcFpsFromMach(double aAltitude, double aMach)¶
Returns the equivalent speed in ft/sec given an altitude in meters and a Mach.
- double CalcDynamicPressure(double aAltitude, double aSpeed)¶
Returns the dynamic pressure in Pascals given an altitude in meters and a speed value in m/s.
- double CalcFpsFromAltitudeDynamicPressure(double aAltitude, double aPressure)¶
Returns a speed in ft/sec given an altitude in meters and a pressure value in Pascals.