Package org.locationtech.jts.planargraph
Class GraphComponent
- java.lang.Object
-
- org.locationtech.jts.planargraph.GraphComponent
-
- Direct Known Subclasses:
DirectedEdge
,Edge
,Node
public abstract class GraphComponent extends java.lang.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
-
-
Constructor Summary
Constructors Constructor Description GraphComponent()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static GraphComponent
getComponentWithVisitedState(java.util.Iterator i, boolean visitedState)
Finds the firstGraphComponent
in aIterator
set which has the specified visited state.java.lang.Object
getContext()
Gets the user-defined data for this component.java.lang.Object
getData()
Gets the user-defined data for this component.boolean
isMarked()
Tests if a component has been marked at some point during the processing involving this graph.abstract boolean
isRemoved()
Tests whether this component has been removed from its containing graphboolean
isVisited()
Tests if a component has been visited during the course of a graph algorithmvoid
setContext(java.lang.Object data)
Sets the user-defined data for this component.void
setData(java.lang.Object data)
Sets the user-defined data for this component.void
setMarked(boolean isMarked)
Sets the marked flag for this component.static void
setMarked(java.util.Iterator i, boolean marked)
Sets the Marked state for allGraphComponent
s in anIterator
void
setVisited(boolean isVisited)
Sets the visited flag for this component.static void
setVisited(java.util.Iterator i, boolean visited)
Sets the Visited state for allGraphComponent
s in anIterator
-
-
-
Method Detail
-
setVisited
public static void setVisited(java.util.Iterator i, boolean visited)
Sets the Visited state for allGraphComponent
s in anIterator
- Parameters:
i
- the Iterator to scanvisited
- the state to set the visited flag to
-
setMarked
public static void setMarked(java.util.Iterator i, boolean marked)
Sets the Marked state for allGraphComponent
s in anIterator
- Parameters:
i
- the Iterator to scanmarked
- the state to set the Marked flag to
-
getComponentWithVisitedState
public static GraphComponent getComponentWithVisitedState(java.util.Iterator i, boolean visitedState)
Finds the firstGraphComponent
in aIterator
set which has the specified visited state.- Parameters:
i
- an Iterator of GraphComponentsvisitedState
- 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(java.lang.Object data)
Sets the user-defined data for this component.- Parameters:
data
- an Object containing user-defined data
-
getContext
public java.lang.Object getContext()
Gets the user-defined data for this component.- Returns:
- the user-defined data
-
setData
public void setData(java.lang.Object data)
Sets the user-defined data for this component.- Parameters:
data
- an Object containing user-defined data
-
getData
public java.lang.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
-
-