Class RelateNodeGraph
Implements the simple graph of Nodes and EdgeEnd which is all that is
required to determine topological relationships between Geometries.
Also supports building a topological graph of a single Geometry, to
allow verification of valid topology.
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.
Inheritance
RelateNodeGraph
Assembly: NetTopologySuite.dll
Syntax
public class RelateNodeGraph
Methods
|
Improve this Doc
View Source
Build(GeometryGraph)
Declaration
public void Build(GeometryGraph geomGraph)
Parameters
|
Improve this Doc
View Source
ComputeIntersectionNodes(GeometryGraph, Int32)
Insert nodes for all intersections on the edges of a Geometry.
Label the created nodes the same as the edge label if they do not already have a label.
This allows nodes created by either self-intersections or
mutual intersections to be labelled.
Endpoint nodes will already be labelled from when they were inserted.
Precondition: edge intersections have been computed.
Declaration
public void ComputeIntersectionNodes(GeometryGraph geomGraph, int argIndex)
Parameters
|
Improve this Doc
View Source
CopyNodesAndLabels(GeometryGraph, Int32)
Copy all nodes from an arg point into this graph.
The node label in the arg point overrides any previously computed
label for that argIndex.
(E.g. a node may be an intersection node with
a computed label of Boundary,
but in the original arg Geometry it is actually
in the interior due to the Boundary Determination Rule).
Declaration
public void CopyNodesAndLabels(GeometryGraph geomGraph, int argIndex)
Parameters
|
Improve this Doc
View Source
GetNodeEnumerator()
Declaration
public IEnumerator<Node> GetNodeEnumerator()
Returns
|
Improve this Doc
View Source
InsertEdgeEnds(IList<EdgeEnd>)
Declaration
public void InsertEdgeEnds(IList<EdgeEnd> ee)
Parameters