package cellsociety_team24; public class Main extends Application { public void start(Stage s) throws Exception } package controllers; public class AppController { public void init(Stage aStage) public void step(double aElapsedTime) public void onStartButtonPressed() public void onPauseButtonPressed() public void onResetButtonPressed() public void onStepButtonPressed() public void onSetSimulationButtonPressed() public void onParameterDrag(double aScrollbarValue) public void onSpeedDrag(double aScrollbarValue) public void updateCellState(Cell aCell) } package controllers; public class SimulationController { public SimulationController(Timeline aSimulationTimeline) public void start() public void pause() public void changeSpeed(double aSpeed) } package exceptions; public class GridTypeException extends RuntimeException { public GridTypeException(String message, Object ... values) } package exceptions; public class ResourceBundleException extends RuntimeException { public ResourceBundleException(String message, Object ... values) public ResourceBundleException(Throwable cause, String message, Object ... values) public ResourceBundleException(Throwable cause, String message) } package exceptions; public class RuleTypeException extends RuntimeException { public RuleTypeException(String message, Object ... values) } package exceptions; public class XMLElementNotFoundException extends RuntimeException { public XMLElementNotFoundException(String message, Object ... values) } package models.grid; abstract public class Cell { public Cell (int x, int y, int stateId, Map propertyMap) public void tick() public void setNextState(CellState nextState) public void setCurrentState(CellState aCurrentState) public CellState getState() public double getState(String key) public int getStateID() public void setNextStateAttrib(int val) public void setNextStateAttrib(int val, String key) public CellState getNextState() public double getNextState(String key) public int getNextStateID() public void decrement(String key) public void increment(String key) public void decrement(String key, double val) public void increment(String key, double val) public Point getLocation() abstract public Point[] getNeighbors(); abstract public Point getDirectedNeighbor(double angle); abstract public Point[] getDirectedNeighbors(double angleStart, double angleRange); } package models.grid; public class CellFactory { public static Cell newCell(int x, int y, int stateId, Map propertyMap, int cellSides, NeighborType neighbors) } package models.grid; public class CellHexagon extends Cell { public CellHexagon(int aX, int aY, int aStateId, Map aPropertyMap) public Point[] getNeighbors() public Point getDirectedNeighbor(double angle) public Point[] getDirectedNeighbors(double angleStart, double angleRange) } package models.grid; abstract public class CellSquare extends Cell{ public CellSquare(int aX, int aY, int aStateId, Map aPropertyMap) abstract public Point[] getNeighbors(); public Point getDirectedNeighbor(double angle) public Point[] getDirectedNeighbors(double angleStart, double angleRange) public Point[] edgeNeighbors() public Point[] vertexNeighbors() public Point[] cornerNeighbors() } package models.grid; public class CellSquareEdge extends CellSquare { public CellSquareEdge(int aX, int aY, int aStateId, Map aPropertyMap) public Point[] getNeighbors() } package models.grid; public class CellSquareVertex extends CellSquare { public CellSquareVertex(int aX, int aY, int aStateId, Map aPropertyMap) public Point[] getNeighbors() } package models.grid; public class CellState { public CellState(int state, Map attribs) public int getStateID() public double getStateAttrib(String key) public void setStateID(int val) public void setStateAtttrib(double val, String key) public void addStateAttrib(double val, String key) public CellState clone() public void increment(String key) public void decrement(String key) public void increment(String key, double val) public void decrement(String key, double val) } package models.grid; abstract public class CellTriangle extends Cell { public CellTriangle(int aX, int aY, int aStateId, Map aPropertyMap) abstract public Point[] getNeighbors(); public Point getDirectedNeighbor(double angle) public Point[] getDirectedNeighbors(double angle, double range) public Point[] edgeNeighbors() public Point[] duvallNeighbors() public Point[] vertexNeighbors() } package models.grid; public class CellTriangleDuvall extends CellTriangle { public CellTriangleDuvall(int aX, int aY, int aStateId, Map aPropertyMap) public Point[] getNeighbors() } package models.grid; public class CellTriangleEdge extends CellTriangle { public CellTriangleEdge(int aX, int aY, int aStateId, Map aPropertyMap) public Point[] getNeighbors() } package models.grid; public class CellTriangleVertex extends CellTriangle { public CellTriangleVertex(int aX, int aY, int aStateId, Map aPropertyMap) public Point[] getNeighbors() } package models.grid; public class GridFactory { public GridFactory(GridSettings aGridSettings, CellSettings aCellSettings) public GridModel createGridModel() } package models.grid; public class GridModel implements Iterable{ public void randomlyChangeCellState(Cell aCell) public double getParameter() public void updateParameter(double aPercentage) public void nextTick() public Collection getAllCells() public int getCellSides() public int getTick() public Map percentages() public GridIterator(Cell[][] grid) public boolean hasNext() public Cell next() public Iterator iterator() public Cell[] getNeighbors(Cell c) public Cell[] getDirectedNeighbors(Cell c, double angleStart, double angleRange) public Cell getDirectedNeighbor(Cell c, double angle) public boolean inGrid(Point p) public Cell getCell(Point p) public Point getDimensions() public Cell getCell(int x, int y) } package models.grid; public class GridModelTorus extends GridModel{ public Cell getCell(Point p) } package models; public class Point implements Comparable{ public Point(int x, int y) public int getX() public int getY() public int compareTo(Point p) public boolean equals(Object o) public Point up() public Point down() public Point left() public Point right() public void putInside(int boxSize) public int sqrDist(Point p) public int rectDist(Point p) public String toString() } package models.rules; abstract public class Rule { public Rule(Map aStateIdsMap) public abstract void calculateAndSetNextStates(GridModel grid); public abstract void updateParameter(double aPercentage); public abstract double getParameter(); } package models.rules; public class RuleFactory { public RuleFactory() public Rule createRule(RuleType aRuleType, Map aDefaultsMap, Map aStateIdsMap) } package models.rules; public class RuleFire extends Rule { public RuleFire(double probCatch, Map aStateIdsMap) public void calculateAndSetNextStates(GridModel grid) public void updateParameter(double aPercentage) public double getParameter() } package models.rules; public class RuleFish extends Rule { public RuleFish(int fishReproTime, int sharkReproTime, int fishEnergy, String[] attributeNames, Map stateIdsMap) public RuleFish(int fishReproTime, int sharkReproTime, int fishEnergy, Map aStateIdsMap) public void calculateAndSetNextStates(GridModel grid) public void updateParameter(double aPercentage) public double getParameter() } package models.rules; public class RuleLife extends Rule { public RuleLife(Map aStateIdsMap) public void calculateAndSetNextStates(GridModel grid) public void updateParameter(double aPercentage) public double getParameter() } package models.rules; public class RuleSegregation extends Rule { public RuleSegregation(double fraction, Map aStateIdsMap) public void calculateAndSetNextStates(GridModel grid) public void updateParameter(double aPercentage) public double getParameter() } package models.rules; public class RuleSlime extends Rule{ public RuleSlime( double evapRate, public void calculateAndSetNextStates(GridModel grid) public void updateParameter(double aPercentage) public double getParameter() } package models.settings; public class CellSettings { public CellSettings() public void addProperty(int aStateIndex, String aKey, double aValue) public void addProperties(int aStateIndex, Map aPropertyMap) public void addDefault(String aKey, double aValue) public Map getDefaults() public Map getProperties(int aStateIndex) public Map> getAllProperties() public Map getStateNames() public void setStateName(String aStateName, int aStateId) public void setNeighborhood(int aStateIndex, String aNeighborhoodName) } package models.settings; public class GridSettings { public GridSettings(Dimension aDimension, String aGridType, String aGridRules, String aGridNeighbors) public GridType getGridType() public RuleType getRuleType() public NeighborType getNeighborType() public Dimension getDimensions() public int getTotalNumberOfCells() public int getNumberOfCellSides() public void addPercentage(int aStateId, int aPercentage) public HashMap getStatePercentages() } package models.settings; public class SimulationFileSettings { public SimulationFileSettings() public void setGridFile(String aGridFileName) public String getGridFile() public void setSimulationFile(String aSimulationFileName) public String getSimulationFile() public void setStateFile(String aStateFileName) public String getStateFile() } package models.settings; public class SimulationSettings { public SimulationSettings(String aName, public String getTitle() public double getSimulationSpeed() } package resources; public final class AppResources { } package resources; public final class CellShapes { } package resources; public class ResourceBundleHandler { public ResourceBundleHandler(String aResourcePath) public String getResource(String aResourceToRetrieve) } package views; public class AppScene { public AppScene(int aHeight, int aWidth, AppController aAppController) public Group getRoot() public void Display() public void setSpeedScrollBarValue(double aValue) public void setParameterScrollBarValue(double aValue) public void intializeGrid(Collection cells,CellStyleGuide csg, Dimension dimensions, GridType aGridType) public void clearGrid() public void updateGrid(Collection cells) public void updateCell(Cell aCell) //public void mouseClickGrid() public void buildCellListeners(Collection cells) public void handle(MouseEvent event) public void changeCellColor(Cell c) public void updateGraphData(int stepnumber,double datapointone, double datapointtwo) public void BuildGraph() } package views.grid; public abstract class GridViewUpdate { public GridViewUpdate(int width,int height,Dimension dimensions,Group root,CellStyleGuide csg,Collection cells) public void makeGrid() public void stepGrid(Collection cells) public void cellSetup(Cell currcell,Shape shape) public void colorCell(Cell c) public Iterator getShapeIterator() public void getCellLocation(Cell c) public Shape getShape(Cell c) public void clearGrid() public abstract void addCell(Cell currcell); } package views.grid; public class GridViewUpdateFactory { public GridViewUpdateFactory(String gridType) public static GridViewUpdate buildGridView(GridType aGridType) } package views.grid; public class GridViewUpdateHexagon extends GridViewUpdate { public GridViewUpdateHexagon(int width,int height,Dimension dimensions,Group root,CellStyleGuide csg,Collection cells) public void addCell(Cell currcell) } package views.grid; public class GridViewUpdateSquare extends GridViewUpdate { public GridViewUpdateSquare(int width,int height,Dimension size,Group root,CellStyleGuide csg,Collection cells) public void addCell(Cell currcell) } package views.grid; public class GridViewUpdateTriangles extends GridViewUpdate { public GridViewUpdateTriangles(int width,int height,Dimension dimensions,Group root,CellStyleGuide csg,Collection cells) public void addCell(Cell currcell) } package views.styles; public abstract class CellStyleGuide { public CellStyleGuide() public abstract String getColor(int aStateIndex); public void setColor(int aStateIndex, String aHexValue) } package views.styles; public class FixedColorStyleGuide extends CellStyleGuide{ public FixedColorStyleGuide() public String getColor(int aStateIndex) } package views.styles; public class GradientColorStyleGuide extends CellStyleGuide { public GradientColorStyleGuide() public String getColor(int aStateIndex) } package xml; public class CellDataFactory extends XMLFactory { public CellDataFactory(String fXmlFileName) public CellSettings createCellSettings() } package xml.model_factories; public class GridSettingsFactory extends XMLFactory { public GridSettingsFactory(String aXmlFileName) public GridSettings createGridSettings() } package xml.model_factories; public class SimulationFileSettingsFactory extends XMLFactory { public SimulationFileSettingsFactory(String aXmlFolderPath, String aXmlFileName) public SimulationFileSettings createFileSettings() } package xml.model_factories; public class SimulationSettingsFactory extends XMLFactory { public SimulationSettingsFactory(String aXmlFileName) public SimulationSettings createSimulationSettings() } package xml; public abstract class XMLFactory { public XMLFactory(String aXmlFileName) } package xml; public class XMLReader { public XMLReader(String aXmlFilename) public Element getRoot() public NodeList findElements(String aTagName) public NodeList findElements(Element aNode, String aTagName) public Element findFirstChildElement(Element aSourceNode, String aTagNameToFind) public Element findFirstChildElement(String aTagNameToFind) public String getAttribute(String aAttributeName) public String getTextValue(Element aNode, String aTagName) public String getTextValue(String aTagName) }