use crate::solar_system::{Kilograms, Kilometers, SolarSystem, body::BodyId, orbit::StaticOrbit}; pub type ShipId = usize; pub struct Ship { name: String, mass: Kilograms, position: cgmath::Vector3, velocity: cgmath::Vector3, acceleration: cgmath::Vector3, baked_orbit: Option } impl Ship { pub fn new( name: String, mass: Kilograms, system: &SolarSystem, orbiting: BodyId, orbit_sma: Kilometers) -> Self { Self { name, mass, position: cgmath::vec3(0.0, 0.0, 0.0), velocity: cgmath::vec3(0.0, 0.0, 0.0), acceleration: cgmath::vec3(0.0, 0.0, 0.0), baked_orbit: None } } }