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("<