diff options
| author | Jon Santmyer <jon@jonsantmyer.com> | 2026-05-07 10:12:11 -0400 |
|---|---|---|
| committer | Jon Santmyer <jon@jonsantmyer.com> | 2026-05-07 10:12:11 -0400 |
| commit | c9041e2e6fe59d6127bb1085b874e8e3cda8000e (patch) | |
| tree | c339cf86b88743b1c74707f6d714b1a0950c43ff /src/ui/bodies_window.rs | |
| parent | c1adf64c1aaecd5a2b9d532d707ef35971f1aa18 (diff) | |
| download | systemic4x-c9041e2e6fe59d6127bb1085b874e8e3cda8000e.tar.gz systemic4x-c9041e2e6fe59d6127bb1085b874e8e3cda8000e.tar.bz2 systemic4x-c9041e2e6fe59d6127bb1085b874e8e3cda8000e.zip | |
more intense position-relative rendering to fix some precision problems
Diffstat (limited to 'src/ui/bodies_window.rs')
| -rw-r--r-- | src/ui/bodies_window.rs | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/src/ui/bodies_window.rs b/src/ui/bodies_window.rs index 6300f5f..ece605b 100644 --- a/src/ui/bodies_window.rs +++ b/src/ui/bodies_window.rs @@ -4,6 +4,7 @@ use crate::eguictx::EguiCtx; use crate::ntree::{NTree, NTreeNode}; use crate::solar_system::body::{BodyId, OrbitalBody}; use crate::solar_system::{SolarSystem, SystemId}; +use crate::timeman::TimeMan; #[derive(Default, Clone)] @@ -159,13 +160,39 @@ impl BodiesWindowState }; ui.separator(); - egui::Frame::canvas(ui.style()) - .show(ui, |ui| { - ui.set_width(200.0); - ui.vertical_centered(|ui| { - ui.label( - egui::RichText::new(selected_body.name()) - .heading()); + ui.vertical(|ui| { + egui::Frame::canvas(ui.style()) + .show(ui, |ui| { + ui.set_width(200.0); + ui.vertical_centered(|ui| { + ui.label( + egui::RichText::new(selected_body.name()) + .heading()); + ui.separator(); + }); + + ui.vertical(|ui| { + ui.vertical_centered(|ui| { + ui.label("Physical Properties"); + }); + ui.label(format!("Mass: {:.4E} kg", selected_body.mass())); + ui.label(format!("Radius: {} km", selected_body.radius())); + + if let Some(orbit) = selected_body.get_orbit() { + ui.vertical_centered(|ui| { + ui.label("Orbital Properties"); + }); + ui.label(format!("Orbiting {}", + star_system.body(orbit.parent()).name() + )); + ui.label(format!("Period: {}", + TimeMan::format_duration(orbit.period(selected_body)) + )); + ui.label(format!("Semi-major Axis: {:.4E} km", + orbit.sma() + )); + } + }); }); ui.horizontal(|ui| { |
