.. default-domain:: c .. highlight:: c Flight ====== .. type:: krpc_SpaceCenter_Flight_t Used to get flight telemetry for a vessel, by calling :func:`krpc_SpaceCenter_Vessel_Flight`. All of the information returned by this class is given in the reference frame passed to that method. Obtained by calling :func:`krpc_SpaceCenter_Vessel_Flight`. .. note:: To get orbital information, such as the apoapsis or inclination, see :type:`krpc_SpaceCenter_Orbit_t`. .. function:: krpc_error_t krpc_SpaceCenter_Flight_GForce(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The current G force acting on the vessel in :math:`g`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_MeanAltitude(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The altitude above sea level, in meters. Measured from the center of mass of the vessel. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_SurfaceAltitude(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The altitude above the surface of the body or sea level, whichever is closer, in meters. Measured from the center of mass of the vessel. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_BedrockAltitude(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The altitude above the surface of the body, in meters. When over water, this is the altitude above the sea floor. Measured from the center of mass of the vessel. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Elevation(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The elevation of the terrain under the vessel, in meters. This is the height of the terrain above sea level, and is negative when the vessel is over the sea. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Latitude(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The `latitude `_ of the vessel for the body being orbited, in degrees. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Longitude(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The `longitude `_ of the vessel for the body being orbited, in degrees. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_SurfaceNormal(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The normal to the surface under the vessel, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. This describes the slope of the terrain, and points straight up when the vessel is over water. :returns: The normal as a unit vector. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Velocity(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The velocity of the vessel, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: The velocity as a vector. The vector points in the direction of travel, and its magnitude is the speed of the vessel in meters per second. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Speed(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The speed of the vessel in meters per second, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_HorizontalSpeed(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The horizontal speed of the vessel in meters per second, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_VerticalSpeed(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The vertical speed of the vessel in meters per second, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Acceleration(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The acceleration of the vessel, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. This is the total acceleration, including the acceleration due to gravity, and is the time derivative of :func:`krpc_SpaceCenter_Flight_Velocity`. :returns: The acceleration as a vector. The vector points in the direction of the acceleration, and its magnitude is the acceleration of the vessel in :math:`m/s^2`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_CenterOfMass(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The position of the center of mass of the vessel, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t` :returns: The position as a vector. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Rotation(krpc_connection_t connection, krpc_tuple_double_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The rotation of the vessel, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t` :returns: The rotation as a quaternion of the form :math:`(x, y, z, w)`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Direction(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The direction that the vessel is pointing in, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: The direction as a unit vector. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Pitch(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The pitch of the vessel relative to the horizon, in degrees. A value between -90° and +90°. :Game Scenes: Flight .. note:: An absolute Euler angle, ill-conditioned when the vessel points near vertical (a pitch near -90° or +90°), where heading and roll become ambiguous. For an always-defined attitude use :func:`krpc_SpaceCenter_Flight_Rotation` or :func:`krpc_SpaceCenter_Flight_Direction`. .. function:: krpc_error_t krpc_SpaceCenter_Flight_Heading(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The heading of the vessel (its angle relative to north), in degrees. A value between 0° and 360°. :Game Scenes: Flight .. note:: An absolute Euler angle, undefined when the vessel points near vertical (a pitch near -90° or +90°). For an always-defined attitude use :func:`krpc_SpaceCenter_Flight_Rotation` or :func:`krpc_SpaceCenter_Flight_Direction`. .. function:: krpc_error_t krpc_SpaceCenter_Flight_Roll(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The roll of the vessel relative to the horizon, in degrees. A value between -180° and +180°. :Game Scenes: Flight .. note:: An absolute Euler angle, ill-conditioned when the vessel points near vertical (a pitch near -90° or +90°), where the vertical-plane reference vanishes. For an always-defined attitude use :func:`krpc_SpaceCenter_Flight_Rotation`; for a well-defined roll use the auto-pilot's ``TargetRoll`` / ``RollError`` against a chosen up reference. .. function:: krpc_error_t krpc_SpaceCenter_Flight_Prograde(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The prograde direction of the vessels orbit, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: The direction as a unit vector. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Retrograde(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The retrograde direction of the vessels orbit, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: The direction as a unit vector. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_SurfacePrograde(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The direction of the vessels surface velocity, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. This is the prograde direction as shown on the navball when in surface mode. :returns: The direction as a unit vector. :Game Scenes: Flight .. note:: Singular when surface speed is approximately zero. .. function:: krpc_error_t krpc_SpaceCenter_Flight_SurfaceRetrograde(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The direction opposite to the vessels surface velocity, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. This is the retrograde direction as shown on the navball when in surface mode. :returns: The direction as a unit vector. :Game Scenes: Flight .. note:: Singular when surface speed is approximately zero. .. function:: krpc_error_t krpc_SpaceCenter_Flight_Normal(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The direction normal to the vessels orbit, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: The direction as a unit vector. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_AntiNormal(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The direction opposite to the normal of the vessels orbit, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: The direction as a unit vector. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Radial(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The radial direction of the vessels orbit, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: The direction as a unit vector. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_AntiRadial(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The direction opposite to the radial direction of the vessels orbit, in the reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: The direction as a unit vector. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_AtmosphereDensity(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The current density of the atmosphere around the vessel, in :math:`kg/m^3`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_DynamicPressure(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The dynamic pressure acting on the vessel, in Pascals. This is a measure of the strength of the aerodynamic forces. It is equal to :math:`\frac{1}{2} . \mbox{air density} . \mbox{velocity}^2`. It is commonly denoted :math:`Q`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_StaticPressure(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The static pressure acting on the vessel, in Pascals. :Game Scenes: Flight .. note:: Below the waterline this includes the pressure of the water above the vessel's center of mass. .. function:: krpc_error_t krpc_SpaceCenter_Flight_StaticPressureAtMSL(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The static atmospheric pressure at mean sea level, in Pascals. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Displacement(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The volume of water the vessel displaces when fully submerged, in :math:`m^3`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_DisplacedVolume(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The volume of water the vessel is displacing, in :math:`m^3`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_SubmergedPortion(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The fraction of the vessel below the waterline, between 0 and 1. This is :func:`krpc_SpaceCenter_Flight_DisplacedVolume` over :func:`krpc_SpaceCenter_Flight_Displacement`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_CenterOfBuoyancy(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, bool * returnValueIsNull, krpc_SpaceCenter_Flight_t instance) The point the total buoyant force on the vessel acts through, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. Returns ``nullptr`` if no part of the vessel is in the water. :returns: The position as a vector. :Game Scenes: Flight .. note:: A hull at rest carries this on the same vertical line as :func:`krpc_SpaceCenter_Flight_CenterOfMass`. A horizontal offset between the two turns the weight and the buoyancy into a couple that rolls or pitches the vessel. .. function:: krpc_error_t krpc_SpaceCenter_Flight_BuoyantForce(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The total buoyant force acting on the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons. :Game Scenes: Flight .. note:: A vessel floating at rest carries a buoyant force equal to its weight. .. function:: krpc_error_t krpc_SpaceCenter_Flight_BuoyantAcceleration(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The acceleration of the vessel due to the buoyant force acting on it (:func:`krpc_SpaceCenter_Flight_BuoyantForce` divided by the vessel's mass), in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: A vector pointing in the direction that the vessel is accelerated, with its magnitude equal to the acceleration in :math:`m/s^2`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_BuoyantTorque(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The torque the buoyant force exerts on the vessel about its center of mass, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: A vector pointing along the axis of the torque, with its magnitude equal to the strength of the torque in newton-meters. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_FullySubmergedCenterOfBuoyancy(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, bool * returnValueIsNull, krpc_SpaceCenter_Flight_t instance) The point the buoyant force acts through with the vessel fully submerged, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. Returns ``nullptr`` if no part of the vessel displaces any water. :returns: The position as a vector. :Game Scenes: Flight .. note:: The point is fixed relative to the hull. :func:`krpc_SpaceCenter_Flight_CenterOfBuoyancy` moves as the vessel rides the waves. .. function:: krpc_error_t krpc_SpaceCenter_Flight_BuoyantForceAt(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance, double density, double gravity) The buoyant force on the vessel when fully submerged in a fluid of the given density, in Newtons. :Parameters: * **density** -- The density of the fluid, in :math:`kg/m^3`. * **gravity** -- The acceleration due to gravity, in :math:`m/s^2`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_BuoyantTorqueAt(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance, double density, double gravity) The torque the buoyant force exerts about the vessel's center of mass when fully submerged in a fluid of the given density, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. Gravity acts towards the center of the body. :Parameters: * **density** -- The density of the fluid, in :math:`kg/m^3`. * **gravity** -- The acceleration due to gravity, in :math:`m/s^2`. :returns: A vector pointing along the axis of the torque, with its magnitude equal to the strength of the torque in newton-meters. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Depth(krpc_connection_t connection, double * returnValue, krpc_SpaceCenter_Flight_t instance) The depth of the center of mass of the vessel below the waterline, in meters. Negative above the waterline. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_SubmergedDynamicPressure(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The dynamic pressure of the water acting on the vessel, in Pascals. Returns zero if no part of the vessel is below the waterline. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_AerodynamicForce(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The total aerodynamic forces acting on the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons. :Game Scenes: Flight .. note:: This is the force the aerodynamics model actually applied to the vessel on the last physics frame, summed over its parts, so it points where the air pushes the vessel whatever the vessel's orientation. It equals :func:`krpc_SpaceCenter_Flight_Lift` plus :func:`krpc_SpaceCenter_Flight_SideForce` plus :func:`krpc_SpaceCenter_Flight_Drag`. .. function:: krpc_error_t krpc_SpaceCenter_Flight_AerodynamicTorque(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The net aerodynamic torque currently acting on the vessel about its center of mass, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. The magnitude is in newton-meters. :returns: A vector pointing along the axis of the torque, with its magnitude equal to the strength of the torque in newton-meters. :Game Scenes: Flight .. note:: This is the live counterpart to :func:`krpc_SpaceCenter_Flight_AerodynamicForce`: it is the torque the aerodynamics model applied on the current physics frame, taken about the center of mass, rather than one re-simulated for hypothetical conditions the way :func:`krpc_SpaceCenter_Flight_SimulateAerodynamicTorqueAt` does. It is intended for validating the simulator against the live game state. .. function:: krpc_error_t krpc_SpaceCenter_Flight_SimulateAerodynamicForceAt(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance, krpc_SpaceCenter_CelestialBody_t body, const krpc_tuple_double_double_double_t * position, const krpc_tuple_double_double_double_t * velocity, const krpc_tuple_double_double_double_double_t * rotation) Simulate and return the total aerodynamic forces acting on the vessel, if it were traveling with the given velocity, at the given position and orientation, in the atmosphere of the given celestial body. :Parameters: * **body** -- The celestial body whose atmosphere the forces are simulated in. * **position** -- The position of the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. * **velocity** -- The velocity of the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. * **rotation** -- The orientation of the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`, in the same form as :func:`krpc_SpaceCenter_Vessel_Rotation`. The angle of attack and sideslip follow from this orientation relative to the velocity; the roll component sets the direction of any aerodynamic lift. Pass the vessel's current rotation to evaluate the force at its current orientation. :returns: A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :Game Scenes: Flight .. note:: The position, velocity and rotation arguments, and the returned force, are all expressed in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. The result is the force the vessel would experience if it were placed at that position and orientation with the air flowing past it at that velocity; it is the force at the requested orientation, not the force in the vessel's current orientation. Atmospheric temperature and density are evaluated at the current universal time. .. function:: krpc_error_t krpc_SpaceCenter_Flight_SimulateAerodynamicTorqueAt(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance, krpc_SpaceCenter_CelestialBody_t body, const krpc_tuple_double_double_double_t * position, const krpc_tuple_double_double_double_t * velocity, const krpc_tuple_double_double_double_double_t * rotation, const krpc_tuple_double_double_double_t * angularVelocity) Simulate and return the total aerodynamic torque acting on the vessel about its center of mass, if it were traveling with the given velocity, at the given position, orientation and angular velocity, in the atmosphere of the given celestial body. :Parameters: * **body** -- The celestial body whose atmosphere the torque is simulated in. * **position** -- The position of the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. * **velocity** -- The velocity of the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. * **rotation** -- The orientation of the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`, in the same form as :func:`krpc_SpaceCenter_Vessel_Rotation`. Pass the vessel's current rotation to evaluate the torque at its current orientation. * **angularVelocity** -- The angular velocity of the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. This adds the solid-body rotation term to each part's local airflow and the per-part rigid-body angular drag the game applies, together giving the aerodynamic damping torque. Pass a zero vector to evaluate the static torque. :returns: A vector pointing along the axis of the torque, with its magnitude equal to the strength of the torque in newton-meters, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :Game Scenes: Flight .. note:: The position, velocity, rotation and angular velocity arguments, and the returned torque, are all expressed in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. When `Ferram Aerospace Research `_ is installed the angular velocity argument is ignored. Atmospheric temperature and density are evaluated at the current universal time. This is the ideal rigid-body aerodynamic torque, summed from the per-part forces about the center of mass. A vessel may not visibly rotate by the full amount when a large aerodynamic force acts on a small part far from the center of mass, because the game applies each part's force to that part and propagates it through the joints rather than to the vessel as a rigid body. .. function:: krpc_error_t krpc_SpaceCenter_Flight_SimulateAerodynamicWrenchAt(krpc_connection_t connection, krpc_SpaceCenter_Wrench_t * returnValue, krpc_SpaceCenter_Flight_t instance, krpc_SpaceCenter_CelestialBody_t body, const krpc_tuple_double_double_double_t * position, const krpc_tuple_double_double_double_t * velocity, const krpc_tuple_double_double_double_double_t * rotation, const krpc_tuple_double_double_double_t * angularVelocity, double ut) Simulate and return the total aerodynamic force and torque acting on the vessel, if its center of mass were traveling with the given velocity, at the given position, orientation and angular velocity, in the atmosphere of the given celestial body. :Parameters: * **body** -- The celestial body whose atmosphere the wrench is simulated in. * **position** -- The position of the vessel's center of mass, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. * **velocity** -- The velocity of the vessel's center of mass, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. * **rotation** -- The orientation of the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`, in the same form as :func:`krpc_SpaceCenter_Vessel_Rotation`. Pass the vessel's current rotation to evaluate the wrench at its current orientation. * **angularVelocity** -- The angular velocity of the vessel, in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. This adds the solid-body rotation term to each part's local airflow and the per-part rigid-body angular drag the game applies, together giving the aerodynamic damping force and torque. Pass a zero vector to evaluate the static wrench relative to the reference frame. * **ut** -- The universal time used for the atmospheric ephemeris. It selects the body/Sun geometry used for temperature and density, but does not change or propagate :type:`krpc_SpaceCenter_ReferenceFrame_t` or any of the state arguments. :returns: The aerodynamic force, and the aerodynamic torque about the vessel's center of mass. Both are vectors in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :Game Scenes: Flight .. note:: The position and velocity describe the hypothetical center-of-mass state. The position, velocity, rotation and angular velocity arguments, and both returned vectors, are expressed in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. For future-state prediction, :func:`krpc_SpaceCenter_CelestialBody_NonRotatingReferenceFrame` is recommended so that the spatial state has unambiguous inertial semantics. This is an instantaneous rigid-body result based on the vessel's current parts, drag cubes and control-surface state. When `Ferram Aerospace Research `_ is installed the angular velocity and *ut* arguments are ignored. .. function:: krpc_error_t krpc_SpaceCenter_Flight_Lift(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The `aerodynamic lift `_ currently acting on the vessel. :returns: A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons. :Game Scenes: Flight .. note:: The part of :func:`krpc_SpaceCenter_Flight_AerodynamicForce` that acts across the air stream and towards the top of the vessel: perpendicular to the air stream, in the plane the vessel's nose and its top sit in. A vessel flying with sideslip is also pushed out of that plane, and that part of the force is :func:`krpc_SpaceCenter_Flight_SideForce`. Zero for a vessel flying exactly sideways, which has no such plane to speak of. .. function:: krpc_error_t krpc_SpaceCenter_Flight_SideForce(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The aerodynamic side force currently acting on the vessel. :returns: A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons. :Game Scenes: Flight .. note:: The part of :func:`krpc_SpaceCenter_Flight_AerodynamicForce` that acts across the air stream and out of the vessel's side, which is what the air does to a vessel flying with sideslip. It is perpendicular to both :func:`krpc_SpaceCenter_Flight_Lift` and :func:`krpc_SpaceCenter_Flight_Drag`, and the three of them sum to :func:`krpc_SpaceCenter_Flight_AerodynamicForce`. .. function:: krpc_error_t krpc_SpaceCenter_Flight_Drag(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The `aerodynamic drag `_ currently acting on the vessel. :returns: A vector pointing in the direction of the force, with its magnitude equal to the strength of the force in Newtons. :Game Scenes: Flight .. note:: The part of :func:`krpc_SpaceCenter_Flight_AerodynamicForce` along the air stream, opposing the vessel's motion through the air. .. function:: krpc_error_t krpc_SpaceCenter_Flight_AerodynamicAcceleration(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The acceleration of the vessel due to the total aerodynamic forces acting on it (:func:`krpc_SpaceCenter_Flight_AerodynamicForce` divided by the vessel's mass), in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: A vector pointing in the direction that the vessel is accelerated, with its magnitude equal to the acceleration in :math:`m/s^2`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_LiftAcceleration(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The acceleration of the vessel due to :func:`krpc_SpaceCenter_Flight_Lift` (the aerodynamic lift divided by the vessel's mass), in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: A vector pointing in the direction that the vessel is accelerated, with its magnitude equal to the acceleration in :math:`m/s^2`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_DragAcceleration(krpc_connection_t connection, krpc_tuple_double_double_double_t * returnValue, krpc_SpaceCenter_Flight_t instance) The acceleration of the vessel due to :func:`krpc_SpaceCenter_Flight_Drag` (the aerodynamic drag divided by the vessel's mass), in reference frame :type:`krpc_SpaceCenter_ReferenceFrame_t`. :returns: A vector pointing in the direction that the vessel is accelerated, with its magnitude equal to the acceleration in :math:`m/s^2`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_SpeedOfSound(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The speed of sound, in the atmosphere around the vessel, in :math:`m/s`. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_Mach(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The speed of the vessel, in multiples of the speed of sound. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_ReynoldsNumber(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The vessels Reynolds number. :Game Scenes: Flight .. note:: Requires `Ferram Aerospace Research `_. .. function:: krpc_error_t krpc_SpaceCenter_Flight_TrueAirSpeed(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The `true air speed `_ of the vessel, in meters per second. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_EquivalentAirSpeed(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The `equivalent air speed `_ of the vessel, in meters per second. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_TerminalVelocity(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) An estimate of the current terminal velocity of the vessel, in meters per second. This is the speed at which the drag forces cancel out the force of gravity. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_AngleOfAttack(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The pitch angle between the orientation of the vessel and its velocity vector, in degrees. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_SideslipAngle(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The yaw angle between the orientation of the vessel and its velocity vector, in degrees. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_TotalAirTemperature(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The `total air temperature `_ of the atmosphere around the vessel, in Kelvin. This includes the :func:`krpc_SpaceCenter_Flight_StaticAirTemperature` and the vessel's kinetic energy. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_StaticAirTemperature(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The `static (ambient) temperature `_ of the atmosphere around the vessel, in Kelvin. :Game Scenes: Flight .. function:: krpc_error_t krpc_SpaceCenter_Flight_StallFraction(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The current amount of stall, between 0 and 1. A value greater than 0.005 indicates a minor stall and a value greater than 0.5 indicates a large-scale stall. :Game Scenes: Flight .. note:: Requires `Ferram Aerospace Research `_. .. function:: krpc_error_t krpc_SpaceCenter_Flight_DragCoefficient(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The coefficient of drag. This is the amount of drag produced by the vessel. It depends on air speed, air density and wing area. :Game Scenes: Flight .. note:: Requires `Ferram Aerospace Research `_. .. function:: krpc_error_t krpc_SpaceCenter_Flight_LiftCoefficient(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The coefficient of lift. This is the amount of lift produced by the vessel, and depends on air speed, air density and wing area. :Game Scenes: Flight .. note:: Requires `Ferram Aerospace Research `_. .. function:: krpc_error_t krpc_SpaceCenter_Flight_BallisticCoefficient(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The `ballistic coefficient `_. :Game Scenes: Flight .. note:: Requires `Ferram Aerospace Research `_. .. function:: krpc_error_t krpc_SpaceCenter_Flight_ThrustSpecificFuelConsumption(krpc_connection_t connection, float * returnValue, krpc_SpaceCenter_Flight_t instance) The thrust specific fuel consumption for the jet engines on the vessel. This is a measure of the efficiency of the engines, with a lower value indicating a more efficient vessel. This value is the number of Newtons of fuel that are burned, per hour, to produce one newton of thrust. :Game Scenes: Flight .. note:: Requires `Ferram Aerospace Research `_. .. type:: krpc_SpaceCenter_Wrench_t A force and a torque that act together. .. member:: krpc_tuple_double_double_double_t force The force, in Newtons. .. member:: krpc_tuple_double_double_double_t torque The torque, in Newton meters.