package net.sf.openrocket.simulation; import net.sf.openrocket.simulation.exception.SimulationException; /** * A simulation engine that controls the flow of a simulation. This typically maintains * flight events and related actions, while continuously calling a SimulationStepper to * move the rocket forward step by step. * * @author Sampo Niskanen <sampo.niskanen@iki.fi> */ public interface SimulationEngine { /** * Simulate the flight of a rocket. * * @param simulation the simulation conditions which to simulate. * @return a FlightData object containing the simulated data. * @throws SimulationException if an error occurs during simulation */ public FlightData simulate(SimulationConditions simulation) throws SimulationException; }