Orbit¶
-
class Orbit¶
Describes an orbit. For example, the orbit of a vessel, obtained by calling
Vessel::orbit()
, or a celestial body, obtained by callingCelestialBody::orbit()
.-
CelestialBody body()¶
The celestial body (e.g. planet or moon) around which the object is orbiting.
-
double apoapsis()¶
Gets the apoapsis of the orbit, in meters, from the center of mass of the body being orbited.
Note
For the apoapsis altitude reported on the in-game map view, use
Orbit::apoapsis_altitude()
.
-
double periapsis()¶
The periapsis of the orbit, in meters, from the center of mass of the body being orbited.
Note
For the periapsis altitude reported on the in-game map view, use
Orbit::periapsis_altitude()
.
-
double apoapsis_altitude()¶
The apoapsis of the orbit, in meters, above the sea level of the body being orbited.
Note
This is equal to
Orbit::apoapsis()
minus the equatorial radius of the body.
-
double periapsis_altitude()¶
The periapsis of the orbit, in meters, above the sea level of the body being orbited.
Note
This is equal to
Orbit::periapsis()
minus the equatorial radius of the body.
-
double semi_major_axis()¶
The semi-major axis of the orbit, in meters.
-
double semi_minor_axis()¶
The semi-minor axis of the orbit, in meters.
-
double radius()¶
The current radius of the orbit, in meters. This is the distance between the center of mass of the object in orbit, and the center of mass of the body around which it is orbiting.
Note
This value will change over time if the orbit is elliptical.
-
double radius_at(double ut)¶
The orbital radius at the given time, in meters.
- Parameters:
ut – The universal time to measure the radius at.
-
std::tuple<double, double, double> position_at(double ut, ReferenceFrame reference_frame)¶
The position at a given time, in the specified reference frame.
- Parameters:
ut – The universal time to measure the position at.
reference_frame – The reference frame that the returned position vector is in.
- Returns:
The position as a vector.
-
double speed()¶
The current orbital speed of the object in meters per second.
Note
This value will change over time if the orbit is elliptical.
-
double period()¶
The orbital period, in seconds.
-
double time_to_apoapsis()¶
The time until the object reaches apoapsis, in seconds.
-
double time_to_periapsis()¶
The time until the object reaches periapsis, in seconds.
-
double eccentricity()¶
The eccentricity of the orbit.
-
double inclination()¶
The inclination of the orbit, in radians.
-
double longitude_of_ascending_node()¶
The longitude of the ascending node, in radians.
-
double argument_of_periapsis()¶
The argument of periapsis, in radians.
-
double mean_anomaly_at_epoch()¶
-
double epoch()¶
The time since the epoch (the point at which the mean anomaly at epoch was measured, in seconds.
-
double mean_anomaly()¶
The mean anomaly.
-
double mean_anomaly_at_ut(double ut)¶
The mean anomaly at the given time.
- Parameters:
ut – The universal time in seconds.
-
double eccentric_anomaly()¶
The eccentric anomaly.
-
double eccentric_anomaly_at_ut(double ut)¶
The eccentric anomaly at the given universal time.
- Parameters:
ut – The universal time, in seconds.
-
double true_anomaly()¶
The true anomaly.
-
double true_anomaly_at_ut(double ut)¶
The true anomaly at the given time.
- Parameters:
ut – The universal time in seconds.
-
double true_anomaly_at_radius(double radius)¶
The true anomaly at the given orbital radius.
- Parameters:
radius – The orbital radius in meters.
-
double ut_at_true_anomaly(double true_anomaly)¶
The universal time, in seconds, corresponding to the given true anomaly.
- Parameters:
true_anomaly – True anomaly.
-
double radius_at_true_anomaly(double true_anomaly)¶
The orbital radius at the point in the orbit given by the true anomaly.
- Parameters:
true_anomaly – The true anomaly.
-
double true_anomaly_at_an(Orbit target)¶
The true anomaly of the ascending node with the given target orbit.
- Parameters:
target – Target orbit.
-
double true_anomaly_at_dn(Orbit target)¶
The true anomaly of the descending node with the given target orbit.
- Parameters:
target – Target orbit.
-
double orbital_speed()¶
The current orbital speed in meters per second.
-
double orbital_speed_at(double time)¶
The orbital speed at the given time, in meters per second.
- Parameters:
time – Time from now, in seconds.
-
static std::tuple<double, double, double> reference_plane_normal(Client &connection, ReferenceFrame reference_frame)¶
The direction that is normal to the orbits reference plane, in the given reference frame. The reference plane is the plane from which the orbits inclination is measured.
- Parameters:
reference_frame – The reference frame that the returned direction is in.
- Returns:
The direction as a unit vector.
-
static std::tuple<double, double, double> reference_plane_direction(Client &connection, ReferenceFrame reference_frame)¶
The direction from which the orbits longitude of ascending node is measured, in the given reference frame.
- Parameters:
reference_frame – The reference frame that the returned direction is in.
- Returns:
The direction as a unit vector.
-
double relative_inclination(Orbit target)¶
Relative inclination of this orbit and the target orbit, in radians.
- Parameters:
target – Target orbit.
-
double time_to_soi_change()¶
The time until the object changes sphere of influence, in seconds. Returns
NaN
if the object is not going to change sphere of influence.
-
Orbit next_orbit()¶
If the object is going to change sphere of influence in the future, returns the new orbit after the change. Otherwise returns
NULL
.
-
double time_of_closest_approach(Orbit target)¶
Estimates and returns the time at closest approach to a target orbit.
- Parameters:
target – Target orbit.
- Returns:
The universal time at closest approach, in seconds.
-
double distance_at_closest_approach(Orbit target)¶
Estimates and returns the distance at closest approach to a target orbit, in meters.
- Parameters:
target – Target orbit.
-
std::vector<std::vector<double>> list_closest_approaches(Orbit target, int32_t orbits)¶
Returns the times at closest approach and corresponding distances, to a target orbit.
- Parameters:
target – Target orbit.
orbits – The number of future orbits to search.
- Returns:
A list of two lists. The first is a list of times at closest approach, as universal times in seconds. The second is a list of corresponding distances at closest approach, in meters.
-
CelestialBody body()¶