001 package controller;
002
003 import model.ILambda;
004
005 /**
006 * Adapter to connect the simulation toolbar and the simulation.
007 *
008 * @author Mathias Ricken
009 */
010 public interface ISimAdapter {
011 /**
012 * Make a simulation step.
013 */
014 void step();
015
016 /**
017 * Start simulation.
018 */
019 void start();
020
021 /**
022 * Stop simulation.
023 */
024 void stop();
025
026 /**
027 * Change the simulation speed.
028 *
029 * @param speed simulation speed
030 */
031 void setSpeed(int speed);
032
033 /**
034 * Set simulation start command. This command gets called before the simulation starts.
035 *
036 * @param startCmd start command
037 */
038 void setStartLambda(ILambda startCmd);
039
040 /**
041 * Set simulation iteration command. This command gets called after the simulation finishes a step.
042 *
043 * @param itCmd start command
044 */
045 void setIterationLambda(ILambda itCmd);
046 }