GEOS  3.14.0dev
Public Member Functions | List of all members
geos::geom::CoordinateFilter Class Reference

Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geometry. More...

#include <CoordinateFilter.h>

Inheritance diagram for geos::geom::CoordinateFilter:
geos::operation::overlayng::PrecisionUtil::InherentScaleFilter

Public Member Functions

virtual bool isDone () const
 
virtual void filter_rw (CoordinateXY *) const
 Performs an operation on coord. More...
 
virtual void filter_ro (const CoordinateXY *)
 Performs an operation with coord. More...
 
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)
 

Detailed Description

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.

Member Function Documentation

◆ filter_ro()

virtual void geos::geom::CoordinateFilter::filter_ro ( const CoordinateXY *  )
inlinevirtual

Performs an operation with coord.

param coord a Coordinate to which the filter is applied.

◆ filter_rw()

virtual void geos::geom::CoordinateFilter::filter_rw ( CoordinateXY *  ) const
inlinevirtual

Performs an operation on coord.

param coord a Coordinate to which the filter is applied.


The documentation for this class was generated from the following file: