Search Results for

    Show / Hide Table of Contents

    Interface ICoordinateSequenceFilter

    An interface for classes which process the coordinates in a CoordinateSequence. A filter can either record information about each coordinate, or change the value of the coordinate. Filters can be used to implement operations such as coordinate transformations, centroid and envelope computation, and many other functions. Geometry classes support the concept of applying a CoordinateSequenceFilter to each CoordinateSequences they contain.

    For maximum efficiency, the execution of filters can be short-circuited by using the Done property.
    Namespace: NetTopologySuite.Geometries
    Assembly: NetTopologySuite.dll
    Syntax
    public interface ICoordinateSequenceFilter
    Remarks

    CoordinateSequenceFilter is an example of the Gang-of-Four Visitor pattern.

    Note: In general, it is preferable to treat Geometrys as immutable. Mutation should be performed by creating a new Geometry object (see GeometryEditor and GeometryTransformer for convenient ways to do this). An exception to this rule is when a new Geometry has been created via Copy(). In this case mutating the Geometry will not cause aliasing issues, and a filter is a convenient way to implement coordinate transformation.

    Properties

    | Edit this page View Source

    Done

    Reports whether the application of this filter can be terminated.

    Declaration
    bool Done { get; }
    Property Value
    Type Description
    bool
    Remarks

    Once this method returns true, it must continue to return true on every subsequent call.

    | Edit this page View Source

    GeometryChanged

    Reports whether the execution of this filter has modified the coordinates of the geometry. If so, GeometryChanged() will be executed after this filter has finished being executed.

    Declaration
    bool GeometryChanged { get; }
    Property Value
    Type Description
    bool
    Remarks

    Most filters can simply return a constant value reflecting whether they are able to change the coordinates.

    Methods

    | Edit this page View Source

    Filter(CoordinateSequence, int)

    Performs an operation on a coordinate in a CoordinateSequence.

    Declaration
    void Filter(CoordinateSequence seq, int i)
    Parameters
    Type Name Description
    CoordinateSequence seq

    the CoordinateSequence to which the filter is applied

    int i

    i the index of the coordinate to apply the filter to

    See Also

    Apply(ICoordinateFilter)
    GeometryTransformer
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX