Interface ICoordinateSequenceFilter
- Namespace
- NetTopologySuite.Geometries
- Assembly
- NetTopologySuite.dll
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.
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
Done
Reports whether the application of this filter can be terminated.
bool Done { get; }
Property Value
Remarks
Once this method returns true
, it must
continue to return true
on every subsequent call.
- See Also
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.
bool GeometryChanged { get; }
Property Value
Remarks
Most filters can simply return a constant value reflecting whether they are able to change the coordinates.
- See Also
Methods
Filter(CoordinateSequence, int)
Performs an operation on a coordinate in a CoordinateSequence.
void Filter(CoordinateSequence seq, int i)
Parameters
seq
CoordinateSequencethe
CoordinateSequence
to which the filter is appliedi
inti the index of the coordinate to apply the filter to
- See Also