Table of Contents

Class SegmentIntersector

Namespace
NetTopologySuite.GeometriesGraph.Index
Assembly
NetTopologySuite.dll

Computes the intersection of line segments, and adds the intersection to the edges containing the segments.

public class SegmentIntersector
Inheritance
SegmentIntersector
Inherited Members

Constructors

SegmentIntersector(LineIntersector, bool, bool)

public SegmentIntersector(LineIntersector li, bool includeProper, bool recordIsolated)

Parameters

li LineIntersector
includeProper bool
recordIsolated bool

Fields

NumTests

Testing only.

public int NumTests

Field Value

int

Properties

HasIntersection

public bool HasIntersection { get; }

Property Value

bool

HasProperInteriorIntersection

A proper interior intersection is a proper intersection which is not contained in the set of boundary nodes set for this SegmentIntersector.

public bool HasProperInteriorIntersection { get; }

Property Value

bool

Indicates a proper interior intersection

HasProperIntersection

A proper intersection is an intersection which is interior to at least two line segments. Note that a proper intersection is not necessarily in the interior of the entire Geometry, since another edge may have an endpoint equal to the intersection, which according to SFS semantics can result in the point being on the Boundary of the Geometry.

public bool HasProperIntersection { get; }

Property Value

bool

Indicates a proper intersection with an interior to at least two line segments

IsDone

Gets a value indicating that the segment intersector is finished.

public bool IsDone { get; }

Property Value

bool

Remarks

Always returns false

IsDoneIfProperInt

Sets a flag if the segment intersector is done when a proper intersection has been found.

[Obsolete("Not used anymore, will be removed in a later version")]
public bool IsDoneIfProperInt { set; }

Property Value

bool

Remarks

Has no effect anymore.

ProperIntersectionPoint

public Coordinate ProperIntersectionPoint { get; }

Property Value

Coordinate

The proper intersection point, or null if none was found.

Methods

AddIntersections(Edge, int, Edge, int)

This method is called by clients of the EdgeIntersector class to test for and add intersections for two segments of the edges being intersected. Note that clients (such as MonotoneChainEdges) may choose not to intersect certain pairs of segments for efficiency reasons.

public void AddIntersections(Edge e0, int segIndex0, Edge e1, int segIndex1)

Parameters

e0 Edge
segIndex0 int
e1 Edge
segIndex1 int

IsAdjacentSegments(int, int)

public static bool IsAdjacentSegments(int i1, int i2)

Parameters

i1 int
i2 int

Returns

bool

SetBoundaryNodes(IList<Node>, IList<Node>)

public void SetBoundaryNodes(IList<Node> bdyNodes0, IList<Node> bdyNodes1)

Parameters

bdyNodes0 IList<Node>
bdyNodes1 IList<Node>