Make copy of rocket when starting simulation
This commit is contained in:
parent
5cfdb3959e
commit
58ac3e4a1d
@ -323,7 +323,7 @@ public class BarrowmanCalculator extends AbstractAerodynamicCalculator {
|
||||
// radius = 0;
|
||||
//}
|
||||
//componentX = component.toAbsolute(new Coordinate(component.getLengthAerodynamic()))[0].x;
|
||||
|
||||
|
||||
}else if( comp instanceof ComponentAssembly ){
|
||||
checkGeometry(configuration, comp, warnings);
|
||||
}
|
||||
|
@ -840,11 +840,9 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
* - configurables
|
||||
*
|
||||
*/
|
||||
@Override
|
||||
public FlightConfiguration clone() {
|
||||
|
||||
public FlightConfiguration clone(Rocket rocket) {
|
||||
// Note the stages are updated in the constructor call.
|
||||
FlightConfiguration clone = new FlightConfiguration( this.rocket, this.fcid );
|
||||
FlightConfiguration clone = new FlightConfiguration( rocket, this.fcid );
|
||||
clone.setName(configurationName);
|
||||
clone.copyStageActiveness(this);
|
||||
clone.preloadStageActiveness = this.preloadStageActiveness == null ? null : new HashMap<>(this.preloadStageActiveness);
|
||||
@ -856,6 +854,11 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
clone.refLengthModID = -1;
|
||||
return clone;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FlightConfiguration clone() {
|
||||
return this.clone(this.rocket);
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy all available information attached to this, and attached copies to the
|
||||
|
@ -464,7 +464,6 @@ public class Rocket extends ComponentAssembly {
|
||||
|
||||
|
||||
public void printListeners() {
|
||||
System.out.println("" + this + " has " + listenerList.size() + " listeners:");
|
||||
int i = 0;
|
||||
for (EventListener l : listenerList) {
|
||||
System.out.println(" " + (i) + ": " + l);
|
||||
|
@ -72,7 +72,7 @@ public class BasicEventSimulationEngine implements SimulationEngine {
|
||||
// Set up rocket configuration
|
||||
this.fcid = simulationConditions.getFlightConfigurationID();
|
||||
FlightConfiguration origConfig = simulationConditions.getRocket().getFlightConfiguration(this.fcid);
|
||||
FlightConfiguration simulationConfig = origConfig.clone();
|
||||
FlightConfiguration simulationConfig = origConfig.clone(simulationConditions.getRocket().copyWithOriginalID());
|
||||
simulationConfig.copyStages(origConfig); // Clone the stage activation configuration
|
||||
|
||||
currentStatus = new SimulationStatus(simulationConfig, simulationConditions);
|
||||
|
@ -146,7 +146,6 @@ public class RollControl extends AbstractSimulationExtension {
|
||||
if (finset == null) {
|
||||
throw new SimulationException("A fin set with name '" + getControlFinName() + "' was not found");
|
||||
}
|
||||
System.out.println("fin set found at " + finset.hashCode());
|
||||
|
||||
// remember the initial fin position so we can set it back after running the simulation
|
||||
initialFinPosition = finset.getCantAngle();
|
||||
@ -166,8 +165,6 @@ public class RollControl extends AbstractSimulationExtension {
|
||||
prevTime = status.getSimulationTime();
|
||||
return;
|
||||
}
|
||||
System.out.println("using fin set at " + finset.hashCode());
|
||||
|
||||
|
||||
// Determine time step
|
||||
double deltaT = status.getSimulationTime() - prevTime;
|
||||
|
Loading…
x
Reference in New Issue
Block a user