Class PlanarGraph

  • Direct Known Subclasses:
    LineMergeGraph

    public abstract class PlanarGraph
    extends java.lang.Object
    Represents a directed graph which is embeddable in a planar surface.

    This class and the other classes in this package serve as a framework for building planar graphs for specific algorithms. This class must be subclassed to expose appropriate methods to construct the graph. This allows controlling the types of graph components (DirectedEdges, Edges and Nodes) which can be added to the graph. An application which uses the graph framework will almost always provide subclasses for one or more graph components, which hold application-specific data and graph algorithms.

    Version:
    1.7
    • Constructor Summary

      Constructors 
      Constructor Description
      PlanarGraph()
      Constructs a empty graph.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean contains​(DirectedEdge de)
      Tests whether this graph contains the given DirectedEdge
      boolean contains​(Edge e)
      Tests whether this graph contains the given Edge
      java.util.Iterator dirEdgeIterator()
      Returns an Iterator over the DirectedEdges in this PlanarGraph, in the order in which they were added.
      java.util.Iterator edgeIterator()
      Returns an Iterator over the Edges in this PlanarGraph, in the order in which they were added.
      Node findNode​(Coordinate pt)
      Returns the Node at the given location, or null if no Node was there.
      java.util.List findNodesOfDegree​(int degree)
      Returns all Nodes with the given number of Edges around it.
      java.util.Collection getEdges()
      Returns the Edges that have been added to this PlanarGraph
      java.util.Collection getNodes()  
      java.util.Iterator nodeIterator()
      Returns an Iterator over the Nodes in this PlanarGraph.
      void remove​(DirectedEdge de)
      Removes a DirectedEdge from its from-Node and from this graph.
      void remove​(Edge edge)
      Removes an Edge and its associated DirectedEdges from their from-Nodes and from the graph.
      void remove​(Node node)
      Removes a node from the graph, along with any associated DirectedEdges and Edges.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PlanarGraph

        public PlanarGraph()
        Constructs a empty graph.
    • Method Detail

      • findNode

        public Node findNode​(Coordinate pt)
        Returns the Node at the given location, or null if no Node was there.
        Parameters:
        pt - the location to query
        Returns:
        the node found or null if this graph contains no node at the location
      • nodeIterator

        public java.util.Iterator nodeIterator()
        Returns an Iterator over the Nodes in this PlanarGraph.
      • contains

        public boolean contains​(Edge e)
        Tests whether this graph contains the given Edge
        Parameters:
        e - the edge to query
        Returns:
        true if the graph contains the edge
      • contains

        public boolean contains​(DirectedEdge de)
        Tests whether this graph contains the given DirectedEdge
        Parameters:
        de - the directed edge to query
        Returns:
        true if the graph contains the directed edge
      • getNodes

        public java.util.Collection getNodes()
      • dirEdgeIterator

        public java.util.Iterator dirEdgeIterator()
        Returns an Iterator over the DirectedEdges in this PlanarGraph, in the order in which they were added.
        See Also:
        add(Edge), add(DirectedEdge)
      • edgeIterator

        public java.util.Iterator edgeIterator()
        Returns an Iterator over the Edges in this PlanarGraph, in the order in which they were added.
        See Also:
        add(Edge)
      • getEdges

        public java.util.Collection getEdges()
        Returns the Edges that have been added to this PlanarGraph
        See Also:
        add(Edge)
      • remove

        public void remove​(Edge edge)
        Removes an Edge and its associated DirectedEdges from their from-Nodes and from the graph. Note: This method does not remove the Nodes associated with the Edge, even if the removal of the Edge reduces the degree of a Node to zero.
      • remove

        public void remove​(DirectedEdge de)
        Removes a DirectedEdge from its from-Node and from this graph. This method does not remove the Nodes associated with the DirectedEdge, even if the removal of the DirectedEdge reduces the degree of a Node to zero.
      • remove

        public void remove​(Node node)
        Removes a node from the graph, along with any associated DirectedEdges and Edges.
      • findNodesOfDegree

        public java.util.List findNodesOfDegree​(int degree)
        Returns all Nodes with the given number of Edges around it.