diff options
Diffstat (limited to 'src/jcgp/gui/population/ChromosomePane.java')
-rw-r--r-- | src/jcgp/gui/population/ChromosomePane.java | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/src/jcgp/gui/population/ChromosomePane.java b/src/jcgp/gui/population/ChromosomePane.java deleted file mode 100644 index 7fa8a54..0000000 --- a/src/jcgp/gui/population/ChromosomePane.java +++ /dev/null @@ -1,106 +0,0 @@ -package jcgp.gui.population; - -import java.util.ArrayList; - -import javafx.scene.control.ScrollPane; -import javafx.scene.layout.Pane; -import javafx.scene.shape.Line; -import jcgp.GUI; -import jcgp.population.Chromosome; -import jcgp.population.Connection; -import jcgp.population.Input; -import jcgp.population.Node; - - -public class ChromosomePane extends ScrollPane { - - private GUINode[][] guiNodes; - private GUIInput[] guiInputs; - private GUIOutput[] guiOutputs; - - private Pane content; - - private ArrayList<Line> connectionLines; - - private boolean target = false; - - public ChromosomePane(Chromosome chromosome) { - super(); - connectionLines = new ArrayList<Line>(); - - //setMouseTransparent(true); - - content = new Pane(); - content.setId("content pane for genes"); - - // generate the GUIGenes - // inputs - guiInputs = new GUIInput[(int) GUI.resources.get("inputs")]; - for (int i = 0; i < guiInputs.length; i++) { - // make the GUI elements - guiInputs[i] = new GUIInput(this, chromosome.getInput(i)); - content.getChildren().addAll(guiInputs[i]); - } - // nodes - guiNodes = new GUINode[(int) GUI.resources.get("rows")][(int) GUI.resources.get("columns")]; - double angle, xPos, yPos; - for (int r = 0; r < guiNodes.length; r++) { - for (int c = 0; c < guiNodes[r].length; c++) { - // make the connection lines - Line lines[] = new Line[(int) GUI.resources.get("arity")]; - for (int l = 0; l < lines.length; l++) { - angle = ((((double) (l + 1)) / ((double) (lines.length + 1))) * GUIGene.THETA) - (GUIGene.THETA / 2); - xPos = (-Math.cos(angle) * GUIGene.NODE_RADIUS) + (((c + 1) * (2 * GUIGene.NODE_RADIUS + GUIGene.SPACING)) + GUIGene.NODE_RADIUS); - yPos = (Math.sin(angle) * GUIGene.NODE_RADIUS) + ((r * (2 * GUIGene.NODE_RADIUS + GUIGene.SPACING)) + GUIGene.NODE_RADIUS); - - lines[l] = new Line(xPos, yPos, xPos, yPos); - lines[l].setMouseTransparent(true); - lines[l].setVisible(false); - connectionLines.add(lines[l]); - } - // make the GUI elements - guiNodes[r][c] = new GUINode(this, chromosome.getNode(r, c), lines); - } - content.getChildren().addAll(guiNodes[r]); - } - - // outputs - guiOutputs = new GUIOutput[(int) GUI.resources.get("outputs")]; - for (int i = 0; i < guiOutputs.length; i++) { - xPos = (((int) GUI.resources.get("columns") + 1) * (2 * GUIGene.NODE_RADIUS + GUIGene.SPACING)); - yPos = (chromosome.getOutput(i).getIndex() * (2 * GUIGene.NODE_RADIUS + GUIGene.SPACING)) + GUIGene.NODE_RADIUS; - // make the line - Line line = new Line(xPos, yPos, xPos, yPos); - line.setMouseTransparent(true); - line.setVisible(false); - connectionLines.add(line); - // make the GUI elements - guiOutputs[i] = new GUIOutput(this, chromosome.getOutput(i), line); - content.getChildren().addAll(guiOutputs[i]); - } - - content.getChildren().addAll(connectionLines); - setPrefWidth(620); - setContent(content); - } - - public GUIGene getGuiGene(Connection gene) { - if (gene instanceof Input) { - return guiInputs[((Input) gene).getIndex()]; - } else if (gene instanceof Node) { - return guiNodes[((Node) gene).getRow()][((Node) gene).getColumn()]; - } else { - // something bad happened! - throw new ClassCastException(); - } - - } - - public boolean isTarget() { - return target; - } - - public void setTarget(boolean newValue) { - target = newValue; - } -} |