diff --git a/core/src/net/sf/openrocket/document/Simulation.java b/core/src/net/sf/openrocket/document/Simulation.java index f2f0780d5..7437c67ba 100644 --- a/core/src/net/sf/openrocket/document/Simulation.java +++ b/core/src/net/sf/openrocket/document/Simulation.java @@ -13,7 +13,7 @@ import net.sf.openrocket.aerodynamics.BarrowmanCalculator; import net.sf.openrocket.aerodynamics.WarningSet; import net.sf.openrocket.formatting.RocketDescriptor; import net.sf.openrocket.masscalc.MassCalculator; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; import net.sf.openrocket.rocketcomponent.Rocket; diff --git a/core/src/net/sf/openrocket/file/openrocket/importt/MotorConfigurationHandler.java b/core/src/net/sf/openrocket/file/openrocket/importt/MotorConfigurationHandler.java index b4f0dbd82..34ef25d11 100644 --- a/core/src/net/sf/openrocket/file/openrocket/importt/MotorConfigurationHandler.java +++ b/core/src/net/sf/openrocket/file/openrocket/importt/MotorConfigurationHandler.java @@ -12,7 +12,7 @@ import net.sf.openrocket.file.simplesax.ElementHandler; import net.sf.openrocket.file.simplesax.PlainTextHandler; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; -import net.sf.openrocket.rocketcomponent.ParameterSet; +import net.sf.openrocket.rocketcomponent.FlightConfigurableParameterSet; import net.sf.openrocket.rocketcomponent.Rocket; class MotorConfigurationHandler extends AbstractElementHandler { @@ -64,7 +64,7 @@ class MotorConfigurationHandler extends AbstractElementHandler { if ("true".equals(attributes.remove("default"))) { // associate this configuration with both this FCID and the default. - ParameterSet fcs = rocket.getConfigSet(); + FlightConfigurableParameterSet fcs = rocket.getConfigSet(); FlightConfiguration fc = fcs.get(fcid); fcs.setDefault(fc); } 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 ef5153093..f5819373e 100644 --- a/core/src/net/sf/openrocket/file/openrocket/importt/MotorMountHandler.java +++ b/core/src/net/sf/openrocket/file/openrocket/importt/MotorMountHandler.java @@ -11,7 +11,7 @@ import net.sf.openrocket.file.simplesax.AbstractElementHandler; import net.sf.openrocket.file.simplesax.ElementHandler; import net.sf.openrocket.file.simplesax.PlainTextHandler; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.MotorInstanceId; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; import net.sf.openrocket.rocketcomponent.IgnitionEvent; @@ -73,7 +73,7 @@ class MotorMountHandler extends AbstractElementHandler { } Motor motor = motorHandler.getMotor(warnings); - MotorInstance motorInstance = new MotorInstance(); + MotorConfiguration motorInstance = new MotorConfiguration(); motorInstance.setMotor(motor); RocketComponent mountComponent = (RocketComponent)mount; motorInstance.setMount(mount); @@ -95,7 +95,7 @@ class MotorMountHandler extends AbstractElementHandler { return; } - MotorInstance inst = mount.getMotorInstance(fcid); + MotorConfiguration inst = mount.getMotorInstance(fcid); inst.setIgnitionDelay(ignitionConfigHandler.ignitionDelay); inst.setIgnitionEvent(ignitionConfigHandler.ignitionEvent); return; diff --git a/core/src/net/sf/openrocket/file/openrocket/savers/RecoveryDeviceSaver.java b/core/src/net/sf/openrocket/file/openrocket/savers/RecoveryDeviceSaver.java index d13db610f..6acbb9a0f 100644 --- a/core/src/net/sf/openrocket/file/openrocket/savers/RecoveryDeviceSaver.java +++ b/core/src/net/sf/openrocket/file/openrocket/savers/RecoveryDeviceSaver.java @@ -7,7 +7,7 @@ import java.util.Locale; import net.sf.openrocket.rocketcomponent.DeploymentConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; -import net.sf.openrocket.rocketcomponent.ParameterSet; +import net.sf.openrocket.rocketcomponent.FlightConfigurableParameterSet; import net.sf.openrocket.rocketcomponent.RecoveryDevice; import net.sf.openrocket.rocketcomponent.Rocket; @@ -37,7 +37,7 @@ public class RecoveryDeviceSaver extends MassObjectSaver { //dev.getDeploymentConfigurations().printDebug(); // DEBUG - ParameterSet configList = rocket.getConfigSet(); + FlightConfigurableParameterSet configList = rocket.getConfigSet(); for (FlightConfigurationID fcid : configList.getSortedConfigurationIDs()) { //System.err.println("checking FlightConfiguration:"+fcid.getShortKey()+ " save?"); diff --git a/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java b/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java index 98797f1ee..5c38fe41f 100644 --- a/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java +++ b/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java @@ -11,7 +11,7 @@ import net.sf.openrocket.appearance.Decal.EdgeMode; import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.material.Material; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.ThrustCurveMotor; import net.sf.openrocket.preset.ComponentPreset; import net.sf.openrocket.rocketcomponent.Clusterable; @@ -179,7 +179,7 @@ public class RocketComponentSaver { List elements = new ArrayList(); - MotorInstance defaultInstance = mount.getDefaultMotorInstance(); + MotorConfiguration defaultInstance = mount.getDefaultMotorInstance(); elements.add(""); @@ -192,7 +192,7 @@ public class RocketComponentSaver { for( FlightConfigurationID fcid : rkt.getSortedConfigurationIDs()){ - MotorInstance motorInstance = mount.getMotorInstance(fcid); + MotorConfiguration motorInstance = mount.getMotorInstance(fcid); // Nothing is stored if no motor loaded if( motorInstance.isEmpty()){ continue; diff --git a/core/src/net/sf/openrocket/file/openrocket/savers/RocketSaver.java b/core/src/net/sf/openrocket/file/openrocket/savers/RocketSaver.java index 6c3883b7e..b565a9083 100644 --- a/core/src/net/sf/openrocket/file/openrocket/savers/RocketSaver.java +++ b/core/src/net/sf/openrocket/file/openrocket/savers/RocketSaver.java @@ -6,7 +6,7 @@ import java.util.Locale; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; -import net.sf.openrocket.rocketcomponent.ParameterSet; +import net.sf.openrocket.rocketcomponent.FlightConfigurableParameterSet; import net.sf.openrocket.rocketcomponent.ReferenceType; import net.sf.openrocket.rocketcomponent.Rocket; @@ -43,7 +43,7 @@ public class RocketSaver extends RocketComponentSaver { // Motor configurations - ParameterSet allConfigs = rocket.getConfigSet(); + FlightConfigurableParameterSet allConfigs = rocket.getConfigSet(); for (FlightConfigurationID fcid : allConfigs.getSortedConfigurationIDs()) { FlightConfiguration flightConfig = allConfigs.get(fcid); if (fcid == null) diff --git a/core/src/net/sf/openrocket/formatting/MotorDescriptionSubstitutor.java b/core/src/net/sf/openrocket/formatting/MotorDescriptionSubstitutor.java index 055759893..d986dbd09 100644 --- a/core/src/net/sf/openrocket/formatting/MotorDescriptionSubstitutor.java +++ b/core/src/net/sf/openrocket/formatting/MotorDescriptionSubstitutor.java @@ -10,7 +10,7 @@ import com.google.inject.Inject; import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.plugin.Plugin; import net.sf.openrocket.rocketcomponent.AxialStage; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; @@ -69,7 +69,7 @@ public class MotorDescriptionSubstitutor implements RocketSubstitutor { } else if (c instanceof MotorMount) { MotorMount mount = (MotorMount) c; - MotorInstance inst = mount.getMotorInstance(fcid); + MotorConfiguration inst = mount.getMotorInstance(fcid); Motor motor = inst.getMotor(); if (mount.isMotorMount() && motor != null) { diff --git a/core/src/net/sf/openrocket/masscalc/MassCalculator.java b/core/src/net/sf/openrocket/masscalc/MassCalculator.java index 4d806f7dc..f1ed4b5d4 100644 --- a/core/src/net/sf/openrocket/masscalc/MassCalculator.java +++ b/core/src/net/sf/openrocket/masscalc/MassCalculator.java @@ -7,7 +7,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.AxialStage; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.Instanceable; @@ -143,7 +143,7 @@ public class MassCalculator implements Monitorable { // ^^^^ DEVEL ^^^^ // int motorCount = 0; - for (MotorInstance inst : config.getActiveMotors() ) { + for (MotorConfiguration inst : config.getActiveMotors() ) { //ThrustCurveMotor motor = (ThrustCurveMotor) inst.getMotor(); Coordinate position = inst.getPosition(); @@ -254,7 +254,7 @@ public class MassCalculator implements Monitorable { //throw new BugException("getPropellantMass is not yet implemented.... "); // add up the masses of all motors in the rocket if ( MassCalcType.NO_MOTORS != calcType ){ - for (MotorInstance curInstance : configuration.getActiveMotors()) { + for (MotorConfiguration curInstance : configuration.getActiveMotors()) { mass = mass + curInstance.getPropellantMass(); mass = curInstance.getMotor().getLaunchCG().weight - curInstance.getMotor().getEmptyCG().weight; } diff --git a/core/src/net/sf/openrocket/motor/MotorInstance.java b/core/src/net/sf/openrocket/motor/MotorConfiguration.java similarity index 92% rename from core/src/net/sf/openrocket/motor/MotorInstance.java rename to core/src/net/sf/openrocket/motor/MotorConfiguration.java index 831c0b1ad..14780d09e 100644 --- a/core/src/net/sf/openrocket/motor/MotorInstance.java +++ b/core/src/net/sf/openrocket/motor/MotorConfiguration.java @@ -17,7 +17,7 @@ import net.sf.openrocket.util.StateChangeListener; * A single motor configuration. This includes the selected motor * and the ejection charge delay. */ -public class MotorInstance implements FlightConfigurableParameter { +public class MotorConfiguration implements FlightConfigurableParameter { protected MotorMount mount = null; protected Motor motor = null; @@ -34,12 +34,12 @@ public class MotorInstance implements FlightConfigurableParameter protected int modID = 0; private final List listeners = new ArrayList(); - public MotorInstance( Motor motor ) { + public MotorConfiguration( Motor motor ) { this(); this.motor = motor; } - public MotorInstance() { + public MotorConfiguration() { this.id = MotorInstanceId.EMPTY_ID; ejectionDelay = 0.0; ignitionEvent = IgnitionEvent.LAUNCH; @@ -55,7 +55,7 @@ public class MotorInstance implements FlightConfigurableParameter state.setIgnitionDelay( this.ignitionDelay ); state.setEjectionDelay( this.ejectionDelay ); } else { - MotorInstance defInstance = mount.getDefaultMotorInstance(); + MotorConfiguration defInstance = mount.getDefaultMotorInstance(); state.setIgnitionTime( defInstance.ignitionTime ); state.setIgnitionEvent( defInstance.ignitionEvent ); state.setIgnitionDelay( defInstance.ignitionDelay ); @@ -198,8 +198,8 @@ public class MotorInstance implements FlightConfigurableParameter public boolean equals( Object other ){ if( null == other ){ return false; - }else if( other instanceof MotorInstance ){ - MotorInstance omi = (MotorInstance)other; + }else if( other instanceof MotorConfiguration ){ + MotorConfiguration omi = (MotorConfiguration)other; if( this.id.equals( omi.id)){ return true; } @@ -217,8 +217,8 @@ public class MotorInstance implements FlightConfigurableParameter * identical to this instance and can be used independently from this one. */ @Override - public MotorInstance clone( ) { - MotorInstance clone = new MotorInstance(); + public MotorConfiguration clone( ) { + MotorConfiguration clone = new MotorConfiguration(); clone.motor = this.motor; clone.mount = this.mount; clone.ejectionDelay = this.ejectionDelay; diff --git a/core/src/net/sf/openrocket/motor/MotorSet.java b/core/src/net/sf/openrocket/motor/MotorConfigurationSet.java similarity index 76% rename from core/src/net/sf/openrocket/motor/MotorSet.java rename to core/src/net/sf/openrocket/motor/MotorConfigurationSet.java index 666fd4c22..8d912bd2c 100644 --- a/core/src/net/sf/openrocket/motor/MotorSet.java +++ b/core/src/net/sf/openrocket/motor/MotorConfigurationSet.java @@ -2,18 +2,18 @@ package net.sf.openrocket.motor; import net.sf.openrocket.rocketcomponent.ComponentChangeEvent; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; -import net.sf.openrocket.rocketcomponent.ParameterSet; +import net.sf.openrocket.rocketcomponent.FlightConfigurableParameterSet; import net.sf.openrocket.rocketcomponent.RocketComponent; /** * FlightConfigurationSet for motors. * This is used for motors, where the default value is always no motor. */ -public class MotorSet extends ParameterSet { +public class MotorConfigurationSet extends FlightConfigurableParameterSet { public static final int DEFAULT_MOTOR_EVENT_TYPE = ComponentChangeEvent.MOTOR_CHANGE | ComponentChangeEvent.EVENT_CHANGE; - public MotorSet(RocketComponent component ) { - super(component, DEFAULT_MOTOR_EVENT_TYPE, new MotorInstance()); + public MotorConfigurationSet(RocketComponent component ) { + super(component, DEFAULT_MOTOR_EVENT_TYPE, new MotorConfiguration()); } /** @@ -23,12 +23,12 @@ public class MotorSet extends ParameterSet { * @param component the rocket component on which events are fired when the parameter values are changed * @param eventType the event type that will be fired on changes */ - public MotorSet(ParameterSet flightConfiguration, RocketComponent component) { + public MotorConfigurationSet(FlightConfigurableParameterSet flightConfiguration, RocketComponent component) { super(flightConfiguration, component, DEFAULT_MOTOR_EVENT_TYPE); } @Override - public void setDefault( MotorInstance value) { + public void setDefault( MotorConfiguration value) { throw new UnsupportedOperationException("Cannot change default value of motor configuration"); } @@ -37,13 +37,13 @@ public class MotorSet extends ParameterSet { StringBuilder buffer = new StringBuilder(); buffer.append("====== Dumping MotorConfigurationSet for mount '"+this.component.toDebugName()+" ======\n"); buffer.append(" >> motorSet ("+this.size()+ " motors)\n"); - MotorInstance emptyInstance = this.getDefault(); + MotorConfiguration emptyInstance = this.getDefault(); buffer.append(" >> (["+emptyInstance.toString()+"]= @ "+ emptyInstance.getIgnitionEvent().name +" +"+emptyInstance.getIgnitionDelay()+"sec )\n"); for( FlightConfigurationID loopFCID : this.map.keySet()){ String shortKey = loopFCID.toShortKey(); - MotorInstance curInstance = this.map.get(loopFCID); + MotorConfiguration curInstance = this.map.get(loopFCID); String designation; if( null == curInstance.getMotor() ){ designation = "EMPTY_INSTANCE"; diff --git a/core/src/net/sf/openrocket/motor/ThrustCurveMotor.java b/core/src/net/sf/openrocket/motor/ThrustCurveMotor.java index 23bd0d17f..4ff00c7bf 100644 --- a/core/src/net/sf/openrocket/motor/ThrustCurveMotor.java +++ b/core/src/net/sf/openrocket/motor/ThrustCurveMotor.java @@ -250,8 +250,8 @@ public class ThrustCurveMotor implements Motor, Comparable, Se @Override - public ThrustCurveMotorInstance getNewInstance() { - return new ThrustCurveMotorInstance(this); + public ThrustCurveMotorState getNewInstance() { + return new ThrustCurveMotorState(this); } diff --git a/core/src/net/sf/openrocket/motor/ThrustCurveMotorInstance.java b/core/src/net/sf/openrocket/motor/ThrustCurveMotorState.java similarity index 96% rename from core/src/net/sf/openrocket/motor/ThrustCurveMotorInstance.java rename to core/src/net/sf/openrocket/motor/ThrustCurveMotorState.java index b59542894..a4f31f6a5 100644 --- a/core/src/net/sf/openrocket/motor/ThrustCurveMotorInstance.java +++ b/core/src/net/sf/openrocket/motor/ThrustCurveMotorState.java @@ -3,13 +3,12 @@ package net.sf.openrocket.motor; import net.sf.openrocket.models.atmosphere.AtmosphericConditions; import net.sf.openrocket.rocketcomponent.IgnitionEvent; import net.sf.openrocket.rocketcomponent.MotorMount; -import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.simulation.MotorState; import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.Inertia; import net.sf.openrocket.util.MathUtil; -public class ThrustCurveMotorInstance implements MotorState { +public class ThrustCurveMotorState implements MotorState { // private static final Logger log = LoggerFactory.getLogger(ThrustCurveMotorInstance.class); private int timeIndex = -1; @@ -47,7 +46,7 @@ public class ThrustCurveMotorInstance implements MotorState { // unitLongitudinalInertia = Double.NaN; // } - public ThrustCurveMotorInstance(final ThrustCurveMotor source) { + public ThrustCurveMotorState(final ThrustCurveMotor source) { //log.debug( Creating motor instance of " + ThrustCurveMotor.this); this.motor = source; this.reset(); diff --git a/core/src/net/sf/openrocket/rocketcomponent/AxialStage.java b/core/src/net/sf/openrocket/rocketcomponent/AxialStage.java index 4c677eb70..f1cb29db7 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/AxialStage.java +++ b/core/src/net/sf/openrocket/rocketcomponent/AxialStage.java @@ -12,12 +12,12 @@ public class AxialStage extends ComponentAssembly implements FlightConfigurableC private static final Translator trans = Application.getTranslator(); //private static final Logger log = LoggerFactory.getLogger(AxialStage.class); - protected ParameterSet separations; + protected FlightConfigurableParameterSet separations; protected int stageNumber; public AxialStage(){ - this.separations = new ParameterSet( + this.separations = new FlightConfigurableParameterSet( this, ComponentChangeEvent.EVENT_CHANGE, new StageSeparationConfiguration()); this.relativePosition = Position.AFTER; this.stageNumber = 0; @@ -34,7 +34,7 @@ public class AxialStage extends ComponentAssembly implements FlightConfigurableC return trans.get("Stage.Stage"); } - public ParameterSet getSeparationConfigurations() { + public FlightConfigurableParameterSet getSeparationConfigurations() { return separations; } @@ -80,7 +80,7 @@ public class AxialStage extends ComponentAssembly implements FlightConfigurableC @Override protected RocketComponent copyWithOriginalID() { AxialStage copy = (AxialStage) super.copyWithOriginalID(); - copy.separations = new ParameterSet(separations, + copy.separations = new FlightConfigurableParameterSet(separations, copy, ComponentChangeEvent.EVENT_CHANGE); return copy; } diff --git a/core/src/net/sf/openrocket/rocketcomponent/BodyTube.java b/core/src/net/sf/openrocket/rocketcomponent/BodyTube.java index 5a0811dc1..0553f6fba 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/BodyTube.java +++ b/core/src/net/sf/openrocket/rocketcomponent/BodyTube.java @@ -6,9 +6,9 @@ import java.util.Iterator; import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.MotorInstanceId; -import net.sf.openrocket.motor.MotorSet; +import net.sf.openrocket.motor.MotorConfigurationSet; import net.sf.openrocket.preset.ComponentPreset; import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.BugException; @@ -32,7 +32,7 @@ public class BodyTube extends SymmetricComponent implements MotorMount, Coaxial private double overhang = 0; private boolean isActingMount = false; - private MotorSet motors; + private MotorConfigurationSet motors; public BodyTube() { this(8 * DEFAULT_RADIUS, DEFAULT_RADIUS); @@ -44,7 +44,7 @@ public class BodyTube extends SymmetricComponent implements MotorMount, Coaxial super(); this.outerRadius = Math.max(radius, 0); this.length = Math.max(length, 0); - motors = new MotorSet(this); + motors = new MotorConfigurationSet(this); } public BodyTube(double length, double radius, boolean filled) { @@ -364,17 +364,17 @@ public class BodyTube extends SymmetricComponent implements MotorMount, Coaxial //////////////// Motor mount ///////////////// @Override - public MotorInstance getDefaultMotorInstance(){ + public MotorConfiguration getDefaultMotorInstance(){ return this.motors.getDefault(); } @Override - public MotorInstance getMotorInstance( final FlightConfigurationID fcid){ + public MotorConfiguration getMotorInstance( final FlightConfigurationID fcid){ return this.motors.get(fcid); } @Override - public void setMotorInstance(final FlightConfigurationID fcid, final MotorInstance newMotorInstance){ + public void setMotorInstance(final FlightConfigurationID fcid, final MotorConfiguration newMotorInstance){ if((null == newMotorInstance)){ this.motors.set( fcid, null); }else{ @@ -395,7 +395,7 @@ public class BodyTube extends SymmetricComponent implements MotorMount, Coaxial @Override - public Iterator getMotorIterator(){ + public Iterator getMotorIterator(){ return this.motors.iterator(); } @@ -468,7 +468,7 @@ public class BodyTube extends SymmetricComponent implements MotorMount, Coaxial protected RocketComponent copyWithOriginalID() { BodyTube copy = (BodyTube) super.copyWithOriginalID(); - copy.motors = new MotorSet( this.motors, copy ); + copy.motors = new MotorConfigurationSet( this.motors, copy ); return copy; } } diff --git a/core/src/net/sf/openrocket/rocketcomponent/ParameterSet.java b/core/src/net/sf/openrocket/rocketcomponent/FlightConfigurableParameterSet.java similarity index 94% rename from core/src/net/sf/openrocket/rocketcomponent/ParameterSet.java rename to core/src/net/sf/openrocket/rocketcomponent/FlightConfigurableParameterSet.java index 12c84dbdc..4b0217c58 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/ParameterSet.java +++ b/core/src/net/sf/openrocket/rocketcomponent/FlightConfigurableParameterSet.java @@ -7,9 +7,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map.Entry; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import net.sf.openrocket.util.ArrayList; import net.sf.openrocket.util.StateChangeListener; import net.sf.openrocket.util.Utils; @@ -20,7 +17,7 @@ import net.sf.openrocket.util.Utils; * * @param the parameter type */ -public class ParameterSet> implements FlightConfigurable { +public class FlightConfigurableParameterSet> implements FlightConfigurable { //private static final Logger log = LoggerFactory.getLogger(ParameterSet.class); protected final HashMap map = new HashMap(); @@ -38,7 +35,7 @@ public class ParameterSet> implements F * @param component the rocket component on which events are fired when the parameter values are changed * @param eventType the event type that will be fired on changes */ - public ParameterSet(RocketComponent component, int eventType, E _defaultValue) { + public FlightConfigurableParameterSet(RocketComponent component, int eventType, E _defaultValue) { this.component = component; this.eventType = eventType; @@ -54,7 +51,7 @@ public class ParameterSet> implements F * @param component the rocket component on which events are fired when the parameter values are changed * @param eventType the event type that will be fired on changes */ - public ParameterSet(ParameterSet configSet, RocketComponent component, int eventType) { + public FlightConfigurableParameterSet(FlightConfigurableParameterSet configSet, RocketComponent component, int eventType) { this.component = component; this.eventType = eventType; diff --git a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java index b61a7ed29..79d40b4d8 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java +++ b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java @@ -6,15 +6,13 @@ import java.util.EventListener; import java.util.EventObject; import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.Queue; import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.MotorInstanceId; import net.sf.openrocket.util.ArrayList; import net.sf.openrocket.util.ChangeSource; @@ -70,7 +68,7 @@ public class FlightConfiguration implements FlightConfigurableParameter stages = new HashMap(); - protected final HashMap motors = new HashMap(); + protected final HashMap motors = new HashMap(); private int boundsModID = -1; private ArrayList cachedBounds = new ArrayList(); @@ -364,7 +362,7 @@ public class FlightConfiguration implements FlightConfigurableParameter getAllMotors() { + public Collection getAllMotors() { return motors.values(); } @@ -463,7 +461,7 @@ public class FlightConfiguration implements FlightConfigurableParameter getActiveMotors() { - List activeList = new ArrayList(); - for( MotorInstance inst : this.motors.values() ){ + public Collection getActiveMotors() { + List activeList = new ArrayList(); + for( MotorConfiguration inst : this.motors.values() ){ if( inst.isActive() ){ activeList.add( inst ); } @@ -488,7 +486,7 @@ public class FlightConfiguration implements FlightConfigurableParameter the parameter type */ -public class FlightConfigurationSet extends ParameterSet { +public class FlightConfigurationSet extends FlightConfigurableParameterSet { /** * Construct a FlightConfiguration that has no overrides. diff --git a/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java b/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java index 36af5d3e9..4766473ae 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java +++ b/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java @@ -9,9 +9,9 @@ import org.slf4j.LoggerFactory; import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.MotorInstanceId; -import net.sf.openrocket.motor.MotorSet; +import net.sf.openrocket.motor.MotorConfigurationSet; import net.sf.openrocket.preset.ComponentPreset; import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.BugException; @@ -35,7 +35,7 @@ public class InnerTube extends ThicknessRingComponent implements Clusterable, Ra private double overhang = 0; private boolean isActingMount; - private MotorSet motors; + private MotorConfigurationSet motors; /** * Main constructor. @@ -46,7 +46,7 @@ public class InnerTube extends ThicknessRingComponent implements Clusterable, Ra this.setInnerRadius(0.018 / 2); this.setLength(0.070); - motors = new MotorSet(this); + motors = new MotorConfigurationSet(this); } @@ -272,17 +272,17 @@ public class InnerTube extends ThicknessRingComponent implements Clusterable, Ra //////////////// Motor mount ///////////////// @Override - public MotorInstance getDefaultMotorInstance(){ + public MotorConfiguration getDefaultMotorInstance(){ return this.motors.getDefault(); } @Override - public MotorInstance getMotorInstance( final FlightConfigurationID fcid){ + public MotorConfiguration getMotorInstance( final FlightConfigurationID fcid){ return this.motors.get(fcid); } @Override - public void setMotorInstance(final FlightConfigurationID fcid, final MotorInstance newMotorInstance){ + public void setMotorInstance(final FlightConfigurationID fcid, final MotorConfiguration newMotorInstance){ if((null == newMotorInstance)){ this.motors.set( fcid, null); }else{ @@ -302,7 +302,7 @@ public class InnerTube extends ThicknessRingComponent implements Clusterable, Ra } @Override - public Iterator getMotorIterator(){ + public Iterator getMotorIterator(){ return this.motors.iterator(); } @@ -374,7 +374,7 @@ public class InnerTube extends ThicknessRingComponent implements Clusterable, Ra new IllegalArgumentException(" copyWithOriginalID should produce different motorSet instances! "); } - copy.motors = new MotorSet( this.motors, copy ); + copy.motors = new MotorConfigurationSet( this.motors, copy ); return copy; } @@ -414,7 +414,7 @@ public class InnerTube extends ThicknessRingComponent implements Clusterable, Ra Coordinate[] absCoords = this.getLocations(); FlightConfigurationID curId = this.getRocket().getDefaultConfiguration().getFlightConfigurationID(); final int intanceCount = this.getInstanceCount(); - MotorInstance curInstance = this.motors.get(curId); + MotorConfiguration curInstance = this.motors.get(curId); if( curInstance.isEmpty() ){ // print just the tube locations buffer.append(prefix+" [X] This Instance doesn't have any motors... showing mount tubes only\n"); diff --git a/core/src/net/sf/openrocket/rocketcomponent/MotorConfiguration.java b/core/src/net/sf/openrocket/rocketcomponent/MotorConfiguration.java deleted file mode 100644 index f115c9af9..000000000 --- a/core/src/net/sf/openrocket/rocketcomponent/MotorConfiguration.java +++ /dev/null @@ -1,72 +0,0 @@ -package net.sf.openrocket.rocketcomponent; - -import java.util.EventObject; -import java.util.List; - -import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.util.ArrayList; -import net.sf.openrocket.util.Coordinate; -import net.sf.openrocket.util.StateChangeListener; - -public class MotorConfiguration implements FlightConfigurableParameter { - - protected Coordinate position = Coordinate.ZERO; - protected double ejectionDelay = 0.0; - protected Motor motor = null; - - private final List listeners = new ArrayList(); - - public Coordinate getPosition() { - return position; - } - - public void setPosition(Coordinate position) { - this.position = position; - fireChangeEvent(); - } - - public double getEjectionDelay() { - return ejectionDelay; - } - - public void setEjectionDelay(double ejectionDelay) { - this.ejectionDelay = ejectionDelay; - fireChangeEvent(); - } - - public Motor getMotor() { - return motor; - } - - public void setMotor(Motor motor) { - this.motor = motor; - fireChangeEvent(); - } - - @Override - public MotorConfiguration clone() { - MotorConfiguration clone = new MotorConfiguration(); - clone.position = this.position; - clone.ejectionDelay = this.ejectionDelay; - return clone; - } - - @Override - public void addChangeListener(StateChangeListener listener) { - listeners.add(listener); - } - - @Override - public void removeChangeListener(StateChangeListener listener) { - listeners.remove(listener); - } - - private void fireChangeEvent() { - EventObject event = new EventObject(this); - Object[] list = listeners.toArray(); - for (Object l : list) { - ((StateChangeListener) l).stateChanged(event); - } - } - -} diff --git a/core/src/net/sf/openrocket/rocketcomponent/MotorMount.java b/core/src/net/sf/openrocket/rocketcomponent/MotorMount.java index 47f247612..9fe322552 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/MotorMount.java +++ b/core/src/net/sf/openrocket/rocketcomponent/MotorMount.java @@ -2,7 +2,7 @@ package net.sf.openrocket.rocketcomponent; import java.util.Iterator; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.util.ChangeSource; import net.sf.openrocket.util.Coordinate; @@ -38,14 +38,14 @@ public interface MotorMount extends ChangeSource, FlightConfigurableComponent { * * @return an iterator to all motors configured for this component */ - public Iterator getMotorIterator(); + public Iterator getMotorIterator(); /** * Returns the Default Motor Instance for this mount. * * @return The default MotorInstance */ - public MotorInstance getDefaultMotorInstance(); + public MotorConfiguration getDefaultMotorInstance(); /** * Default implementatino supplied by RocketComponent (returns 1); @@ -59,14 +59,14 @@ public interface MotorMount extends ChangeSource, FlightConfigurableComponent { * @param fcid id for which to return the motor (null retrieves the default) * @return requested motorInstance (which may also be the default motor instance) */ - public MotorInstance getMotorInstance( final FlightConfigurationID fcid); + public MotorConfiguration getMotorInstance( final FlightConfigurationID fcid); /** * * @param fcid index the supplied motor against this flight configuration * @param newMotorInstance motor instance to store */ - public void setMotorInstance(final FlightConfigurationID fcid, final MotorInstance newMotorInstance); + public void setMotorInstance(final FlightConfigurationID fcid, final MotorConfiguration newMotorInstance); /** * Get the number of motors available for all flight configurations diff --git a/core/src/net/sf/openrocket/rocketcomponent/RecoveryDevice.java b/core/src/net/sf/openrocket/rocketcomponent/RecoveryDevice.java index 441e27a4f..3c67d4908 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/RecoveryDevice.java +++ b/core/src/net/sf/openrocket/rocketcomponent/RecoveryDevice.java @@ -25,10 +25,10 @@ public abstract class RecoveryDevice extends MassObject implements FlightConfigu private Material.Surface material; - private ParameterSet deploymentConfigurations; + private FlightConfigurableParameterSet deploymentConfigurations; public RecoveryDevice() { - this.deploymentConfigurations = new ParameterSet(this, ComponentChangeEvent.EVENT_CHANGE, new DeploymentConfiguration()); + this.deploymentConfigurations = new FlightConfigurableParameterSet(this, ComponentChangeEvent.EVENT_CHANGE, new DeploymentConfiguration()); setMaterial(Application.getPreferences().getDefaultComponentMaterial(RecoveryDevice.class, Material.Type.SURFACE)); } @@ -85,7 +85,7 @@ public abstract class RecoveryDevice extends MassObject implements FlightConfigu fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); } - public ParameterSet getDeploymentConfigurations() { + public FlightConfigurableParameterSet getDeploymentConfigurations() { return deploymentConfigurations; } @@ -113,7 +113,7 @@ public abstract class RecoveryDevice extends MassObject implements FlightConfigu @Override protected RocketComponent copyWithOriginalID() { RecoveryDevice copy = (RecoveryDevice) super.copyWithOriginalID(); - copy.deploymentConfigurations = new ParameterSet(deploymentConfigurations, + copy.deploymentConfigurations = new FlightConfigurableParameterSet(deploymentConfigurations, copy, ComponentChangeEvent.EVENT_CHANGE); return copy; } diff --git a/core/src/net/sf/openrocket/rocketcomponent/Rocket.java b/core/src/net/sf/openrocket/rocketcomponent/Rocket.java index fb31d9e17..d9b47b2aa 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/Rocket.java +++ b/core/src/net/sf/openrocket/rocketcomponent/Rocket.java @@ -553,7 +553,7 @@ public class Rocket extends RocketComponent { return this.configSet.size(); } - public ParameterSet getConfigSet(){ + public FlightConfigurableParameterSet getConfigSet(){ checkState(); return this.configSet; } diff --git a/core/src/net/sf/openrocket/simulation/AbstractSimulationStepper.java b/core/src/net/sf/openrocket/simulation/AbstractSimulationStepper.java index 890bb02c6..f0b1ed4b6 100644 --- a/core/src/net/sf/openrocket/simulation/AbstractSimulationStepper.java +++ b/core/src/net/sf/openrocket/simulation/AbstractSimulationStepper.java @@ -6,7 +6,7 @@ import net.sf.openrocket.masscalc.MassCalculator; import net.sf.openrocket.masscalc.MassCalculator.MassCalcType; import net.sf.openrocket.masscalc.MassData; import net.sf.openrocket.models.atmosphere.AtmosphericConditions; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.simulation.exception.SimulationException; import net.sf.openrocket.simulation.listeners.SimulationListenerHelper; diff --git a/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java b/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java index 1f04c496c..c3434ad02 100644 --- a/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java +++ b/core/src/net/sf/openrocket/simulation/BasicEventSimulationEngine.java @@ -10,7 +10,7 @@ import org.slf4j.LoggerFactory; import net.sf.openrocket.aerodynamics.Warning; import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.MotorInstanceId; import net.sf.openrocket.rocketcomponent.AxialStage; import net.sf.openrocket.rocketcomponent.DeploymentConfiguration; @@ -427,8 +427,8 @@ public class BasicEventSimulationEngine implements SimulationEngine { // TODO: HIGH: Check stage activeness for other events as well? // Check whether any motor in the active stages is active anymore - Collection activeMotors = currentStatus.getConfiguration().getActiveMotors(); - for (MotorInstance curMotor : activeMotors) { + Collection activeMotors = currentStatus.getConfiguration().getActiveMotors(); + for (MotorConfiguration curMotor : activeMotors) { RocketComponent comp = ((RocketComponent) curMotor.getMount()); int stageNumber = comp.getStageNumber(); if (!currentStatus.getConfiguration().isStageActive(stageNumber)) diff --git a/core/src/net/sf/openrocket/simulation/SimulationOptions.java b/core/src/net/sf/openrocket/simulation/SimulationOptions.java index f7167a187..9fc55cf41 100644 --- a/core/src/net/sf/openrocket/simulation/SimulationOptions.java +++ b/core/src/net/sf/openrocket/simulation/SimulationOptions.java @@ -51,7 +51,7 @@ public class SimulationOptions implements ChangeSource, Cloneable { protected final Preferences preferences = Application.getPreferences(); private final Rocket rocket; - private FlightConfigurationID configId = FlightConfigurationID.ERROR_CONFIGURATION_FCID; + private FlightConfigurationID configId = new FlightConfigurationID(); /* * NOTE: When adding/modifying parameters, they must also be added to the diff --git a/core/src/net/sf/openrocket/simulation/SimulationStatus.java b/core/src/net/sf/openrocket/simulation/SimulationStatus.java index dcbe2727d..5160a99cb 100644 --- a/core/src/net/sf/openrocket/simulation/SimulationStatus.java +++ b/core/src/net/sf/openrocket/simulation/SimulationStatus.java @@ -10,7 +10,7 @@ import java.util.Set; import net.sf.openrocket.aerodynamics.FlightConditions; import net.sf.openrocket.aerodynamics.WarningSet; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.MotorInstanceId; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.LaunchLug; @@ -148,7 +148,7 @@ public class SimulationStatus implements Monitorable { this.launchRodCleared = false; this.apogeeReached = false; - for( MotorInstance motorInstance : this.configuration.getActiveMotors() ) { + for( MotorConfiguration motorInstance : this.configuration.getActiveMotors() ) { this.motorState.add( motorInstance.getSimulationState() ); } this.warnings = new WarningSet(); diff --git a/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java b/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java index 8cae29049..65cdb053d 100644 --- a/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java +++ b/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java @@ -6,7 +6,7 @@ import java.util.Map; import net.sf.openrocket.aerodynamics.AerodynamicCalculator; import net.sf.openrocket.aerodynamics.AerodynamicForces; import net.sf.openrocket.aerodynamics.FlightConditions; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.simulation.FlightDataBranch; @@ -69,7 +69,7 @@ public class DampingMoment extends AbstractSimulationListener { // find the maximum distance from nose to nozzle. double nozzleDistance = 0; FlightConfiguration config = status.getConfiguration(); - for (MotorInstance inst : config.getActiveMotors()) { + for (MotorConfiguration inst : config.getActiveMotors()) { Coordinate position = inst.getPosition(); double x = position.x + inst.getMotor().getLength(); diff --git a/core/src/net/sf/openrocket/util/TestRockets.java b/core/src/net/sf/openrocket/util/TestRockets.java index 7ddbccce8..7fd7ce0f3 100644 --- a/core/src/net/sf/openrocket/util/TestRockets.java +++ b/core/src/net/sf/openrocket/util/TestRockets.java @@ -11,7 +11,7 @@ import net.sf.openrocket.material.Material; import net.sf.openrocket.material.Material.Type; import net.sf.openrocket.motor.Manufacturer; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.MotorInstanceId; import net.sf.openrocket.motor.ThrustCurveMotor; import net.sf.openrocket.preset.ComponentPreset; @@ -89,7 +89,7 @@ public class TestRockets { } // This function is used for unit, integration tests, DO NOT CHANGE (without updating tests). - private static MotorInstance generateMotorInstance_M1350_75mm(){ + private static MotorConfiguration generateMotorInstance_M1350_75mm(){ // public ThrustCurveMotor(Manufacturer manufacturer, String designation, String description, // Motor.Type type, double[] delays, double diameter, double length, // double[] time, double[] thrust, @@ -101,11 +101,11 @@ public class TestRockets { new Coordinate[] { new Coordinate(.311, 0, 0, 4.808),new Coordinate(.311, 0, 0, 3.389),new Coordinate(.311, 0, 0, 1.970)}, "digest M1350 test"); - return new MotorInstance(mtr); + return new MotorConfiguration(mtr); } // This function is used for unit, integration tests, DO NOT CHANGE (without updating tests). - private static MotorInstance generateMotorInstance_G77_29mm(){ + private static MotorConfiguration generateMotorInstance_G77_29mm(){ // public ThrustCurveMotor(Manufacturer manufacturer, String designation, String description, // Motor.Type type, double[] delays, double diameter, double length, // double[] time, double[] thrust, @@ -117,7 +117,7 @@ public class TestRockets { new Coordinate[] { new Coordinate(.062, 0, 0, 0.123),new Coordinate(.062, 0, 0, .0935),new Coordinate(.062, 0, 0, 0.064)}, "digest G77 test"); - return new MotorInstance(mtr); + return new MotorConfiguration(mtr); } // @@ -409,7 +409,7 @@ public class TestRockets { } // This function is used for unit, integration tests, DO NOT CHANGE (without updating tests). - public static final MotorInstance getTestD12Motor() { + public static final MotorConfiguration getTestD12Motor() { // Estes D12: // http://nar.org/SandT/pdf/Estes/D12.pdf ThrustCurveMotor motor = new ThrustCurveMotor( @@ -420,7 +420,7 @@ public class TestRockets { new Coordinate(0.0035,0,0,30.0), new Coordinate(0.0035,0,0,21.0)}, "digest_D12"); - MotorInstance inst = new MotorInstance(motor); + MotorConfiguration inst = new MotorConfiguration(motor); inst.setEjectionDelay(5); return inst; } @@ -466,7 +466,7 @@ public class TestRockets { FlightConfigurationID fcid = config.getFlightConfigurationID(); ThrustCurveMotor motor = getTestMotor(); - MotorInstance instance = new MotorInstance(motor); + MotorConfiguration instance = new MotorConfiguration(motor); instance.setEjectionDelay(5); bodytube.setMotorInstance(fcid, instance); @@ -805,7 +805,7 @@ public class TestRockets { coreBody.setMotorMount(true); coreStage.addChild( coreBody); { - MotorInstance motorInstance = TestRockets.generateMotorInstance_M1350_75mm(); + MotorConfiguration motorInstance = TestRockets.generateMotorInstance_M1350_75mm(); motorInstance.setID( new MotorInstanceId( coreBody.getName(), 1) ); coreBody.setMotorMount( true); FlightConfigurationID motorConfigId = config.getFlightConfigurationID(); @@ -867,7 +867,7 @@ public class TestRockets { boosterBody.addChild( boosterMotorTubes); FlightConfigurationID motorConfigId = config.getFlightConfigurationID(); - MotorInstance motorInstance = TestRockets.generateMotorInstance_G77_29mm(); + MotorConfiguration motorInstance = TestRockets.generateMotorInstance_G77_29mm(); motorInstance.setID( new MotorInstanceId( boosterMotorTubes.getName(), 1) ); boosterMotorTubes.setMotorInstance( motorConfigId, motorInstance); boosterMotorTubes.setMotorOverhang(0.01234); @@ -980,7 +980,7 @@ public class TestRockets { // create motor config and add a motor to it ThrustCurveMotor motor = getTestMotor(); - MotorInstance motorInst = new MotorInstance(motor); + MotorConfiguration motorInst = new MotorConfiguration(motor); motorInst.setEjectionDelay(5); // add motor config to inner tube (motor mount) @@ -1015,7 +1015,7 @@ public class TestRockets { // create motor config and add a motor to it ThrustCurveMotor motor = getTestMotor(); - MotorInstance motorConfig = new MotorInstance(motor); + MotorConfiguration motorConfig = new MotorConfiguration(motor); motorConfig.setEjectionDelay(5); // add motor config to inner tube (motor mount) @@ -1156,7 +1156,7 @@ public class TestRockets { public static OpenRocketDocument makeTestRocket_v106_withMotorMountIgnitionConfig() { Rocket rocket = new Rocket(); rocket.setName("v106_withwithMotorMountIgnitionConfig"); - FlightConfigurationID fcid = new FlightConfigurationID("2SecondDelay"); + FlightConfigurationID fcid = new FlightConfigurationID(); // make stage AxialStage stage = new AxialStage(); @@ -1172,7 +1172,7 @@ public class TestRockets { bodyTube.addChild(innerTube); // make inner tube with motor mount flag set - MotorInstance inst = new MotorInstance(getTestMotor()); + MotorConfiguration inst = new MotorConfiguration(getTestMotor()); innerTube.setMotorInstance(fcid, inst); // set ignition parameters for motor mount diff --git a/core/test/net/sf/openrocket/aerodynamics/BarrowmanCalculatorTest.java b/core/test/net/sf/openrocket/aerodynamics/BarrowmanCalculatorTest.java index 3676fea23..449972566 100644 --- a/core/test/net/sf/openrocket/aerodynamics/BarrowmanCalculatorTest.java +++ b/core/test/net/sf/openrocket/aerodynamics/BarrowmanCalculatorTest.java @@ -11,7 +11,7 @@ import com.google.inject.Injector; import com.google.inject.Module; import net.sf.openrocket.ServicesForTesting; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.plugin.PluginModule; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; @@ -69,7 +69,7 @@ public class BarrowmanCalculatorTest { FlightConditions conditions = new FlightConditions(config); WarningSet warnings = new WarningSet(); - MotorInstance inst = TestRockets.getTestD12Motor(); + MotorConfiguration inst = TestRockets.getTestD12Motor(); InnerTube motorTube = (InnerTube)rkt.getChild(0).getChild(1).getChild(1); motorTube.setMotorInstance(fcid, inst); motorTube.setMotorMount(true); diff --git a/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java b/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java index 74382d111..d0b6a7bbd 100644 --- a/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java +++ b/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java @@ -7,7 +7,7 @@ import static org.junit.Assert.assertTrue; import org.junit.Test; import net.sf.openrocket.masscalc.MassCalculator.MassCalcType; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.ParallelStage; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; diff --git a/core/test/net/sf/openrocket/motor/ThrustCurveMotorTest.java b/core/test/net/sf/openrocket/motor/ThrustCurveMotorTest.java index 60be43c6c..c90673a68 100644 --- a/core/test/net/sf/openrocket/motor/ThrustCurveMotorTest.java +++ b/core/test/net/sf/openrocket/motor/ThrustCurveMotorTest.java @@ -42,7 +42,7 @@ public class ThrustCurveMotorTest { @Test public void testInstance() { - ThrustCurveMotorInstance instance = motor.getNewInstance(); + ThrustCurveMotorState instance = motor.getNewInstance(); verify(instance, 0, 0.05, 0.02); instance.step(0.0, 0, null); @@ -64,7 +64,7 @@ public class ThrustCurveMotorTest { verify(instance, 0, 0.03, 0.03); } - private void verify(ThrustCurveMotorInstance instance, double thrust, double mass, double cgx) { + private void verify(ThrustCurveMotorState instance, double thrust, double mass, double cgx) { assertEquals("Testing thrust", thrust, instance.getThrust(), EPS); assertEquals("Testing mass", mass, instance.getCG().weight, EPS); assertEquals("Testing cg x", cgx, instance.getCG().x, EPS); diff --git a/core/test/net/sf/openrocket/rocketcomponent/ConfigurationTest.java b/core/test/net/sf/openrocket/rocketcomponent/ConfigurationTest.java index 7ba1cb279..beee676af 100644 --- a/core/test/net/sf/openrocket/rocketcomponent/ConfigurationTest.java +++ b/core/test/net/sf/openrocket/rocketcomponent/ConfigurationTest.java @@ -11,7 +11,7 @@ import org.junit.Test; import net.sf.openrocket.motor.Manufacturer; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.ThrustCurveMotor; import net.sf.openrocket.rocketcomponent.RocketComponent.Position; import net.sf.openrocket.util.Coordinate; @@ -560,7 +560,7 @@ public class ConfigurationTest extends BaseTestCase { InnerTube sustainerMount = (InnerTube) rocket.getChild(0).getChild(1).getChild(3); sustainerMount.setMotorMount(true); - sustainerMount.setMotorInstance(fcid, new MotorInstance(sustainerMotor)); + sustainerMount.setMotorInstance(fcid, new MotorConfiguration(sustainerMotor)); } { @@ -577,7 +577,7 @@ public class ConfigurationTest extends BaseTestCase { "digest D21 test"); InnerTube boosterMount = (InnerTube) rocket.getChild(1).getChild(0).getChild(2); boosterMount.setMotorMount(true); - boosterMount.setMotorInstance(fcid, new MotorInstance(boosterMotor)); + boosterMount.setMotorInstance(fcid, new MotorConfiguration(boosterMotor)); boosterMount.setClusterConfiguration( ClusterConfiguration.CONFIGURATIONS[1]); // double-mount } return rocket; diff --git a/swing/src/net/sf/openrocket/gui/adaptors/ParameterSetModel.java b/swing/src/net/sf/openrocket/gui/adaptors/ParameterSetModel.java index f899bf3e8..942e022f2 100644 --- a/swing/src/net/sf/openrocket/gui/adaptors/ParameterSetModel.java +++ b/swing/src/net/sf/openrocket/gui/adaptors/ParameterSetModel.java @@ -13,7 +13,7 @@ import javax.swing.event.ListDataListener; import net.sf.openrocket.rocketcomponent.ComponentChangeEvent; import net.sf.openrocket.rocketcomponent.FlightConfigurableParameter; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; -import net.sf.openrocket.rocketcomponent.ParameterSet; +import net.sf.openrocket.rocketcomponent.FlightConfigurableParameterSet; import net.sf.openrocket.util.StateChangeListener; /** @@ -28,10 +28,10 @@ public class ParameterSetModel> impleme private EventListenerList listenerList = new EventListenerList(); private Object selected; - private final ParameterSet sourceSet; + private final FlightConfigurableParameterSet sourceSet; List idList= new Vector(); - public ParameterSetModel(ParameterSet set ) { + public ParameterSetModel(FlightConfigurableParameterSet set ) { this.sourceSet = set; this.selected = this.sourceSet.getDefault(); } diff --git a/swing/src/net/sf/openrocket/gui/configdialog/MotorConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/MotorConfig.java index e29a3ebef..095a1e3bc 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/MotorConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/MotorConfig.java @@ -21,7 +21,7 @@ import net.sf.openrocket.gui.components.BasicSlider; import net.sf.openrocket.gui.components.StyledLabel; import net.sf.openrocket.gui.components.UnitSelector; import net.sf.openrocket.l10n.Translator; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.IgnitionEvent; import net.sf.openrocket.rocketcomponent.MotorMount; import net.sf.openrocket.rocketcomponent.RocketComponent; @@ -69,7 +69,7 @@ public class MotorConfig extends JPanel { //// Ignition at: panel.add(new JLabel(trans.get("MotorCfg.lbl.Ignitionat") + " " + CommonStrings.dagger), ""); - MotorInstance motorInstance = mount.getDefaultMotorInstance(); + MotorConfiguration motorInstance = mount.getDefaultMotorInstance(); final EnumModel igEvModel = new EnumModel(motorInstance, "IgnitionEvent", IgnitionEvent.values()); final JComboBox eventBox = new JComboBox( igEvModel); diff --git a/swing/src/net/sf/openrocket/gui/dialogs/flightconfiguration/IgnitionSelectionDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/flightconfiguration/IgnitionSelectionDialog.java index d11bcd73e..1566dfa5e 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/flightconfiguration/IgnitionSelectionDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/flightconfiguration/IgnitionSelectionDialog.java @@ -22,7 +22,7 @@ import net.sf.openrocket.gui.adaptors.DoubleModel; import net.sf.openrocket.gui.adaptors.EnumModel; import net.sf.openrocket.gui.util.GUIUtil; import net.sf.openrocket.l10n.Translator; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; import net.sf.openrocket.rocketcomponent.IgnitionEvent; import net.sf.openrocket.rocketcomponent.MotorMount; @@ -39,7 +39,7 @@ public class IgnitionSelectionDialog extends JDialog { private RocketDescriptor descriptor = Application.getInjector().getInstance(RocketDescriptor.class); private MotorMount curMount; - private MotorInstance curMotorInstance; + private MotorConfiguration curMotorInstance; private IgnitionEvent startIgnitionEvent; private double startIgnitionDelay; @@ -106,15 +106,15 @@ public class IgnitionSelectionDialog extends JDialog { IgnitionEvent cie = curMotorInstance.getIgnitionEvent(); // update the default instance - final MotorInstance defaultMotorInstance = curMount.getDefaultMotorInstance(); + final MotorConfiguration defaultMotorInstance = curMount.getDefaultMotorInstance(); defaultMotorInstance.setIgnitionDelay( cid); defaultMotorInstance.setIgnitionEvent( cie); // and change all remaining configs // this seems like odd behavior to me, but it matches the text on the UI dialog popup. -teyrana (equipoise@gmail.com) - Iterator iter = curMount.getMotorIterator(); + Iterator iter = curMount.getMotorIterator(); while( iter.hasNext() ){ - MotorInstance next = iter.next(); + MotorConfiguration next = iter.next(); next.setIgnitionDelay( cid); next.setIgnitionEvent( cie); } diff --git a/swing/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SeparationSelectionDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SeparationSelectionDialog.java index b2885c431..d416eb22e 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SeparationSelectionDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/flightconfiguration/SeparationSelectionDialog.java @@ -23,7 +23,7 @@ import net.sf.openrocket.gui.util.GUIUtil; import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.rocketcomponent.AxialStage; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; -import net.sf.openrocket.rocketcomponent.ParameterSet; +import net.sf.openrocket.rocketcomponent.FlightConfigurableParameterSet; import net.sf.openrocket.rocketcomponent.Rocket; import net.sf.openrocket.rocketcomponent.StageSeparationConfiguration; import net.sf.openrocket.rocketcomponent.StageSeparationConfiguration.SeparationEvent; diff --git a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/MotorRowFilter.java b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/MotorRowFilter.java index c8cdbef43..f8bce4943 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/MotorRowFilter.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/MotorRowFilter.java @@ -12,7 +12,7 @@ import javax.swing.table.TableModel; import net.sf.openrocket.database.motor.ThrustCurveMotorSet; import net.sf.openrocket.motor.Manufacturer; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.ThrustCurveMotor; import net.sf.openrocket.rocketcomponent.MotorMount; import net.sf.openrocket.util.AbstractChangeSource; @@ -64,9 +64,9 @@ public class MotorRowFilter extends RowFilter implements Ch public void setMotorMount( MotorMount mount ) { if (mount != null) { - Iterator iter = mount.getMotorIterator(); + Iterator iter = mount.getMotorIterator(); while( iter.hasNext()){ - MotorInstance mi = iter.next(); + MotorConfiguration mi = iter.next(); if( !mi.isEmpty()){ this.usedMotors.add((ThrustCurveMotor) mi.getMotor()); } diff --git a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java index f6245a227..331d9d407 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/motor/thrustcurve/ThrustCurveMotorSelectionPanel.java @@ -54,7 +54,7 @@ import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.logging.Markers; import net.sf.openrocket.motor.Manufacturer; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.ThrustCurveMotor; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; import net.sf.openrocket.rocketcomponent.MotorMount; @@ -319,7 +319,7 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec } motorFilterPanel.setMotorMount(mountToEdit); - MotorInstance curMotorInstance = mountToEdit.getMotorInstance(_fcid); + MotorConfiguration curMotorInstance = mountToEdit.getMotorInstance(_fcid); selectedMotor = null; selectedMotorSet = null; selectedDelay = 0; diff --git a/swing/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java b/swing/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java index d58c7ad76..4abf748cd 100644 --- a/swing/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java +++ b/swing/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java @@ -18,7 +18,7 @@ import net.sf.openrocket.gui.figure3d.geometry.ComponentRenderer; import net.sf.openrocket.gui.figure3d.geometry.DisplayListComponentRenderer; import net.sf.openrocket.gui.figure3d.geometry.Geometry.Surface; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; import net.sf.openrocket.rocketcomponent.MotorMount; @@ -188,7 +188,7 @@ public abstract class RocketRenderer { // } // } - for( MotorInstance curMotor : configuration.getActiveMotors()){ + for( MotorConfiguration curMotor : configuration.getActiveMotors()){ MotorMount mount = curMotor.getMount(); Motor motor = curMotor.getMotor(); diff --git a/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/MotorConfigurationPanel.java b/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/MotorConfigurationPanel.java index 70e35e014..bd16b07ce 100644 --- a/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/MotorConfigurationPanel.java +++ b/swing/src/net/sf/openrocket/gui/main/flightconfigpanel/MotorConfigurationPanel.java @@ -26,7 +26,7 @@ import net.sf.openrocket.gui.dialogs.flightconfiguration.IgnitionSelectionDialog import net.sf.openrocket.gui.dialogs.flightconfiguration.MotorMountConfigurationPanel; import net.sf.openrocket.gui.dialogs.motor.MotorChooserDialog; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfigurationID; import net.sf.openrocket.rocketcomponent.IgnitionEvent; import net.sf.openrocket.rocketcomponent.MotorMount; @@ -215,7 +215,7 @@ public class MotorConfigurationPanel extends FlightConfigurablePanel Motor mtr = motorChooserDialog.getSelectedMotor(); double d = motorChooserDialog.getSelectedDelay(); if (mtr != null) { - MotorInstance curInstance = new MotorInstance(mtr); + MotorConfiguration curInstance = new MotorConfiguration(mtr); curInstance.setEjectionDelay(d); curInstance.setIgnitionEvent( IgnitionEvent.NEVER); curMount.setMotorInstance( fcid, curInstance); @@ -260,7 +260,7 @@ public class MotorConfigurationPanel extends FlightConfigurablePanel if ( (null == fcid )||( null == curMount )){ return; } - MotorInstance curInstance = curMount.getMotorInstance(fcid); + MotorConfiguration curInstance = curMount.getMotorInstance(fcid); curInstance.useDefaultIgnition(); @@ -276,7 +276,7 @@ public class MotorConfigurationPanel extends FlightConfigurablePanel JLabel label = new JLabel(); label.setLayout(new BoxLayout(label, BoxLayout.X_AXIS)); - MotorInstance curMotor = mount.getMotorInstance( configId); + MotorConfiguration curMotor = mount.getMotorInstance( configId); String motorString = getMotorSpecification( curMotor ); JLabel motorDescriptionLabel = new JLabel(motorString); @@ -288,7 +288,7 @@ public class MotorConfigurationPanel extends FlightConfigurablePanel return label; } - private String getMotorSpecification(MotorInstance curMotorInstance ) { + private String getMotorSpecification(MotorConfiguration curMotorInstance ) { if( curMotorInstance.isEmpty()){ return NONE; } @@ -308,8 +308,8 @@ public class MotorConfigurationPanel extends FlightConfigurablePanel } private JLabel getIgnitionEventString(FlightConfigurationID id, MotorMount mount) { - MotorInstance defInstance = mount.getDefaultMotorInstance(); - MotorInstance curInstance = mount.getMotorInstance(id); + MotorConfiguration defInstance = mount.getDefaultMotorInstance(); + MotorConfiguration curInstance = mount.getMotorInstance(id); IgnitionEvent ignitionEvent = curInstance.getIgnitionEvent(); Double ignitionDelay = curInstance.getIgnitionDelay(); diff --git a/swing/src/net/sf/openrocket/gui/scalefigure/RocketFigure.java b/swing/src/net/sf/openrocket/gui/scalefigure/RocketFigure.java index 2696fb973..48f19b9ef 100644 --- a/swing/src/net/sf/openrocket/gui/scalefigure/RocketFigure.java +++ b/swing/src/net/sf/openrocket/gui/scalefigure/RocketFigure.java @@ -26,7 +26,7 @@ import net.sf.openrocket.gui.rocketfigure.RocketComponentShape; import net.sf.openrocket.gui.util.ColorConversion; import net.sf.openrocket.gui.util.SwingPreferences; import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.AxialStage; import net.sf.openrocket.rocketcomponent.ComponentAssembly; import net.sf.openrocket.rocketcomponent.FlightConfiguration; @@ -338,7 +338,7 @@ public class RocketFigure extends AbstractScaleFigure { Color borderColor = ((SwingPreferences)Application.getPreferences()).getMotorBorderColor(); FlightConfiguration config = rocket.getDefaultConfiguration(); - for( MotorInstance curInstance : config.getActiveMotors()){ + for( MotorConfiguration curInstance : config.getActiveMotors()){ MotorMount mount = curInstance.getMount(); Motor motor = curInstance.getMotor(); double motorLength = motor.getLength(); diff --git a/swing/src/net/sf/openrocket/gui/simulation/SimulationRunDialog.java b/swing/src/net/sf/openrocket/gui/simulation/SimulationRunDialog.java index 6a6a633eb..48b88e69c 100644 --- a/swing/src/net/sf/openrocket/gui/simulation/SimulationRunDialog.java +++ b/swing/src/net/sf/openrocket/gui/simulation/SimulationRunDialog.java @@ -33,7 +33,7 @@ import net.sf.openrocket.gui.dialogs.DetailDialog; import net.sf.openrocket.gui.util.GUIUtil; import net.sf.openrocket.gui.util.SwingPreferences; import net.sf.openrocket.l10n.Translator; -import net.sf.openrocket.motor.MotorInstance; +import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.IgnitionEvent; import net.sf.openrocket.simulation.FlightEvent; @@ -293,9 +293,9 @@ public class SimulationRunDialog extends JDialog { FlightConfiguration config = simulation.getRocket().getDefaultConfiguration(); - Collection activeMotors = config.getActiveMotors(); + Collection activeMotors = config.getActiveMotors(); - for (MotorInstance curInstance : activeMotors) { + for (MotorConfiguration curInstance : activeMotors) { if (curInstance.getIgnitionEvent() == IgnitionEvent.LAUNCH) launchBurn = MathUtil.max(launchBurn, curInstance.getMotor().getBurnTimeEstimate()); else