diff options
author | Jon Santmyer <jon@jonsantmyer.com> | 2024-09-30 12:01:07 -0400 |
---|---|---|
committer | Jon Santmyer <jon@jonsantmyer.com> | 2024-09-30 12:01:07 -0400 |
commit | 63bd19127f66dda81007fcd0d8857e978740101f (patch) | |
tree | 781e971abde6f79b35b457927129066df42d955e /src/main.rs | |
download | systemic-63bd19127f66dda81007fcd0d8857e978740101f.tar.gz systemic-63bd19127f66dda81007fcd0d8857e978740101f.tar.bz2 systemic-63bd19127f66dda81007fcd0d8857e978740101f.zip |
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..94b0930 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,52 @@ +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); + } +} |