Alexman-Clemford/src/main/org/insa/graph/Graph.java
2018-02-20 11:41:02 +01:00

60 lines
1 KiB
Java

package org.insa.graph ;
import java.util.ArrayList;
public class Graph {
// Map identifier.
private int mapId;
// Nodes of the graph.
private ArrayList<Node> nodes;
/**
* @param mapId
* @param nodes
*/
public Graph(int mapId, ArrayList<Node> nodes) {
this.mapId = mapId;
this.nodes = nodes;
}
/**
* @return Nodes of this graph.
*/
public ArrayList<Node> getNodes() { return nodes; }
/**
* Find the closet node to the given point.
*
* @param point
*
* @return Closest node to the given point.
*/
public Node findClosestNode(Point point) {
Node node = null;
double minDis = Double.POSITIVE_INFINITY;
for (int n = 0 ; n < nodes.size(); ++n) {
double dis = point.distanceTo(nodes.get(n).getPoint());
if (dis < minDis) {
node = nodes.get(n);
minDis = dis;
}
}
return node;
}
/**
* @return Map ID of this graph.
*/
public int getMapId() { return mapId; }
/**
* @return Return the transpose graph of this graph.
*/
public Graph transpose() {
// TODO:
return null;
}
}