|
@@ -1,296 +0,0 @@
|
|
|
-package classes;
|
|
|
-
|
|
|
-import java.awt.Color;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-
|
|
|
-import ui.model.idCounter;
|
|
|
-
|
|
|
-/**
|
|
|
- * The abstract class "CpsObject" represents any possible object in the system
|
|
|
- * (except Edges). The representation of any object contains following
|
|
|
- * variables: see description of variables
|
|
|
- *
|
|
|
- * @author Gruppe14
|
|
|
- *
|
|
|
- */
|
|
|
-public abstract class CpsObject {
|
|
|
- /* Type of the Object */
|
|
|
- String objName;
|
|
|
- /* Name given by the user */
|
|
|
- String name;
|
|
|
- /* ID of the Obj. */
|
|
|
- int ID;
|
|
|
- /* Path of the image for the Obj. */
|
|
|
- String image;
|
|
|
- /* Array of neighbors */
|
|
|
- ArrayList<CpsEdge> connections;
|
|
|
- /* Position with a X and Y value */
|
|
|
- Position position;
|
|
|
- /*
|
|
|
- * Energy input and output of each object in the grid Where the Object is
|
|
|
- * Stored
|
|
|
- */
|
|
|
- String sav;
|
|
|
- /* BorderColor the user sets */
|
|
|
- Color BorderColor = Color.WHITE;
|
|
|
- /* a Tag that can be used */
|
|
|
- ArrayList<Integer> tags;
|
|
|
- /* tags that are only set to tags if wished */
|
|
|
- ArrayList<Integer> pseudoTags;
|
|
|
- /**
|
|
|
- * Constructor for a CpsObejct with an unique ID
|
|
|
- */
|
|
|
- public CpsObject(String objName) {
|
|
|
- setObjName(objName);
|
|
|
- setName(objName);
|
|
|
- setImage("/Images/Dummy_House.png");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Constructor for a new CpsObject with an unique ID (This constructor
|
|
|
- * correspond to the interaction between the Categories and Canvas)-->
|
|
|
- * actually the "new" Object is a copy.
|
|
|
- *
|
|
|
- * @param obj
|
|
|
- * Object to be copied
|
|
|
- */
|
|
|
- public CpsObject(CpsObject obj) {
|
|
|
- setObjName(obj.getObjName());
|
|
|
- setName(obj.getObjName());
|
|
|
- setConnections(new ArrayList<CpsEdge>());
|
|
|
- setPosition(new Position());
|
|
|
- setID(idCounter.nextId());
|
|
|
- setImage(obj.getImage());
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Getter for the type of the Object
|
|
|
- *
|
|
|
- * @return String
|
|
|
- */
|
|
|
- public String getObjName() {
|
|
|
- return objName;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set the type of Object
|
|
|
- *
|
|
|
- * @param objName
|
|
|
- * String
|
|
|
- */
|
|
|
- public void setObjName(String objName) {
|
|
|
- this.objName = objName;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Getter for the user-defined name (no unique)
|
|
|
- *
|
|
|
- * @return String
|
|
|
- */
|
|
|
- public String getName() {
|
|
|
- return name;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set the name
|
|
|
- *
|
|
|
- * @param name
|
|
|
- * String
|
|
|
- */
|
|
|
- public void setName(String name) {
|
|
|
- this.name = name;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Getter of the unique ID
|
|
|
- *
|
|
|
- * @return int
|
|
|
- */
|
|
|
- public int getID() {
|
|
|
- return ID;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set the ID to a new one
|
|
|
- *
|
|
|
- * @param iD
|
|
|
- * the iD to set
|
|
|
- */
|
|
|
- public void setID(int ID) {
|
|
|
- this.ID = ID;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Get the path of the image for the selected Object
|
|
|
- *
|
|
|
- * @return String
|
|
|
- */
|
|
|
- public String getImage() {
|
|
|
- return image;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set the path of the image
|
|
|
- *
|
|
|
- * @param image
|
|
|
- * the Image to set
|
|
|
- */
|
|
|
- public void setImage(String image) {
|
|
|
- this.image = image;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * List of all existing connections
|
|
|
- *
|
|
|
- * @return the connections ArrayList
|
|
|
- */
|
|
|
- public ArrayList<CpsEdge> getConnections() {
|
|
|
- return connections;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set a new ArrayList of connections (Update)
|
|
|
- *
|
|
|
- * @param arrayList
|
|
|
- * the connections to set
|
|
|
- */
|
|
|
- public void setConnections(ArrayList<CpsEdge> arrayList) {
|
|
|
- this.connections = arrayList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * List of all existing connections
|
|
|
- *
|
|
|
- * @return the connections ArrayList
|
|
|
- */
|
|
|
- public ArrayList<CpsEdge> getConnectedTo() {
|
|
|
- return connections;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Add a new connection to the selected Object
|
|
|
- *
|
|
|
- * @param toConnect
|
|
|
- * Edge
|
|
|
- */
|
|
|
- public void AddConnection(CpsEdge toConnect) {
|
|
|
- connections.add(toConnect);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set the position of the Object in the canvas
|
|
|
- *
|
|
|
- * @param pos
|
|
|
- * Coordinates
|
|
|
- */
|
|
|
- public void setPosition(Position pos) {
|
|
|
- this.position = pos;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set the position of the Object in the canvas
|
|
|
- *
|
|
|
- * @param x
|
|
|
- * X-Coord
|
|
|
- * @param y
|
|
|
- * Y-Coord
|
|
|
- */
|
|
|
- public void setPosition(int x, int y) {
|
|
|
- setPosition(new Position(x, y));
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Get the actual position of the Object
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public Position getPosition() {
|
|
|
- return position;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @return the stored
|
|
|
- */
|
|
|
- public String getSav() {
|
|
|
- return sav;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @param stored
|
|
|
- * the stored to set
|
|
|
- */
|
|
|
- public void setSav(String sav) {
|
|
|
- this.sav = sav;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Get the color of the border
|
|
|
- *
|
|
|
- * @return the BorderColor
|
|
|
- */
|
|
|
- public Color getBorderColor() {
|
|
|
- return BorderColor;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set the Border Color of this CpsObject
|
|
|
- *
|
|
|
- * @param the
|
|
|
- * BorderColor
|
|
|
- */
|
|
|
- public void setBorderColor(Color c) {
|
|
|
- this.BorderColor = c;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set the Color of the edges
|
|
|
- *
|
|
|
- * @param Color
|
|
|
- * the Color to set
|
|
|
- */
|
|
|
- public void setConnections(Color color) {
|
|
|
- this.BorderColor = color;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * For internal purpose (energy flow)
|
|
|
- *
|
|
|
- * @param tag
|
|
|
- */
|
|
|
- public void addTag(int tag) {
|
|
|
- this.tags.add(tag);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Get the actual tags
|
|
|
- *
|
|
|
- * @return ArrayList
|
|
|
- */
|
|
|
- public ArrayList<Integer> getTag() {
|
|
|
- return tags;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Rest the tags to Null
|
|
|
- */
|
|
|
- public void resetTags() {
|
|
|
- this.tags = new ArrayList<Integer>();
|
|
|
- }
|
|
|
-
|
|
|
- public void setTags(ArrayList<Integer> tags) {
|
|
|
- this.tags = tags;
|
|
|
- }
|
|
|
-
|
|
|
- public ArrayList<Integer> getPseudoTags(){
|
|
|
- return pseudoTags;
|
|
|
- }
|
|
|
-
|
|
|
- public void addPseudoTag(int pseudo){
|
|
|
- pseudoTags.add(pseudo);
|
|
|
- }
|
|
|
-
|
|
|
- public void setPseudoTags(ArrayList<Integer> tags){
|
|
|
- pseudoTags = tags;
|
|
|
- }
|
|
|
-}
|