From f3413ef978e55f2f641f549e7d7193b9d24cf4e7 Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Sun, 20 Jun 2021 11:58:46 -0400 Subject: [PATCH] remove validation in main::postFrameCallback --- src/main.cpp | 45 --------------------------------------------- 1 file changed, 45 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 0b734f6..e618bea 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -85,7 +85,6 @@ updateSatellitePosition(entity& sat) void updateOrbit(system_2body sys, entity& ellipse_entity) { - //sys.ep = ellipseInitAE(sys.ep.a, sys.ep.e); ellipse3DUpdate(sys.ep, sys.e3d); for (uint i = 0; i < sys.e3d.vert_count; i++) @@ -114,55 +113,11 @@ preFrameCallback(render_state* rs) void postFrameCallback(render_state* rs) { - //bool update_if_paused = false; - //static orbital_elements c_orb = {}; - //c_orb = g_orbit; gooDraw(rs->handles->window, g_sys); g_sys.ep = ellipseInitAE(g_sys.ep.a, g_sys.ep.e); entity& ellipse_entity = rs->render_groups[0].entities[0]; updateOrbit(g_sys, ellipse_entity); updateSatellitePosition(rs->render_groups[0].entities[2]); - -#if 0 - if (c_orb.nu != g_orbit.nu && - ((c_orb.nu >= 0 && c_orb.nu <= M_PI) || - (c_orb.nu < 0 && c_orb.nu >= -1 * M_PI))) - { - g_orbit.nu = c_orb.nu; - update_if_paused = true; - } - - // TODO: will need more validation from GUI as added - // TODO: might be easier to preset valid ranges in gooey code see: - // https://github.com/ocornut/imgui/blob/master/imgui.h#L810 - // ^ description of IsItemDeactivatedAfterEdit(); - if (!ellipsesEqual(c_orb.ep, g_orbit.ep)) { - // NOTE: handle the case where semimajor axis lowered with low - // eccentricity would fail validation - if (c_orb.ep.a < g_orbit.ep.a - && c_orb.ep.a > 0 - && c_orb.ep.e == g_orbit.ep.e) - { - c_orb.ep.b = c_orb.ep.a * sqrt(1 - pow(c_orb.ep.e, 2.0)); - } - - if (ellipseValidate(c_orb.ep)) { - c_orb.ep = ellipseInitAE(c_orb.ep.a, c_orb.ep.e); - g_orbit.ep = c_orb.ep; - entity& ellipse_entity = rs->render_groups[0].entities[0]; - updateOrbit(g_sys, ellipse_entity); - - // TODO: would be nice to have an interface for - // updating/constructing an orbit - g_orbit.epsilon = orbitGetSpecificEnergy(g_orbit.ep.a, g_orbit.mu); - g_orbit.h = orbitGetAngularMomentum(g_orbit.ep.p, g_orbit.mu); - update_if_paused = true; - } - } - - if (g_sys.time_step == 0 && update_if_paused) - updateSatellitePosition(rs->render_groups[0].entities[2]); -#endif } int