Search Results for

    Show / Hide Table of Contents

    Class SnapRoundingNoder

    Uses Snap Rounding to compute a rounded, fully noded arrangement from a set of ISegmentStrings, in a performant way, and avoiding unnecessary noding.

    Implements the Snap Rounding technique described in the papers by Hobby, Guibas & Marimont, and Goodrich et al. Snap Rounding enforces that all output vertices lie on a uniform grid, which is determined by the provided PrecisionModel.

    Input vertices do not have to be rounded to the grid beforehand; this is done during the snap-rounding process. In fact, rounding cannot be done a priori, since rounding vertices by themselves can distort the rounded topology of the arrangement (i.e. by moving segments away from hot pixels that would otherwise intersect them, or by moving vertices across segments).

    To minimize the number of introduced nodes, the Snap-Rounding Noder avoids creating nodes at edge vertices if there is no intersection or snap at that location. However, if two different input edges contain identical segments, each of the segment vertices will be noded. This still provides fully-noded output. This is the same behaviour provided by other noders, such as MCIndexNoder and SnappingNoder.
    Inheritance
    object
    SnapRoundingNoder
    Implements
    INoder
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: NetTopologySuite.Noding.Snapround
    Assembly: NetTopologySuite.dll
    Syntax
    public sealed class SnapRoundingNoder : INoder

    Constructors

    | Edit this page View Source

    SnapRoundingNoder(PrecisionModel)

    Declaration
    public SnapRoundingNoder(PrecisionModel pm)
    Parameters
    Type Name Description
    PrecisionModel pm
    | Edit this page View Source

    SnapRoundingNoder(PrecisionModel, ElevationModel)

    Declaration
    public SnapRoundingNoder(PrecisionModel pm, ElevationModel em)
    Parameters
    Type Name Description
    PrecisionModel pm
    ElevationModel em

    Methods

    | Edit this page View Source

    ComputeNodes(IList<ISegmentString>)

    Computes the nodes in the snap-rounding line arrangement. The nodes are added to the NodedSegmentStrings provided as the input.

    Declaration
    public void ComputeNodes(IList<ISegmentString> inputSegmentStrings)
    Parameters
    Type Name Description
    IList<ISegmentString> inputSegmentStrings

    A Collection of NodedSegmentStrings

    | Edit this page View Source

    GetNodedSubstrings()

    Gets a Collection of NodedSegmentStrings representing the substrings

    Declaration
    public IList<ISegmentString> GetNodedSubstrings()
    Returns
    Type Description
    IList<ISegmentString>

    Implements

    INoder
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX