public class RelateNodeGraph extends Object
It is not necessary to create a fully linked PlanarGraph to determine relationships, since it is sufficient to know how the Geometries interact locally around the nodes. In fact, this is not even feasible, since it is not possible to compute exact intersection points, and hence the topology around those nodes cannot be computed robustly. The only Nodes that are created are for improper intersections; that is, nodes which occur at existing vertices of the Geometries. Proper intersections (e.g. ones which occur between the interior of line segments) have their topology determined implicitly, without creating a Node object to represent them.
Constructor and Description |
---|
RelateNodeGraph() |
Modifier and Type | Method and Description |
---|---|
void |
build(GeometryGraph geomGraph) |
void |
computeIntersectionNodes(GeometryGraph geomGraph,
int argIndex)
Insert nodes for all intersections on the edges of a Geometry.
|
void |
copyNodesAndLabels(GeometryGraph geomGraph,
int argIndex)
Copy all nodes from an arg geometry into this graph.
|
Iterator |
getNodeIterator() |
void |
insertEdgeEnds(List ee) |
public Iterator getNodeIterator()
public void build(GeometryGraph geomGraph)
public void computeIntersectionNodes(GeometryGraph geomGraph, int argIndex)
Precondition: edge intersections have been computed.
public void copyNodesAndLabels(GeometryGraph geomGraph, int argIndex)
public void insertEdgeEnds(List ee)
Copyright © 2024. All rights reserved.