# geos::geom::CoordinateFilter Class Reference

`#include <CoordinateFilter.h>`

Inheritance diagram for geos::geom::CoordinateFilter:

List of all members.

## Public Member Functions

virtual void | filter_rw (Coordinate *) const
virtual void | filter_ro (const Coordinate *)

## 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.

TODO: provide geom::CoordinateInspector and geom::CoordinateMutator instead of having the two versions of filter_rw and filter_ro

## Member Function Documentation

virtual void geos::geom::CoordinateFilter::filter_rw | ( | Coordinate * |  | ) | const`[inline, virtual]`

Performs an operation on `coord`.

Parameters:

  | coord | a `Coordinate` to which the filter is applied.

virtual void geos::geom::CoordinateFilter::filter_ro | ( | const Coordinate * |  | ) | `[inline, virtual]`

Performs an operation with `coord`.

Parameters:

  | coord | a `Coordinate` to which the filter is applied.

Reimplemented in geos::util::CoordinateArrayFilter.

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

- CoordinateFilter.h