1 package net.sf.openrocket.simulation.listeners;
3 import net.sf.openrocket.aerodynamics.AerodynamicForces;
4 import net.sf.openrocket.aerodynamics.FlightConditions;
5 import net.sf.openrocket.models.atmosphere.AtmosphericConditions;
6 import net.sf.openrocket.simulation.AccelerationData;
7 import net.sf.openrocket.simulation.MassData;
8 import net.sf.openrocket.simulation.SimulationStatus;
9 import net.sf.openrocket.simulation.exception.SimulationException;
10 import net.sf.openrocket.util.Coordinate;
13 * An interface containing listener callbacks relating to different computational aspects performed
16 * @author Sampo Niskanen <sampo.niskanen@iki.fi>
18 public interface SimulationComputationListener extends SimulationListener {
21 //////// Computation/modeling related callbacks ////////
23 public AccelerationData preAccelerationCalculation(SimulationStatus status) throws SimulationException;
25 public AccelerationData postAccelerationCalculation(SimulationStatus status, AccelerationData acceleration)
26 throws SimulationException;
28 public AtmosphericConditions preAtmosphericModel(SimulationStatus status)
29 throws SimulationException;
31 public AtmosphericConditions postAtmosphericModel(SimulationStatus status, AtmosphericConditions atmosphericConditions)
32 throws SimulationException;
35 public Coordinate preWindModel(SimulationStatus status) throws SimulationException;
37 public Coordinate postWindModel(SimulationStatus status, Coordinate wind) throws SimulationException;
40 public double preGravityModel(SimulationStatus status) throws SimulationException;
42 public double postGravityModel(SimulationStatus status, double gravity) throws SimulationException;
45 public FlightConditions preFlightConditions(SimulationStatus status)
46 throws SimulationException;
48 public FlightConditions postFlightConditions(SimulationStatus status, FlightConditions flightConditions)
49 throws SimulationException;
52 public AerodynamicForces preAerodynamicCalculation(SimulationStatus status)
53 throws SimulationException;
55 public AerodynamicForces postAerodynamicCalculation(SimulationStatus status, AerodynamicForces forces)
56 throws SimulationException;
58 public MassData preMassCalculation(SimulationStatus status) throws SimulationException;
60 public MassData postMassCalculation(SimulationStatus status, MassData massData) throws SimulationException;
63 public double preSimpleThrustCalculation(SimulationStatus status) throws SimulationException;
65 public double postSimpleThrustCalculation(SimulationStatus status, double thrust) throws SimulationException;