GeometryGraph
public class PlanarGraph
extends java.lang.Object
IntersectionMatrix
relies on the use of a structure
called a "topology graph". The topology graph contains nodes and edges
corresponding to the nodes and line segments of a Geometry
. Each
node and edge in the graph is labeled with its topological location relative to
the source geometry.
Note that there is no requirement that points of self-intersection be a vertex.
Thus to obtain a correct topology graph, Geometry
s must be
self-noded before constructing their graphs.
Two fundamental operations are supported by topology graphs:
Constructor | Description |
---|---|
PlanarGraph() |
|
PlanarGraph(NodeFactory nodeFact) |
Modifier and Type | Method | Description |
---|---|---|
void |
add(EdgeEnd e) |
|
void |
addEdges(java.util.List edgesToAdd) |
Add a set of edges to the graph.
|
Node |
addNode(Coordinate coord) |
|
Node |
addNode(Node node) |
|
Node |
find(Coordinate coord) |
|
Edge |
findEdge(Coordinate p0,
Coordinate p1) |
Returns the edge whose first two coordinates are p0 and p1
|
EdgeEnd |
findEdgeEnd(Edge e) |
Returns the EdgeEnd which has edge e as its base edge
(MD 18 Feb 2002 - this should return a pair of edges)
|
Edge |
findEdgeInSameDirection(Coordinate p0,
Coordinate p1) |
Returns the edge which starts at p0 and whose first segment is
parallel to p1
|
java.util.Collection |
getEdgeEnds() |
|
java.util.Iterator |
getEdgeIterator() |
|
java.util.Iterator |
getNodeIterator() |
|
java.util.Collection |
getNodes() |
|
boolean |
isBoundaryNode(int geomIndex,
Coordinate coord) |
|
void |
linkAllDirectedEdges() |
Link the DirectedEdges at the nodes of the graph.
|
void |
linkResultDirectedEdges() |
Link the DirectedEdges at the nodes of the graph.
|
static void |
linkResultDirectedEdges(java.util.Collection nodes) |
For nodes in the Collection, link the DirectedEdges at the node that are in the result.
|
void |
printEdges(java.io.PrintStream out) |
public PlanarGraph(NodeFactory nodeFact)
public PlanarGraph()
public static void linkResultDirectedEdges(java.util.Collection nodes)
public java.util.Iterator getEdgeIterator()
public java.util.Collection getEdgeEnds()
public boolean isBoundaryNode(int geomIndex, Coordinate coord)
public void add(EdgeEnd e)
public java.util.Iterator getNodeIterator()
public java.util.Collection getNodes()
public Node addNode(Coordinate coord)
public Node find(Coordinate coord)
public void addEdges(java.util.List edgesToAdd)
public void linkResultDirectedEdges()
public void linkAllDirectedEdges()
public EdgeEnd findEdgeEnd(Edge e)
null
if the edge was not foundpublic Edge findEdge(Coordinate p0, Coordinate p1)
null
if the edge was not foundpublic Edge findEdgeInSameDirection(Coordinate p0, Coordinate p1)
null
if the edge was not foundpublic void printEdges(java.io.PrintStream out)
Copyright © 2018. All rights reserved.