From dfe7e411d9359d44bfc3762af965d9f4129649ba Mon Sep 17 00:00:00 2001 From: JoePfeiffer Date: Tue, 25 Sep 2018 08:39:55 -0600 Subject: [PATCH 1/2] Correct active stages after STAGE_SEPARATION event --- .../sf/openrocket/rocketcomponent/FlightConfiguration.java | 5 +++++ .../sf/openrocket/simulation/BasicEventSimulationEngine.java | 4 +++- core/src/net/sf/openrocket/simulation/SimulationStatus.java | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java index b1a394e31..9e10f7a0a 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java +++ b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java @@ -109,6 +109,11 @@ public class FlightConfiguration implements FlightConfigurableParameter> @ %g; from Branch: %s ---- Branching: %s ---- \n", currentStatus.getSimulationTime(), currentStatus.getFlightData().getBranchName(), boosterStatus.getFlightData().getBranchName())); + log.trace("new branch stages: " + boosterStatus.getConfiguration().toStageListDetail()); break; } diff --git a/core/src/net/sf/openrocket/simulation/SimulationStatus.java b/core/src/net/sf/openrocket/simulation/SimulationStatus.java index d8d48691b..9ea75832d 100644 --- a/core/src/net/sf/openrocket/simulation/SimulationStatus.java +++ b/core/src/net/sf/openrocket/simulation/SimulationStatus.java @@ -105,8 +105,6 @@ public class SimulationStatus implements Monitorable { double angle = -cond.getTheta() - (Math.PI / 2.0 - this.simulationConditions.getLaunchRodDirection()); o = Quaternion.rotation(new Coordinate(0, 0, angle)); - - // Launch rod angle and direction o = o.multiplyLeft(Quaternion.rotation(new Coordinate(0, this.simulationConditions.getLaunchRodAngle(), 0))); o = o.multiplyLeft(Quaternion.rotation(new Coordinate(0, 0, Math.PI / 2.0 - this.simulationConditions.getLaunchRodDirection()))); @@ -182,6 +180,8 @@ public class SimulationStatus implements Monitorable { this.apogeeReached = orig.apogeeReached; this.tumbling = orig.tumbling; + this.configuration.copyStages(orig.configuration); + this.deployedRecoveryDevices.clear(); this.deployedRecoveryDevices.addAll(orig.deployedRecoveryDevices); From 32cf8f177660cf9212afdf88118721951f9c50e5 Mon Sep 17 00:00:00 2001 From: JoePfeiffer Date: Tue, 25 Sep 2018 08:53:09 -0600 Subject: [PATCH 2/2] oops, didn't want to keep the extra debugging log entries --- .../sf/openrocket/simulation/BasicEventSimulationEngine.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java b/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java index 9d562ac3f..9144eb8c3 100644 --- a/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java +++ b/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java @@ -408,7 +408,6 @@ public class BasicEventSimulationEngine implements SimulationEngine { // Mark the status as having dropped the booster currentStatus.getConfiguration().clearStage( stageNumber); - log.trace("current branch stages: " + currentStatus.getConfiguration().toStageListDetail()); // Prepare the simulation branch SimulationStatus boosterStatus = new SimulationStatus(currentStatus); @@ -419,7 +418,6 @@ public class BasicEventSimulationEngine implements SimulationEngine { log.info(String.format("==>> @ %g; from Branch: %s ---- Branching: %s ---- \n", currentStatus.getSimulationTime(), currentStatus.getFlightData().getBranchName(), boosterStatus.getFlightData().getBranchName())); - log.trace("new branch stages: " + boosterStatus.getConfiguration().toStageListDetail()); break; }