aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/gui/population/ChromosomePane.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jcgp/gui/population/ChromosomePane.java')
-rw-r--r--src/jcgp/gui/population/ChromosomePane.java106
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;
- }
-}