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, Geometry
s 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
Constructors
- PlanarGraph()
- PlanarGraph.withFactory(NodeFactory nodeFact)
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).