From 9d24cecbef4c2b13fd938d4ca323d4e3db39a915 Mon Sep 17 00:00:00 2001 From: JoePfeiffer Date: Tue, 15 Nov 2022 09:46:05 -0700 Subject: [PATCH] Move recovery device check to simulation startup. It doesn't need to be checked on every iteration. --- .../simulation/BasicEventSimulationEngine.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java b/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java index 339c0704b..38e5c487b 100644 --- a/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java +++ b/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java @@ -73,6 +73,14 @@ public class BasicEventSimulationEngine implements SimulationEngine { } currentStatus = new SimulationStatus(simulationConfig, simulationConditions); + + // Sanity checks on design and configuration + + // No recovery device + if (!currentStatus.getConfiguration().hasRecoveryDevice()) { + currentStatus.getWarnings().add(Warning.NO_RECOVERY_DEVICE); + } + currentStatus.getEventQueue().add(new FlightEvent(FlightEvent.Type.LAUNCH, 0, simulationConditions.getRocket())); { // main simulation branch @@ -341,11 +349,6 @@ public class BasicEventSimulationEngine implements SimulationEngine { event.getTime() + Math.max(0.001, deployConfig.getDeployDelay()), c)); } } - - // Add a warning if there is no recovery device defined. - if (!currentStatus.getConfiguration().hasRecoveryDevice()) { - currentStatus.getWarnings().add(Warning.NO_RECOVERY_DEVICE); - } // Handle event log.trace("Handling event " + event);