X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Fdocument%2FSimulation.java;h=33a4866e2ccee10e5c1bac9c8171df199f7b16f7;hb=685fa98064d819d518323347255ee5e4410087af;hp=74d3ab28ed517b03f9d2163f95b999f47054ffde;hpb=32a16b8ed26e7cade397db24f896b08e417be79a;p=debian%2Fopenrocket diff --git a/core/src/net/sf/openrocket/document/Simulation.java b/core/src/net/sf/openrocket/document/Simulation.java index 74d3ab28..33a4866e 100644 --- a/core/src/net/sf/openrocket/document/Simulation.java +++ b/core/src/net/sf/openrocket/document/Simulation.java @@ -13,6 +13,7 @@ import net.sf.openrocket.masscalc.MassCalculator; import net.sf.openrocket.rocketcomponent.Configuration; import net.sf.openrocket.rocketcomponent.Rocket; import net.sf.openrocket.simulation.BasicEventSimulationEngine; +import net.sf.openrocket.simulation.CustomExpression; import net.sf.openrocket.simulation.FlightData; import net.sf.openrocket.simulation.RK4SimulationStepper; import net.sf.openrocket.simulation.SimulationConditions; @@ -70,13 +71,12 @@ public class Simulation implements ChangeSource, Cloneable { private SimulationOptions options; private ArrayList simulationListeners = new ArrayList(); + private ArrayList customExpressions = new ArrayList(); private final Class simulationEngineClass = BasicEventSimulationEngine.class; private Class simulationStepperClass = RK4SimulationStepper.class; private Class aerodynamicCalculatorClass = BarrowmanCalculator.class; private Class massCalculatorClass = BasicMassCalculator.class; - - /** Listeners for this object */ private List listeners = new ArrayList(); @@ -148,6 +148,20 @@ public class Simulation implements ChangeSource, Cloneable { } + public void addCustomExpression(CustomExpression expression){ + this.status = Simulation.Status.OUTDATED; + log.debug("Simulation must be run again to update custom expression."); + customExpressions.add(expression); + } + + public void removeCustomExpression(CustomExpression expression){ + customExpressions.remove(expression); + } + + public ArrayList getCustomExpressions(){ + return customExpressions; + } + /** * Return the rocket associated with this simulation. @@ -280,6 +294,7 @@ public class Simulation implements ChangeSource, Cloneable { } SimulationConditions simulationConditions = options.toSimulationConditions(); + simulationConditions.setSimulation(this); for (SimulationListener l : additionalListeners) { simulationConditions.getSimulationListenerList().add(l); }