Skip to main content

CentralBody

Struct CentralBody 

Source
pub struct CentralBody {
    pub mass: f64,
    pub radius: Option<f64>,
}
Expand description

Mass and optional radius for a central body used in orbital calculations.

Fields§

§mass: f64

Mass in kilograms.

§radius: Option<f64>

Optional radius in meters.

Implementations§

Source§

impl CentralBody

Source

pub fn new(mass: f64) -> Option<CentralBody>

Creates a central body with mass and no stored radius.

Returns None when mass is negative or not finite.

Source

pub fn with_radius(mass: f64, radius: f64) -> Option<CentralBody>

Creates a central body with mass and radius.

Returns None when mass is negative or not finite, or when radius is less than or equal to zero or not finite.

Source

pub fn gravitational_parameter(&self) -> Option<f64>

Computes the body’s standard gravitational parameter.

Source

pub fn orbital_radius_from_altitude(&self, altitude: f64) -> Option<f64>

Computes orbital radius from the stored body radius and an altitude.

Returns None when the body has no stored radius or when the inputs are invalid.

Source

pub fn circular_orbital_speed_at_radius( &self, orbital_radius: f64, ) -> Option<f64>

Computes circular orbital speed at a radius around this body.

§Examples
use use_orbit::CentralBody;

let earth = CentralBody::with_radius(5.972e24, 6.371e6);
let speed = earth.and_then(|body| body.circular_orbital_speed_at_radius(6_771_000.0));

assert!(speed.is_some_and(|value| value > 7_600.0));
Source

pub fn circular_orbital_period_at_radius( &self, orbital_radius: f64, ) -> Option<f64>

Computes circular orbital period at a radius around this body.

Source

pub fn escape_speed_at_radius(&self, distance: f64) -> Option<f64>

Computes escape speed at a radius around this body.

Trait Implementations§

Source§

impl Clone for CentralBody

Source§

fn clone(&self) -> CentralBody

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CentralBody

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl PartialEq for CentralBody

Source§

fn eq(&self, other: &CentralBody) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for CentralBody

Source§

impl StructuralPartialEq for CentralBody

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.