[Bugfix] Modestly reduced extra configuration instances

This commit is contained in:
Daniel_M_Williams 2015-10-27 21:42:10 -04:00
parent c7c250ba8d
commit cac0a52990
2 changed files with 8 additions and 8 deletions

View File

@ -12,7 +12,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.MotorInstanceConfiguration;
import net.sf.openrocket.motor.MotorInstance;
import net.sf.openrocket.rocketcomponent.FlightConfiguration;
import net.sf.openrocket.rocketcomponent.Rocket;
import net.sf.openrocket.simulation.BasicEventSimulationEngine;
@ -275,12 +275,13 @@ public class Simulation implements ChangeSource, Cloneable {
}
}
FlightConfiguration c = new FlightConfiguration( options.getConfigID(), this.getRocket());
MotorInstanceConfiguration motors = new MotorInstanceConfiguration(c);
FlightConfiguration config = rocket.getFlightConfiguration(options.getConfigID());
List<MotorInstance> motorList = config.getActiveMotors();
//Make sure this simulation has motors.
if (0 == motors.getMotorCount()) {
if (0 == motorList.size()){
status = Status.CANT_RUN;
log.warn(" Unable to simulate: no motors loaded.");
}
return status;

View File

@ -70,7 +70,6 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
* @param rocket the rocket
*/
public FlightConfiguration(final FlightConfigurationID _fcid, Rocket rocket ) {
System.err.println(" creating FlightConfiguration, with fcid: "+_fcid);
if( null == _fcid){
this.fcid = new FlightConfigurationID();
}else{
@ -456,10 +455,10 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
@SuppressWarnings("unchecked")
@Override
public FlightConfiguration clone() {
FlightConfiguration config = new FlightConfiguration( null, this.getRocket() );
FlightConfiguration config = new FlightConfiguration( this.fcid, this.getRocket() );
config.listenerList = new ArrayList<EventListener>();
config.stageMap = (HashMap<Integer, StageFlags>) this.stageMap.clone();
config.cachedBounds = new ArrayList<Coordinate>();
config.cachedBounds = this.cachedBounds.clone();
config.boundsModID = -1;
config.refLengthModID = -1;
rocket.addComponentChangeListener(config);