create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / simulation / SimulationEngine.java
1 package net.sf.openrocket.simulation;
2
3 import net.sf.openrocket.simulation.exception.SimulationException;
4
5 /**
6  * A simulation engine that controls the flow of a simulation.  This typically maintains
7  * flight events and related actions, while continuously calling a SimulationStepper to
8  * move the rocket forward step by step.
9  * 
10  * @author Sampo Niskanen <sampo.niskanen@iki.fi>
11  */
12 public interface SimulationEngine {
13         
14         /**
15          * Simulate the flight of a rocket.
16          * 
17          * @param simulation    the simulation conditions which to simulate.
18          * @return                              a FlightData object containing the simulated data.
19          * @throws SimulationException          if an error occurs during simulation
20          */
21         public FlightData simulate(SimulationConditions simulation)
22                 throws SimulationException;
23         
24 }