.. default-domain:: cs .. highlight:: csharp .. namespace:: KRPC.Client.Services.SpaceCenter Closest Approach ================ .. class:: ClosestApproach A close approach between an orbit and a target orbit. Obtained by calling :meth:`Orbit.NextClosestApproach` or :meth:`Orbit.ClosestApproaches`. .. note:: The object names the approach rather than describing it once: each member estimates the time of closest approach from where the two orbits are now, and describes the state at that time. The estimate moves as the game runs, so members read at different moments can differ a little; members read in one physics tick all describe the same estimate. Relative quantities are the target relative to the orbiting object (target minus self). The search runs forward over one orbital period from the current time. Once an approach has passed and the two orbits are moving apart, the closest point in that period is the current one, so the object reports the approach as now, at the present separation, until the orbits bring another one within range. .. property:: double UT { get; } The universal time of the closest approach, in seconds. :Game Scenes: All .. property:: double TimeTo { get; } The time until the closest approach, in seconds. :Game Scenes: All .. property:: double Distance { get; } The distance between the objects at the closest approach, in meters. :Game Scenes: All .. property:: double RelativeSpeed { get; } The relative speed of the objects at the closest approach, in meters per second. This is the magnitude of :meth:`ClosestApproach.RelativeVelocity`, and does not depend on the choice of reference frame. :Game Scenes: All .. property:: Vessel Vessel { get; } The vessel doing the approaching, or ``null`` if it is not a vessel. :Game Scenes: All .. property:: CelestialBody Body { get; } The celestial body doing the approaching, or ``null`` if it is not a celestial body. :Game Scenes: All .. property:: Vessel TargetVessel { get; } The vessel being approached, or ``null`` if the target is not a vessel. :Game Scenes: All .. property:: CelestialBody TargetBody { get; } The celestial body being approached, or ``null`` if the target is not a celestial body. :Game Scenes: All .. function:: System.Tuple Position(ReferenceFrame referenceFrame = null) The position of the orbiting object at the closest approach. :parameters: * **referenceFrame** -- The reference frame that the returned position vector is in. Defaults to the orbital reference frame of the object the orbit belongs to. :returns: The position as a vector. :Game Scenes: All .. function:: System.Tuple TargetPosition(ReferenceFrame referenceFrame = null) The position of the target object at the closest approach. :parameters: * **referenceFrame** -- The reference frame that the returned position vector is in. Defaults to the orbital reference frame of the object the orbit belongs to. :returns: The position as a vector. :Game Scenes: All .. function:: System.Tuple Velocity(ReferenceFrame referenceFrame = null) The velocity of the orbiting object at the closest approach. :parameters: * **referenceFrame** -- The reference frame that the returned velocity vector is in. Defaults to the orbital reference frame of the object the orbit belongs to. :returns: The velocity as a vector. :Game Scenes: All .. function:: System.Tuple TargetVelocity(ReferenceFrame referenceFrame = null) The velocity of the target object at the closest approach. :parameters: * **referenceFrame** -- The reference frame that the returned velocity vector is in. Defaults to the orbital reference frame of the object the orbit belongs to. :returns: The velocity as a vector. :Game Scenes: All .. function:: System.Tuple RelativePosition(ReferenceFrame referenceFrame = null) The position of the target relative to the orbiting object at the closest approach. :parameters: * **referenceFrame** -- The reference frame whose axes the returned vector is expressed in. Defaults to the orbital reference frame of the object the orbit belongs to. :returns: The relative position as a vector. :Game Scenes: All .. function:: System.Tuple RelativeVelocity(ReferenceFrame referenceFrame = null) The velocity of the target relative to the orbiting object at the closest approach. :parameters: * **referenceFrame** -- The reference frame whose axes the returned vector is expressed in. Defaults to the orbital reference frame of the object the orbit belongs to. :returns: The relative velocity as a vector. :Game Scenes: All