Merge pull request #255 from kruland2607/master
Work on Motor Instance.
This commit is contained in:
commit
8fb7d16a66
@ -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;
|
||||
|
||||
@ -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<FlightConfiguration> fcs = rocket.getConfigSet();
|
||||
FlightConfigurableParameterSet<FlightConfiguration> fcs = rocket.getConfigSet();
|
||||
FlightConfiguration fc = fcs.get(fcid);
|
||||
fcs.setDefault(fc);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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<FlightConfiguration> configList = rocket.getConfigSet();
|
||||
FlightConfigurableParameterSet<FlightConfiguration> configList = rocket.getConfigSet();
|
||||
for (FlightConfigurationID fcid : configList.getSortedConfigurationIDs()) {
|
||||
//System.err.println("checking FlightConfiguration:"+fcid.getShortKey()+ " save?");
|
||||
|
||||
|
||||
@ -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<String> elements = new ArrayList<String>();
|
||||
|
||||
MotorInstance defaultInstance = mount.getDefaultMotorInstance();
|
||||
MotorConfiguration defaultInstance = mount.getDefaultMotorInstance();
|
||||
|
||||
elements.add("<motormount>");
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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<FlightConfiguration> allConfigs = rocket.getConfigSet();
|
||||
FlightConfigurableParameterSet<FlightConfiguration> allConfigs = rocket.getConfigSet();
|
||||
for (FlightConfigurationID fcid : allConfigs.getSortedConfigurationIDs()) {
|
||||
FlightConfiguration flightConfig = allConfigs.get(fcid);
|
||||
if (fcid == null)
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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<MotorInstance> {
|
||||
public class MotorConfiguration implements FlightConfigurableParameter<MotorConfiguration> {
|
||||
|
||||
protected MotorMount mount = null;
|
||||
protected Motor motor = null;
|
||||
@ -34,12 +34,12 @@ public class MotorInstance implements FlightConfigurableParameter<MotorInstance>
|
||||
protected int modID = 0;
|
||||
private final List<StateChangeListener> listeners = new ArrayList<StateChangeListener>();
|
||||
|
||||
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<MotorInstance>
|
||||
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<MotorInstance>
|
||||
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<MotorInstance>
|
||||
* 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;
|
||||
@ -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<MotorInstance> {
|
||||
public class MotorConfigurationSet extends FlightConfigurableParameterSet<MotorConfiguration> {
|
||||
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<MotorInstance> {
|
||||
* @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<MotorInstance> flightConfiguration, RocketComponent component) {
|
||||
public MotorConfigurationSet(FlightConfigurableParameterSet<MotorConfiguration> 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<MotorInstance> {
|
||||
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";
|
||||
@ -250,8 +250,8 @@ public class ThrustCurveMotor implements Motor, Comparable<ThrustCurveMotor>, Se
|
||||
|
||||
|
||||
@Override
|
||||
public ThrustCurveMotorInstance getNewInstance() {
|
||||
return new ThrustCurveMotorInstance(this);
|
||||
public ThrustCurveMotorState getNewInstance() {
|
||||
return new ThrustCurveMotorState(this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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();
|
||||
@ -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<StageSeparationConfiguration> separations;
|
||||
protected FlightConfigurableParameterSet<StageSeparationConfiguration> separations;
|
||||
|
||||
protected int stageNumber;
|
||||
|
||||
public AxialStage(){
|
||||
this.separations = new ParameterSet<StageSeparationConfiguration>(
|
||||
this.separations = new FlightConfigurableParameterSet<StageSeparationConfiguration>(
|
||||
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<StageSeparationConfiguration> getSeparationConfigurations() {
|
||||
public FlightConfigurableParameterSet<StageSeparationConfiguration> 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<StageSeparationConfiguration>(separations,
|
||||
copy.separations = new FlightConfigurableParameterSet<StageSeparationConfiguration>(separations,
|
||||
copy, ComponentChangeEvent.EVENT_CHANGE);
|
||||
return copy;
|
||||
}
|
||||
|
||||
@ -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<MotorInstance> getMotorIterator(){
|
||||
public Iterator<MotorConfiguration> 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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 <E> the parameter type
|
||||
*/
|
||||
public class ParameterSet<E extends FlightConfigurableParameter<E>> implements FlightConfigurable<E> {
|
||||
public class FlightConfigurableParameterSet<E extends FlightConfigurableParameter<E>> implements FlightConfigurable<E> {
|
||||
|
||||
//private static final Logger log = LoggerFactory.getLogger(ParameterSet.class);
|
||||
protected final HashMap<FlightConfigurationID, E> map = new HashMap<FlightConfigurationID, E>();
|
||||
@ -38,7 +35,7 @@ public class ParameterSet<E extends FlightConfigurableParameter<E>> 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<E extends FlightConfigurableParameter<E>> 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<E> configSet, RocketComponent component, int eventType) {
|
||||
public FlightConfigurableParameterSet(FlightConfigurableParameterSet<E> configSet, RocketComponent component, int eventType) {
|
||||
this.component = component;
|
||||
this.eventType = eventType;
|
||||
|
||||
@ -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<FlightCo
|
||||
|
||||
/* Cached data */
|
||||
final protected HashMap<Integer, StageFlags> stages = new HashMap<Integer, StageFlags>();
|
||||
protected final HashMap<MotorInstanceId, MotorInstance> motors = new HashMap<MotorInstanceId, MotorInstance>();
|
||||
protected final HashMap<MotorInstanceId, MotorConfiguration> motors = new HashMap<MotorInstanceId, MotorConfiguration>();
|
||||
|
||||
private int boundsModID = -1;
|
||||
private ArrayList<Coordinate> cachedBounds = new ArrayList<Coordinate>();
|
||||
@ -364,7 +362,7 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
for ( RocketComponent comp : getActiveComponents() ){
|
||||
if (( comp instanceof MotorMount )&&( ((MotorMount)comp).isMotorMount())){
|
||||
MotorMount mount = (MotorMount)comp;
|
||||
MotorInstance inst = mount.getMotorInstance( fcid);
|
||||
MotorConfiguration inst = mount.getMotorInstance( fcid);
|
||||
|
||||
if( first ){
|
||||
first = false;
|
||||
@ -433,7 +431,7 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
* @param motor the motor instance.
|
||||
* @throws IllegalArgumentException if a motor with the specified ID already exists.
|
||||
*/
|
||||
public void addMotor(MotorInstance motor) {
|
||||
public void addMotor(MotorConfiguration motor) {
|
||||
if( motor.isEmpty() ){
|
||||
throw new IllegalArgumentException("MotorInstance is empty.");
|
||||
}
|
||||
@ -447,7 +445,7 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
modID++;
|
||||
}
|
||||
|
||||
public Collection<MotorInstance> getAllMotors() {
|
||||
public Collection<MotorConfiguration> getAllMotors() {
|
||||
return motors.values();
|
||||
}
|
||||
|
||||
@ -463,7 +461,7 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
return motors.keySet();
|
||||
}
|
||||
|
||||
public MotorInstance getMotorInstance(MotorInstanceId id) {
|
||||
public MotorConfiguration getMotorInstance(MotorInstanceId id) {
|
||||
return motors.get(id);
|
||||
}
|
||||
|
||||
@ -471,9 +469,9 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
return (0 < motors.size());
|
||||
}
|
||||
|
||||
public Collection<MotorInstance> getActiveMotors() {
|
||||
List<MotorInstance> activeList = new ArrayList<MotorInstance>();
|
||||
for( MotorInstance inst : this.motors.values() ){
|
||||
public Collection<MotorConfiguration> getActiveMotors() {
|
||||
List<MotorConfiguration> activeList = new ArrayList<MotorConfiguration>();
|
||||
for( MotorConfiguration inst : this.motors.values() ){
|
||||
if( inst.isActive() ){
|
||||
activeList.add( inst );
|
||||
}
|
||||
@ -488,7 +486,7 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
for ( RocketComponent compMount : getActiveComponents() ){
|
||||
if (( compMount instanceof MotorMount )&&( ((MotorMount)compMount).isMotorMount())){
|
||||
MotorMount mount = (MotorMount)compMount;
|
||||
MotorInstance sourceInstance = mount.getMotorInstance( fcid);
|
||||
MotorConfiguration sourceInstance = mount.getMotorInstance( fcid);
|
||||
if( sourceInstance.isEmpty()){
|
||||
continue;
|
||||
}
|
||||
@ -565,7 +563,7 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
for( StageFlags flags : this.stages.values()){
|
||||
clone.stages.put( flags.stage.getStageNumber(), flags.clone());
|
||||
}
|
||||
for( MotorInstance mi : this.motors.values()){
|
||||
for( MotorConfiguration mi : this.motors.values()){
|
||||
clone.motors.put( mi.getID(), mi.clone());
|
||||
}
|
||||
clone.cachedBounds = this.cachedBounds.clone();
|
||||
|
||||
@ -24,7 +24,7 @@ public final class FlightConfigurationID implements Comparable<FlightConfigurati
|
||||
|
||||
public FlightConfigurationID(final String _str) {
|
||||
UUID candidate;
|
||||
if("".equals(_str)){
|
||||
if(_str == null || "".equals(_str)){
|
||||
candidate = UUID.randomUUID();
|
||||
}else{
|
||||
try{
|
||||
@ -61,7 +61,7 @@ public final class FlightConfigurationID implements Comparable<FlightConfigurati
|
||||
return ERROR_KEY_NAME;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public String getFullKeyText(){
|
||||
return this.key.toString();
|
||||
}
|
||||
@ -86,7 +86,7 @@ public final class FlightConfigurationID implements Comparable<FlightConfigurati
|
||||
public String toString() {
|
||||
return this.key.toString();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int compareTo(FlightConfigurationID other) {
|
||||
return (this.key.compareTo( other.key));
|
||||
|
||||
@ -6,7 +6,7 @@ package net.sf.openrocket.rocketcomponent;
|
||||
*
|
||||
* @param <E> the parameter type
|
||||
*/
|
||||
public class FlightConfigurationSet extends ParameterSet<FlightConfiguration> {
|
||||
public class FlightConfigurationSet extends FlightConfigurableParameterSet<FlightConfiguration> {
|
||||
|
||||
/**
|
||||
* Construct a FlightConfiguration that has no overrides.
|
||||
|
||||
@ -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<MotorInstance> getMotorIterator(){
|
||||
public Iterator<MotorConfiguration> 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");
|
||||
|
||||
@ -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<MotorConfiguration> {
|
||||
|
||||
protected Coordinate position = Coordinate.ZERO;
|
||||
protected double ejectionDelay = 0.0;
|
||||
protected Motor motor = null;
|
||||
|
||||
private final List<StateChangeListener> listeners = new ArrayList<StateChangeListener>();
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -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<MotorInstance> getMotorIterator();
|
||||
public Iterator<MotorConfiguration> 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
|
||||
|
||||
@ -25,10 +25,10 @@ public abstract class RecoveryDevice extends MassObject implements FlightConfigu
|
||||
|
||||
private Material.Surface material;
|
||||
|
||||
private ParameterSet<DeploymentConfiguration> deploymentConfigurations;
|
||||
private FlightConfigurableParameterSet<DeploymentConfiguration> deploymentConfigurations;
|
||||
|
||||
public RecoveryDevice() {
|
||||
this.deploymentConfigurations = new ParameterSet<DeploymentConfiguration>(this, ComponentChangeEvent.EVENT_CHANGE, new DeploymentConfiguration());
|
||||
this.deploymentConfigurations = new FlightConfigurableParameterSet<DeploymentConfiguration>(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<DeploymentConfiguration> getDeploymentConfigurations() {
|
||||
public FlightConfigurableParameterSet<DeploymentConfiguration> 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<DeploymentConfiguration>(deploymentConfigurations,
|
||||
copy.deploymentConfigurations = new FlightConfigurableParameterSet<DeploymentConfiguration>(deploymentConfigurations,
|
||||
copy, ComponentChangeEvent.EVENT_CHANGE);
|
||||
return copy;
|
||||
}
|
||||
|
||||
@ -553,7 +553,7 @@ public class Rocket extends RocketComponent {
|
||||
return this.configSet.size();
|
||||
}
|
||||
|
||||
public ParameterSet<FlightConfiguration> getConfigSet(){
|
||||
public FlightConfigurableParameterSet<FlightConfiguration> getConfigSet(){
|
||||
checkState();
|
||||
return this.configSet;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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<MotorInstance> activeMotors = currentStatus.getConfiguration().getActiveMotors();
|
||||
for (MotorInstance curMotor : activeMotors) {
|
||||
Collection<MotorConfiguration> activeMotors = currentStatus.getConfiguration().getActiveMotors();
|
||||
for (MotorConfiguration curMotor : activeMotors) {
|
||||
RocketComponent comp = ((RocketComponent) curMotor.getMount());
|
||||
int stageNumber = comp.getStageNumber();
|
||||
if (!currentStatus.getConfiguration().isStageActive(stageNumber))
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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<T extends FlightConfigurableParameter<T>> impleme
|
||||
private EventListenerList listenerList = new EventListenerList();
|
||||
|
||||
private Object selected;
|
||||
private final ParameterSet<T> sourceSet;
|
||||
private final FlightConfigurableParameterSet<T> sourceSet;
|
||||
List<FlightConfigurationID> idList= new Vector<FlightConfigurationID>();
|
||||
|
||||
public ParameterSetModel(ParameterSet<T> set ) {
|
||||
public ParameterSetModel(FlightConfigurableParameterSet<T> set ) {
|
||||
this.sourceSet = set;
|
||||
this.selected = this.sourceSet.getDefault();
|
||||
}
|
||||
|
||||
@ -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<IgnitionEvent> igEvModel = new EnumModel<IgnitionEvent>(motorInstance, "IgnitionEvent", IgnitionEvent.values());
|
||||
final JComboBox<IgnitionEvent> eventBox = new JComboBox<IgnitionEvent>( igEvModel);
|
||||
|
||||
@ -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<MotorInstance> iter = curMount.getMotorIterator();
|
||||
Iterator<MotorConfiguration> iter = curMount.getMotorIterator();
|
||||
while( iter.hasNext() ){
|
||||
MotorInstance next = iter.next();
|
||||
MotorConfiguration next = iter.next();
|
||||
next.setIgnitionDelay( cid);
|
||||
next.setIgnitionEvent( cie);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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<TableModel, Integer> implements Ch
|
||||
|
||||
public void setMotorMount( MotorMount mount ) {
|
||||
if (mount != null) {
|
||||
Iterator<MotorInstance> iter = mount.getMotorIterator();
|
||||
Iterator<MotorConfiguration> iter = mount.getMotorIterator();
|
||||
while( iter.hasNext()){
|
||||
MotorInstance mi = iter.next();
|
||||
MotorConfiguration mi = iter.next();
|
||||
if( !mi.isEmpty()){
|
||||
this.usedMotors.add((ThrustCurveMotor) mi.getMotor());
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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();
|
||||
|
||||
|
||||
@ -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<MotorMount>
|
||||
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<MotorMount>
|
||||
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<MotorMount>
|
||||
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<MotorMount>
|
||||
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<MotorMount>
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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<MotorInstance> activeMotors = config.getActiveMotors();
|
||||
Collection<MotorConfiguration> activeMotors = config.getActiveMotors();
|
||||
|
||||
for (MotorInstance curInstance : activeMotors) {
|
||||
for (MotorConfiguration curInstance : activeMotors) {
|
||||
if (curInstance.getIgnitionEvent() == IgnitionEvent.LAUNCH)
|
||||
launchBurn = MathUtil.max(launchBurn, curInstance.getMotor().getBurnTimeEstimate());
|
||||
else
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user