GEOS 3.14.0dev
|
Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geometry. More...
#include <CoordinateFilter.h>
Public Member Functions | |
virtual bool | isDone () const |
virtual void | filter_rw (CoordinateXY *) const |
Performs an operation on coord . | |
virtual void | filter_ro (const CoordinateXY *) |
Performs an operation with coord . | |
virtual void | filter_rw (Coordinate *c) const |
virtual void | filter_ro (const Coordinate *c) |
virtual void | filter_rw (CoordinateXYM *c) const |
virtual void | filter_ro (const CoordinateXYM *c) |
virtual void | filter_rw (CoordinateXYZM *c) const |
virtual void | filter_ro (const CoordinateXYZM *c) |
Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geometry.
A coordinate filter can either record information about each coordinate or change the coordinate in some way. Coordinate filters implement the interface CoordinateFilter
. (CoordinateFilter
is an example of the Gang-of-Four Visitor pattern). Coordinate filters can be used to implement such things as coordinate transformations, centroid and envelope computation, and many other functions.
A CoordinateFilter should be able to process a CoordinateXY object and can optionally provide specialized implementations for higher-dimensionality Coordinates. If the behavior can be templated on coordinate type, then a filter may inherit from CoordinateInspector or CoordinateMutator to generate these implementations from a template.
|
inlinevirtual |
Performs an operation with coord
.
param coord
a Coordinate to which the filter is applied.
|
inlinevirtual |
Performs an operation on coord
.
param coord
a Coordinate to which the filter is applied.