From 51af9563306f87e41366520ca7f7a3a0b3865894 Mon Sep 17 00:00:00 2001 From: JoePfeiffer Date: Sat, 20 Apr 2024 08:14:47 -0600 Subject: [PATCH] Add data branch to flight data before branch is simulated, not after. simulateLoop() no longer returns a FlightDataBranch; it just adds to the FlightDataBranch it is simulating --- .../simulation/BasicEventSimulationEngine.java | 16 ++++++++-------- .../openrocket/core/simulation/FlightData.java | 2 -- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/core/src/main/java/info/openrocket/core/simulation/BasicEventSimulationEngine.java b/core/src/main/java/info/openrocket/core/simulation/BasicEventSimulationEngine.java index c896b06fa..54796229f 100644 --- a/core/src/main/java/info/openrocket/core/simulation/BasicEventSimulationEngine.java +++ b/core/src/main/java/info/openrocket/core/simulation/BasicEventSimulationEngine.java @@ -83,13 +83,13 @@ public class BasicEventSimulationEngine implements SimulationEngine { branchName = trans.get("BasicEventSimulationEngine.nullBranchName"); } FlightDataBranch initialBranch = new FlightDataBranch( branchName, FlightDataType.TYPE_TIME); - + // put a point on it so we can plot if we get an early abort event initialBranch.addPoint(); initialBranch.setValue(FlightDataType.TYPE_TIME, 0.0); initialBranch.setValue(FlightDataType.TYPE_ALTITUDE, 0.0); - currentStatus.setFlightDataBranch(initialBranch); + currentStatus.setFlightDataBranch(initialBranch); // Sanity checks on design and configuration @@ -121,10 +121,12 @@ public class BasicEventSimulationEngine implements SimulationEngine { break; } currentStatus = toSimulate.pop(); + FlightDataBranch dataBranch = currentStatus.getFlightDataBranch(); + flightData.addBranch(dataBranch); log.info(">>Starting simulation of branch: " + currentStatus.getFlightDataBranch().getName()); - FlightDataBranch dataBranch = simulateLoop(); - flightData.addBranch(dataBranch); + simulateLoop(); + dataBranch.immute(); flightData.getWarningSet().addAll(currentStatus.getWarnings()); log.info(String.format("<