Class MonotoneChainEdge
- Namespace
- NetTopologySuite.GeometriesGraph.Index
- Assembly
- NetTopologySuite.dll
MonotoneChains are a way of partitioning the segments of an edge to allow for fast searching of intersections. They have the following properties: the segments within a monotone chain will never intersect each other, and the envelope of any contiguous subset of the segments in a monotone chain is simply the envelope of the endpoints of the subset. Property 1 means that there is no need to test pairs of segments from within the same monotone chain for intersection. Property 2 allows binary search to be used to find the intersection points of two monotone chains. For many types of real-world data, these properties eliminate a large number of segment comparisons, producing substantial speed gains.
public class MonotoneChainEdge
- Inheritance
-
MonotoneChainEdge
- Inherited Members
Constructors
MonotoneChainEdge(Edge)
public MonotoneChainEdge(Edge e)
Parameters
eEdge
Properties
Coordinates
public Coordinate[] Coordinates { get; }
Property Value
StartIndexes
public int[] StartIndexes { get; }
Property Value
- int[]
Methods
ComputeIntersects(MonotoneChainEdge, SegmentIntersector)
public void ComputeIntersects(MonotoneChainEdge mce, SegmentIntersector si)
Parameters
ComputeIntersectsForChain(int, MonotoneChainEdge, int, SegmentIntersector)
public void ComputeIntersectsForChain(int chainIndex0, MonotoneChainEdge mce, int chainIndex1, SegmentIntersector si)
Parameters
chainIndex0intmceMonotoneChainEdgechainIndex1intsiSegmentIntersector
GetMaxX(int)
public double GetMaxX(int chainIndex)
Parameters
chainIndexint
Returns
GetMinX(int)
public double GetMinX(int chainIndex)
Parameters
chainIndexint