Browse Source

remove validation in main::postFrameCallback

main
cinnaboot 5 years ago
parent
commit
f3413ef978
  1. 45
      src/main.cpp

45
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

Loading…
Cancel
Save