Class EdgeGraph

java.lang.Object
org.locationtech.jts.edgegraph.EdgeGraph

public class EdgeGraph extends Object
A graph comprised of HalfEdges. 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 then addEdge(Coordinate, Coordinate) can be overridden as well.

Author:
Martin Davis
  • Constructor Details

    • EdgeGraph

      public EdgeGraph()
  • Method Details

    • 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 location
      dest - the edge destination location.
      Returns:
      the created edge
      See Also:
    • 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 coordinate
      dest - the end coordinate
      Returns:
      true if the edge formed is valid
    • getVertexEdges

      public Collection getVertexEdges()
      Gets all HalfEdges in the graph. Both edges of edge pairs are included.
      Returns:
      a collection of the graph edges
    • 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 location
      dest - the destination location.
      Returns:
      an edge with the given orig and dest, or null if none exists