1 package net.sf.openrocket.simulation.listeners;
5 import net.sf.openrocket.aerodynamics.AerodynamicForces;
6 import net.sf.openrocket.aerodynamics.FlightConditions;
7 import net.sf.openrocket.models.atmosphere.AtmosphericConditions;
8 import net.sf.openrocket.simulation.AccelerationData;
9 import net.sf.openrocket.simulation.FlightDataType;
10 import net.sf.openrocket.simulation.MassData;
11 import net.sf.openrocket.simulation.SimulationStatus;
12 import net.sf.openrocket.simulation.exception.SimulationException;
13 import net.sf.openrocket.util.Coordinate;
16 * An interface containing listener callbacks relating to different computational aspects performed
19 * @author Sampo Niskanen <sampo.niskanen@iki.fi>
21 public interface SimulationComputationListener extends SimulationListener {
24 //////// Computation/modeling related callbacks ////////
26 public AccelerationData preAccelerationCalculation(SimulationStatus status) throws SimulationException;
28 public AccelerationData postAccelerationCalculation(SimulationStatus status, AccelerationData acceleration)
29 throws SimulationException;
31 public AtmosphericConditions preAtmosphericModel(SimulationStatus status)
32 throws SimulationException;
34 public AtmosphericConditions postAtmosphericModel(SimulationStatus status, AtmosphericConditions atmosphericConditions)
35 throws SimulationException;
38 public Coordinate preWindModel(SimulationStatus status) throws SimulationException;
40 public Coordinate postWindModel(SimulationStatus status, Coordinate wind) throws SimulationException;
43 public double preGravityModel(SimulationStatus status) throws SimulationException;
45 public double postGravityModel(SimulationStatus status, double gravity) throws SimulationException;
48 public FlightConditions preFlightConditions(SimulationStatus status)
49 throws SimulationException;
51 public FlightConditions postFlightConditions(SimulationStatus status, FlightConditions flightConditions)
52 throws SimulationException;
55 public AerodynamicForces preAerodynamicCalculation(SimulationStatus status)
56 throws SimulationException;
58 public AerodynamicForces postAerodynamicCalculation(SimulationStatus status, AerodynamicForces forces)
59 throws SimulationException;
61 public MassData preMassCalculation(SimulationStatus status) throws SimulationException;
63 public MassData postMassCalculation(SimulationStatus status, MassData massData) throws SimulationException;
66 public double preSimpleThrustCalculation(SimulationStatus status) throws SimulationException;
68 public double postSimpleThrustCalculation(SimulationStatus status, double thrust) throws SimulationException;
70 public FlightDataType[] getFlightDataTypes();