using System.Collections; namespace GisSharpBlog.NetTopologySuite.Noding { /// /// Base class for s which make a single pass to find intersections. /// This allows using a custom /// (which for instance may simply identify intersections, rather than insert them). /// public abstract class SinglePassNoder : INoder { private ISegmentIntersector segInt = null; /// /// Initializes a new instance of the class. /// public SinglePassNoder() { } /// /// Initializes a new instance of the class. /// /// The to use. public SinglePassNoder(ISegmentIntersector segInt) { this.segInt = segInt; } /// /// Gets/sets the to use with this noder. /// A will normally add intersection nodes /// to the input segment strings, but it may not - it may /// simply record the presence of intersections. /// However, some s may require that intersections be added. /// public ISegmentIntersector SegmentIntersector { get { return segInt; } set { segInt = value; } } /// /// Computes the noding for a collection of s. /// Some Noders may add all these nodes to the input s; /// others may only add some or none at all. /// /// public abstract void ComputeNodes(IList segStrings); /// /// Returns a of fully noded s. /// The s have the same context as their parent. /// /// public abstract IList GetNodedSubstrings(); } }