blob: 94b0930b37080cdf12bf37c9311c445233e9dbba (
plain) (
tree)
|
|
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);
}
}
|