Package org.meteoinfo.jts.edgegraph
Class EdgeGraph
- java.lang.Object
-
- org.meteoinfo.jts.edgegraph.EdgeGraph
-
public class EdgeGraph extends java.lang.ObjectA graph comprised ofHalfEdges. It supports tracking the vertices in the graph via edges incident on them, to allow efficient lookup of edges and vertices.This class may be subclassed to use a different subclass of HalfEdge, by overriding
createEdge(Coordinate). If additional logic is required to initialize edges thenaddEdge(Coordinate, Coordinate)can be overridden as well.
-
-
Constructor Summary
Constructors Constructor Description EdgeGraph()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description HalfEdgeaddEdge(Coordinate orig, Coordinate dest)Adds an edge between the coordinates orig and dest to this graph.protected HalfEdgecreateEdge(Coordinate orig)Creates a single HalfEdge.HalfEdgefindEdge(Coordinate orig, Coordinate dest)Finds an edge in this graph with the given origin and destination, if one exists.java.util.CollectiongetVertexEdges()static booleanisValidEdge(Coordinate orig, Coordinate dest)Tests if the given coordinates form a valid edge (with non-zero length).
-
-
-
Method Detail
-
createEdge
protected HalfEdge createEdge(Coordinate orig)
Creates a single HalfEdge. Override to use a different HalfEdge subclass.- Parameters:
orig- the origin location- Returns:
- a new HalfEdge with the given origin
-
addEdge
public HalfEdge addEdge(Coordinate orig, Coordinate dest)
Adds an edge between the coordinates orig and dest to this graph. Only valid edges can be added (in particular, zero-length segments cannot be added)- Parameters:
orig- the edge origin locationdest- the edge destination location.- Returns:
- the created edge
-
isValidEdge
public static boolean isValidEdge(Coordinate orig, Coordinate dest)
Tests if the given coordinates form a valid edge (with non-zero length).- Parameters:
orig- the start coordinatedest- the end coordinate- Returns:
- true if the edge formed is valid
-
getVertexEdges
public java.util.Collection getVertexEdges()
-
findEdge
public HalfEdge findEdge(Coordinate orig, Coordinate dest)
Finds an edge in this graph with the given origin and destination, if one exists.- Parameters:
orig- the origin locationdest- the destination location.- Returns:
- an edge with the given orig and dest, or null if none exists
-
-