PlanarGraph class

The computation of the 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, Geometrys must be self-noded before constructing their graphs.

Two fundamental operations are supported by topology graphs:

  • Computing the intersections between all the edges and nodes of a single graph
  • Computing the intersections between the edges and nodes of two different graphs

@version 1.7

Implementers

Properties

edgeEndList List
getter/setter pair
edges List
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
nodes NodeMap
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

add(EdgeEnd e) → void
addEdges(List edgesToAdd) → void
Add a set of edges to the graph. For each edge two DirectedEdges will be created. DirectedEdges are NOT linked by this method.
addNode(Node node) Node
addNodeFromCoordinate(Coordinate coord) Node
debugPrint(Object o) → void
debugPrintln(Object o) → void
find(Coordinate coord) Node?
@return the node if found; null otherwise
findEdge(Coordinate p0, Coordinate p1) Edge?
Returns the edge whose first two coordinates are p0 and p1
findEdgeEnd(Edge e) EdgeEnd?
Returns the EdgeEnd which has edge e as its base edge (MD 18 Feb 2002 - this should return a pair of edges)
findEdgeInSameDirection(Coordinate p0, Coordinate p1) Edge?
Returns the edge which starts at p0 and whose first segment is parallel to p1
getEdgeEnds() List
getEdgeIterator() Iterator
getNodeIterator() Iterator
getNodes() List
insertEdge(Edge e) → void
isBoundaryNode(int geomIndex, Coordinate coord) bool
linkAllDirectedEdges() → void
Link the DirectedEdges at the nodes of the graph. This allows clients to link only a subset of nodes in the graph, for efficiency (because they know that only a subset is of interest).
linkResultDirectedEdges() → void
Link the DirectedEdges at the nodes of the graph. This allows clients to link only a subset of nodes in the graph, for efficiency (because they know that only a subset is of interest).
matchInSameDirection(Coordinate p0, Coordinate p1, Coordinate ep0, Coordinate ep1) bool
The coordinate pairs match if they define line segments lying in the same direction. E.g. the segments are parallel and in the same quadrant (as opposed to parallel and opposite!).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

linkResultDirectedEdgesStatic(List nodes) → void
For nodes in the Collection, link the DirectedEdges at the node that are in the result. This allows clients to link only a subset of nodes in the graph, for efficiency (because they know that only a subset is of interest).