Class GraphComponent

java.lang.Object
org.locationtech.jts.planargraph.GraphComponent
Direct Known Subclasses:
DirectedEdge, Edge, Node

public abstract class GraphComponent extends Object
The base class for all graph component classes. Maintains flags of use in generic graph algorithms. Provides two flags:
  • marked - typically this is used to indicate a state that persists for the course of the graph's lifetime. For instance, it can be used to indicate that a component has been logically deleted from the graph.
  • visited - this is used to indicate that a component has been processed or visited by an single graph algorithm. For instance, a breadth-first traversal of the graph might use this to indicate that a node has already been traversed. The visited flag may be set and cleared many times during the lifetime of a graph.

Graph components support storing user context data. This will typically be used by client algorithms which use planar graphs.

Version:
1.7
  • Field Details

    • isMarked

      protected boolean isMarked
    • isVisited

      protected boolean isVisited
    • data

      private Object data
  • Constructor Details

    • GraphComponent

      public GraphComponent()
  • Method Details

    • setVisited

      public static void setVisited(Iterator i, boolean visited)
      Sets the Visited state for all GraphComponents in an Iterator
      Parameters:
      i - the Iterator to scan
      visited - the state to set the visited flag to
    • setMarked

      public static void setMarked(Iterator i, boolean marked)
      Sets the Marked state for all GraphComponents in an Iterator
      Parameters:
      i - the Iterator to scan
      marked - the state to set the Marked flag to
    • getComponentWithVisitedState

      public static GraphComponent getComponentWithVisitedState(Iterator i, boolean visitedState)
      Finds the first GraphComponent in a Iterator set which has the specified visited state.
      Parameters:
      i - an Iterator of GraphComponents
      visitedState - the visited state to test
      Returns:
      the first component found, or null if none found
    • isVisited

      public boolean isVisited()
      Tests if a component has been visited during the course of a graph algorithm
      Returns:
      true if the component has been visited
    • setVisited

      public void setVisited(boolean isVisited)
      Sets the visited flag for this component.
      Parameters:
      isVisited - the desired value of the visited flag
    • isMarked

      public boolean isMarked()
      Tests if a component has been marked at some point during the processing involving this graph.
      Returns:
      true if the component has been marked
    • setMarked

      public void setMarked(boolean isMarked)
      Sets the marked flag for this component.
      Parameters:
      isMarked - the desired value of the marked flag
    • setContext

      public void setContext(Object data)
      Sets the user-defined data for this component.
      Parameters:
      data - an Object containing user-defined data
    • getContext

      public Object getContext()
      Gets the user-defined data for this component.
      Returns:
      the user-defined data
    • setData

      public void setData(Object data)
      Sets the user-defined data for this component.
      Parameters:
      data - an Object containing user-defined data
    • getData

      public Object getData()
      Gets the user-defined data for this component.
      Returns:
      the user-defined data
    • isRemoved

      public abstract boolean isRemoved()
      Tests whether this component has been removed from its containing graph
      Returns:
      true if this component is removed