Browse Source

re-add orbital elements to gooey

main
cinnaboot 4 years ago
parent
commit
d5a789bec2
  1. 27
      src/gooey.cpp

27
src/gooey.cpp

@ -79,7 +79,7 @@ gooDraw(SDL_Window* window, GameState* gs)
// FIXME: slit up orbit window into function calls here // FIXME: slit up orbit window into function calls here
drawOrbitWindow(gs); drawOrbitWindow(gs);
BeginChild("impulsive maneuver", ImVec2(G_WIDTH - 20, 300), true); BeginChild("impulsive maneuver", ImVec2(G_WIDTH - 20, 150), true);
drawManeuverWindow(gs); drawManeuverWindow(gs);
EndChild(); EndChild();
#if 0 #if 0
@ -141,7 +141,7 @@ void drawOrbitWindow(GameState* gs)
&& gs->orbits[selected].in_use) && gs->orbits[selected].in_use)
{ {
TwoBodySystem& sys = gs->orbits[selected].system; TwoBodySystem& sys = gs->orbits[selected].system;
BeginChild("orbit details", ImVec2(G_WIDTH - 20, 400), true); BeginChild("orbit details", ImVec2(G_WIDTH - 20, 500), true);
Text("Selected Orbit#: %d", selected); Text("Selected Orbit#: %d", selected);
//Text("Orbital Period: %.2fs", sys.orbital_period); //Text("Orbital Period: %.2fs", sys.orbital_period);
drawSystemWindow(sys); drawSystemWindow(sys);
@ -149,6 +149,8 @@ void drawOrbitWindow(GameState* gs)
drawGravitationalBody(sys.body); drawGravitationalBody(sys.body);
Separator(); Separator();
drawSatelliteWindow(sys.sat); drawSatelliteWindow(sys.sat);
Separator();
drawOrbitalElements(sys.elements);
EndChild(); EndChild();
} }
@ -174,14 +176,15 @@ void drawGravitationalBody(GravBody& body)
void drawOrbitalElements(OrbitalElements& el) void drawOrbitalElements(OrbitalElements& el)
{ {
if (CollapsingHeader("Orbital Elements", H_FLAGS)) { Text("Orbital Elements:");
Indent();
Text("semi_major axis, a: %f km", el.a); Text("semi_major axis, a: %f km", el.a);
Text("eccentricity, e: %f", el.e); Text("eccentricity, e: %f", el.e);
Text("iota, inclination: %f", el.iota); Text("iota, inclination: %f", el.iota);
Text("ohm, longitude ascending node: %f", el.ohm); Text("ohm, longitude ascending node: %f", el.ohm);
Text("omega, argument of periapsis: %f", el.omega); Text("omega, argument of periapsis: %f", el.omega);
Text("nu, true anomaly at T0: %f", el.nu); Text("nu, true anomaly at T0: %f", el.nu);
} Unindent();
} }
void void
@ -189,16 +192,16 @@ drawSatelliteWindow(Satellite& sat)
{ {
Text("Satellite Parameters:"); Text("Satellite Parameters:");
Indent(); Indent();
Text("theta, true anomaly: %f", sat.theta); Text("theta, true anomaly: %f", sat.theta);
Text("r, radial distance: %f km", sat.r); Text("r, radial distance: %f km", sat.r);
Text("position:"); Text("position:");
Indent(); Indent();
Text("x: %f km", sat.position.x); Text("x: %f km", sat.position.x);
Text("y: %f km", sat.position.y); Text("y: %f km", sat.position.y);
Text("z: %f km", sat.position.z); Text("z: %f km", sat.position.z);
Unindent(); Unindent();
Text("velocity, km/s: %f", sat.v); Text("velocity, km/s: %f", sat.v);
Text("flight path angle: %f", sat.gamma); Text("flight path angle: %f", sat.gamma);
Unindent(); Unindent();
} }

Loading…
Cancel
Save