From a75b1816a40ac55cb84ef122ab0c56e96505a38e Mon Sep 17 00:00:00 2001 From: Daniel_M_Williams Date: Tue, 16 Feb 2016 21:30:28 -0500 Subject: [PATCH] [Bugfix] Fixed Motor Ignition Default Loading - added MotorConfiguration constructor which takes a template -- this allows copy-constructing from the default -- removed 'name' field: instead, call 'to?Description()' - condensed & refactored a few debug methods. --- .../openrocket/importt/MotorMountHandler.java | 3 +- .../openrocket/motor/MotorConfiguration.java | 62 ++++++++++++++----- .../motor/MotorConfigurationSet.java | 23 ++----- .../rocketcomponent/FlightConfiguration.java | 24 ++----- .../rocketcomponent/MotorMount.java | 2 +- .../rocketcomponent/RocketComponent.java | 4 ++ .../simulation/MotorClusterState.java | 2 +- 7 files changed, 64 insertions(+), 56 deletions(-) diff --git a/core/src/net/sf/openrocket/file/openrocket/importt/MotorMountHandler.java b/core/src/net/sf/openrocket/file/openrocket/importt/MotorMountHandler.java index 67383b299..93b51fd08 100644 --- a/core/src/net/sf/openrocket/file/openrocket/importt/MotorMountHandler.java +++ b/core/src/net/sf/openrocket/file/openrocket/importt/MotorMountHandler.java @@ -64,14 +64,13 @@ class MotorMountHandler extends AbstractElementHandler { // System.err.println("closing MotorMount element: "+ element); if (element.equals("motor")) { - // yes, this is confirmed to be the FLIGHT config id == motor instance id. FlightConfigurationId fcid = new FlightConfigurationId(attributes.get("configid")); if (!fcid.isValid()) { warnings.add(Warning.fromString("Illegal motor specification, ignoring.")); return; } Motor motor = motorHandler.getMotor(warnings); - MotorConfiguration motorConfig = new MotorConfiguration( mount, fcid); + MotorConfiguration motorConfig = new MotorConfiguration( mount, fcid, mount.getDefaultMotorConfig()); motorConfig.setMotor(motor); motorConfig.setEjectionDelay(motorHandler.getDelay(warnings)); diff --git a/core/src/net/sf/openrocket/motor/MotorConfiguration.java b/core/src/net/sf/openrocket/motor/MotorConfiguration.java index 8793d372d..5248caa93 100644 --- a/core/src/net/sf/openrocket/motor/MotorConfiguration.java +++ b/core/src/net/sf/openrocket/motor/MotorConfiguration.java @@ -14,7 +14,7 @@ import net.sf.openrocket.util.Inertia; */ public class MotorConfiguration implements FlightConfigurableParameter { - public static final String EMPTY_DESCRIPTION = "Empty Configuration".intern(); + public static final String EMPTY_DESCRIPTION = "Empty Motor Configuration".intern(); protected final MotorMount mount; protected final FlightConfigurationId fcid; @@ -44,18 +44,30 @@ public class MotorConfiguration implements FlightConfigurableParameter"; }else{ return this.motor.getDesignation() + "-" + (int)this.getEjectionDelay(); } @@ -67,7 +79,6 @@ public class MotorConfiguration implements FlightConfigurableParameter> in: %28s::%10s %8s ign@: %12s ", + mount.getDebugName(), + fcid.toShortKey(), + toMotorDescription(), + toIgnitionDescription() )); + + return buf.toString(); } diff --git a/core/src/net/sf/openrocket/motor/MotorConfigurationSet.java b/core/src/net/sf/openrocket/motor/MotorConfigurationSet.java index bb18f8165..16bf1cf2e 100644 --- a/core/src/net/sf/openrocket/motor/MotorConfigurationSet.java +++ b/core/src/net/sf/openrocket/motor/MotorConfigurationSet.java @@ -36,27 +36,16 @@ public class MotorConfigurationSet extends FlightConfigurableParameterSet> [%10s]= %6s @ %4s\n", - shortKey, designation, ignition )); } return buffer.toString(); } diff --git a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java index 0beb16675..0d2328691 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java +++ b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java @@ -316,7 +316,7 @@ public class FlightConfiguration implements FlightConfigurableParameter