extern crate raylib; mod units; mod orbital; mod system; use self::system::*; use self::units::*; use std::rc::Rc; use std::cell::RefCell; use raylib::prelude::*; fn main() { let sol_system_builder = SystemBuilder::new(); let sol_ind = sol_system_builder .add_body(orbital::OrbitalBuilder::new() .name("Sol".to_string()) .mass(1.988416e30) .radius(695700.0) .build()); let earth_ind = sol_system_builder .add_body(orbital::OrbitalBuilder::new() .name("Earth".to_string()) .orbits(sol_ind) .mass(5.972168e24) .radius(6371.0) .semi_major_axis(149598023.0) .eccentricity(0.0167086) .inclination(to_rad(7.155)) .long_asc_node(to_rad(-11.26064)) .argument_periapsis(to_rad(114.20783)) .mean_anomaly_epoch(to_rad(358.617)) .build()); let sol_system = sol_system_builder.build(); sol_system.tick(0); let (mut rl_handle, rl_thread) = raylib::init() .size(640, 480) .title("Hello, World!") .build(); while !rl_handle.window_should_close() { let mut draw_handle = rl_handle.begin_drawing(&rl_thread); draw_handle.clear_background(Color::BLACK); draw_handle.draw_text("Hello, World!", 12, 12, 20, Color::WHITE); } }