Closest Approach#
-
class ClosestApproach#
A close approach between an orbit and a target orbit. Obtained by calling
Orbit::next_closest_approach()orOrbit::closest_approaches().Note
A close approach is a snapshot: the time of closest approach is estimated once when the object is created, and every member describes the state at that time. Relative quantities are the target relative to the orbiting object (target minus self).
-
double ut()#
The universal time of the closest approach, in seconds.
-
double time_to()#
The time until the closest approach, in seconds.
-
double distance()#
The distance between the objects at the closest approach, in meters.
-
double relative_speed()#
The relative speed of the objects at the closest approach, in meters per second. This is the magnitude of
ClosestApproach::relative_velocity(), and does not depend on the choice of reference frame.
-
CelestialBody body()#
The celestial body doing the approaching, or
NULLif it is not a celestial body.
-
CelestialBody target_body()#
The celestial body being approached, or
NULLif the target is not a celestial body.
-
std::tuple<double, double, double> position(ReferenceFrame reference_frame = ReferenceFrame())#
The position of the orbiting object at the closest approach.
- Parameters:
reference_frame – 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.
-
std::tuple<double, double, double> target_position(ReferenceFrame reference_frame = ReferenceFrame())#
The position of the target object at the closest approach.
- Parameters:
reference_frame – 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.
-
std::tuple<double, double, double> velocity(ReferenceFrame reference_frame = ReferenceFrame())#
The velocity of the orbiting object at the closest approach.
- Parameters:
reference_frame – 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.
-
std::tuple<double, double, double> target_velocity(ReferenceFrame reference_frame = ReferenceFrame())#
The velocity of the target object at the closest approach.
- Parameters:
reference_frame – 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.
-
std::tuple<double, double, double> relative_position(ReferenceFrame reference_frame = ReferenceFrame())#
The position of the target relative to the orbiting object at the closest approach.
- Parameters:
reference_frame – 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.
-
std::tuple<double, double, double> relative_velocity(ReferenceFrame reference_frame = ReferenceFrame())#
The velocity of the target relative to the orbiting object at the closest approach.
- Parameters:
reference_frame – 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.
-
double ut()#