package gui; public class Animation { public Animation(Stage stage) public String getTitle() public Scene init() } package gui; public class CellNode { } package gui.CellShapes; public interface CellShape { public Polygon createShape(Polygon cell, double cellSize, int gridOffset, double x, double y); } package gui.CellShapes; public class HexagonCell implements CellShape { public Polygon createShape(Polygon cell, double cellSize, int gridOffset, double x, double y) } package gui.CellShapes; public class SquareCell implements CellShape { public Polygon createShape(Polygon cell, double cellSize, int gridOffset, double x, double y) } package gui.CellShapes; public class TriangleCell implements CellShape { public Polygon createShape(Polygon cell, double cellSize, int gridOffset, double x, double y) } package gui; public class FileBrowser { } package gui; public class Graph { public Graph(Simulation sim, Pane root) public void updateGraph(Grid grid) public void clearGraph() } package gui; public class GridParser { } package gui; public class SimControls { } package gui; public class SimEvents { } public class Main extends Application { public void start(Stage stage) } package simulations.AntForaging; public class Ant { public Ant(ForagingAntCell location, int life) public Ant(Nest nest, int life) public void forage() public void reset() } package simulations.AntForaging; public class FoodSource extends ForagingAntCell { public FoodSource(int i, int j, String xmlFilename) } package simulations.AntForaging; public class ForagingAntCell extends Cell { public ForagingAntCell(int i, int j, String xmlFilename) public void evaporate() public void diffuse() public void updateProbability() public float getProbability() public void setRandomInitialState() public void setNeighborhood(Grid grid) public void setEmpty() public boolean isFull() public ForagingAntCell getNeighborWithMaxFoodPheremones() public ForagingAntCell getNeighborWithMaxHomePheremones() public float getNumHomePheremones() public float getNumFoodPheremones() public void dropAnt(Ant ant) public void addAnt(Ant ant) public void forageAnts() public void topOffFoodPheremones() public void topOffHomePheremones() public void depositFoodPheremones(float max) public void depositHomePheremones(float max) public boolean isEmpty() public void resetsAnt() public boolean hasAnts() } package simulations.AntForaging; public class ForagingAntGrid extends Grid { public ForagingAntGrid(int width, int Height, String xmlFileName) } package simulations.AntForaging; public class ForagingAnts extends Simulation{ public ForagingAnts(String XMLFileName) public void updateGrid() } package simulations.AntForaging; public class Nest extends ForagingAntCell { public Nest(int i, int j, String XMLFileName) public void birthAnts () public void setRandomInitialState() public void setNeighborhood(Grid grid) } package simulations.AntForaging; public class Obstacle extends ForagingAntCell { public Obstacle(int i, int j, String xmlFilename) } package simulations.AntForaging; public class Orientation { public ArrayList getForwardLocations(ForagingAntCell currentLocation) public void setOrientation(ForagingAntCell currCell, ForagingAntCell nextCell) } package simulations; public abstract class Cell { public Cell(int i, int j) public abstract void setNeighborhood(Grid grid); public abstract void setRandomInitialState(); public int getNeighborhoodSize() public int getCurrState() public Color getStateColor() public void addNeighbor(Cell neighbor) public void setCurrState(int state, Color color) public void commitState(Color color) public int getNextState() public Tuple getPosition() public Iterator getNeighbors() } package simulations.Fire; public class Fire extends Simulation { public Fire(String XMLFileName) } package simulations.Fire; public class FireCell extends Cell { public FireCell(int i, int j,String XMLFileName) public void setNextStateEmpty() public void setNextStateBurning() public void setNextStateTree() public void setEmpty() public void setTree() public void setBurning() public boolean isBurning() public boolean isEmpty() public void setRandomInitialState() public boolean isDoneBurning() public void updateBurnTime() public boolean doesCatchFire() public boolean isNeighborBurning() public void setNeighborhood(Grid grid) public int getTimeLeftBurning() } package simulations.Fire; public class FireGrid extends Grid{ public FireGrid(int width, int Height, String XMLFileName) } package simulations.GameOfLife; public class GameOfLife extends Simulation { * rules. Offers two public methods, getGrid() and updateGrid() so that public GameOfLife(String xmlFile) } package simulations.GameOfLife; public class GameOfLifeCell extends Cell { public GameOfLifeCell(int i, int j, String xmlFile) public void setNextStateDead() public void setNextStateAlive() public void setRandomState(int prob_Cell_Alive) public boolean isDead() public void setRandomInitialState() public int getNumNeighborsAlive() public void setNeighborhood(Grid grid) } package simulations.GameOfLife; public class GameOfLifeGrid extends Grid { public GameOfLifeGrid(int width, int Height, String XMLFileName) public Cell getNewCell(int i, int j, String XMLFileName) } package simulations; public abstract class Grid { public Grid(int width, int Height,String xmlFile) public Cell getCell(int i, int j) public int getWidth() public int getHeight() } package simulations; public class Neighborhood implements Iterable { public Neighborhood() public void addNeighbor(Cell neighboringCell) public void set_EightNeighbor_Wraparound(Cell currCell, Grid grid) public void set_EightNeighbor_NoWraparound(Cell currCell, Grid grid) public void set_Six_Neighbor_Wraparound(Cell currCell, Grid grid) public void set_Six_Neighbor_NoWraparound(Cell currCell, Grid grid) public void setDefaultFireNeighborhood(Cell currCell, Grid grid) public void set_FourNeighbor_NoWraparound(Cell currCell, Grid grid) public void set_FourNeighbor_Wraparound(Cell currCell, Grid grid) public int getNeighborhoodSize() public Iterator iterator() } package simulations.Segregation; public class Segregation extends Simulation{ public Segregation(String XMLFileName) } package simulations.Segregation; public class SegregationCell extends Cell { public SegregationCell(int i, int j,String XMLFileName) public void setRandomInitialState() public void setNeighborhood(Grid grid) public boolean isEmpty() public void setNextStateEmpty() public void stateDoesntChange() public void setNextStateToOtherCellState(SegregationCell otherCell) public boolean isSatisfied(Cell newSpot) } package simulations.Segregation; public class SegregationGrid extends Grid { public SegregationGrid(int width, int Height, String XMLFileName) } package simulations; public abstract class Simulation { public Simulation(String XMLFileName) public void updateGrid() public void setGrid(Grid grid) public int getGridHeight() public int getGridWidth() public Grid getGrid() public boolean isEdgeCell(Cell currCell) public Map getStateMap() } package simulations; public class Tuple { public Tuple(int i, int j) public int getIPos() public int getJPos() public boolean equals(Object other) } package simulations.Wator; public class Animal { public Animal(int timeUntilBreed) public boolean canBreed() public void resetTimeToBreed() public void decrementBreedTime() public int getType() } package simulations.Wator; public class Fish extends Animal{ public Fish(int timeToBreed) } package simulations.Wator; public class Shark extends Animal{ public Shark(int timeUntilBreed) public Shark (int timeUntilBreed, int starveCapacity) public boolean willStarve() public void markAsFull() public void decrementTimeUntilStarve() } package simulations.Wator; public class Wator extends Simulation{ public Wator(String XMLFileName) } package simulations.Wator; public class WatorCell extends Cell { public WatorCell(int i, int j, String XMLFileName) public boolean isEmpty() public boolean isShark() public boolean isFish() public void setNextStateEmpty() public void setNextStateShark() public void setNextStateFish() public void setRandomInitialState() public void setNeighborhood(Grid grid) public WatorCell getRandomNeighborByState(int state) } package simulations.Wator; public class WatorGrid extends Grid{ public WatorGrid(int width, int Height, String XMLFileName) } package xml; public class FireXMLParser extends XMLParser{ public FireXMLParser(String xmlFilename) public int getProbCatchFire() public int getBurnDownTime() public Color getBurningColor() public Color getEmptyColor() public Color getTreeColor() } package xml; public class ForagingAntsXMLParser extends XMLParser{ public ForagingAntsXMLParser(String xmlFilename) public int getNestILocation() public int getNestJLocation() public int getSourceILocation() public int getSourceJLocation() public int getMaxAnts() public int getMaxAntsPerLocation() public int getAntLifetime() public int getNumAntsAtNest() public int getNumAntsBornPerStep() public float getMinPheremone() public float getMaxPheremone() public float getEvaporationRatio() public float getDiffusionRatio() public int getPercentObstacles() public float getK() public float getN() public Color getNestColor() public Color getFoodSourceColor() public Color getAntsColor() public Color getFullCellColor() public Color getObstacleColor() public Color getEmptyColor() } package xml; public class GameOfLifeXMLParser extends XMLParser{ public GameOfLifeXMLParser(String xmlFilename) public int getProbOfCellAlive() public Color getAliveColor() public Color getDeadColor() } package xml; public class SegregationXMLParser extends XMLParser{ public SegregationXMLParser(String xmlFilename) public int getSatisfactionThreshold() public int getPercentOfAgentOne() public int getPercentOfAgentTwo() public int getPercentEmpty() public Color getEmptyColor() public Color getAgentOneColor() public Color getAgentTwoColor() } package xml; public class WatorXMLParser extends XMLParser{ public WatorXMLParser(String xmlFilename) public int getFishBreedTime() public int getSharkBreedTime() public int getSharkStarveTime() public int getPercentShark() public int getPercentFish() public int getPercentEmpty() public Color getFishColor() public Color getSharkColor() public Color getEmptyColor() } package xml; public class XMLParser { public XMLParser(String xmlFilename) public String getTextValueByTagName(String tagName, String defaultValue) public int getIntValueByTagName(String tagName, String defaultStringValue) public float getFloatValueByTagName(String tagName, String defaultStringValue) public boolean getBooleanValueByTagName(String tagName, String defaultStringValue) public Color getColor(String colorTag, String defaultColorString) public int getGridWidth() public int getGridHeight() public int getNumCellVertices() public boolean isToroidal() } package xml; public class XMLParserException extends RuntimeException{ public XMLParserException(Throwable cause) public XMLParserException() }