#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
use crate::measurements::{Length, Mass};
#[derive(Clone, Eq, PartialEq, Debug, Default)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct Station {
arm: Length,
description: Option<String>,
}
impl Station {
pub fn new(arm: Length, description: Option<String>) -> Self {
Self { arm, description }
}
pub fn arm(&self) -> &Length {
&self.arm
}
pub fn description(&self) -> Option<&String> {
self.description.as_ref()
}
}
#[derive(Clone, Eq, PartialEq, Debug, Default)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct LoadedStation {
pub station: Station,
pub on_ramp: Mass,
pub after_landing: Mass,
}