From c9041e2e6fe59d6127bb1085b874e8e3cda8000e Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Thu, 7 May 2026 10:12:11 -0400 Subject: more intense position-relative rendering to fix some precision problems --- src/ui/bodies_window.rs | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) (limited to 'src/ui/bodies_window.rs') 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| { -- cgit v1.2.3