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 }