package turtlekit.pheromone; public interface Pheromone<T> { /** * @return the diffusion coefficient as a float between 0 and 1, e.g. 0.33 for 33% */ public float getDiffusionCoefficient(); /** * @return the evaporation coefficient as a float between 0 and 1, e.g. 0.33 for 33% */ public float getEvaporationCoefficient(); public CoefficientBoundedRangeModel getDiffusionCoefficientModel(); public CoefficientBoundedRangeModel getEvaporationCoefficientModel(); public int getMaxDirection(int xcor, int ycor) ; public int getMinDirection(int i, int j); public void evaporation(); public void diffusion(); public void diffusionAndEvaporation(); public T get(int x, int y); public abstract T get(int get1dIndex); public abstract T getMaximum(); public abstract void setMaximum(T maximum); /** * @return the width */ public int getWidth(); /** * @return the height */ public int getHeight(); /** * @return the name */ public String getName(); public int get1DIndex(int x, int y); public abstract void set(int index, T value); public void set(int x, int y, T value); public void incValue(int x, int y, float quantity); public void incValue(int code, float attractQty); }