summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2024-09-30 12:01:07 -0400
committerJon Santmyer <jon@jonsantmyer.com>2024-09-30 12:01:07 -0400
commit63bd19127f66dda81007fcd0d8857e978740101f (patch)
tree781e971abde6f79b35b457927129066df42d955e /src/main.rs
downloadsystemic-master.tar.gz
systemic-master.tar.bz2
systemic-master.zip
First commitHEADmaster
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs52
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);
+ }
+}