17 #include <geos/export.h>
18 #include <geos/geom/Coordinate.h>
48 virtual bool isDone()
const
78 filter_rw(
static_cast<CoordinateXY*
>(c));
82 filter_ro(
const Coordinate* c)
84 filter_ro(
static_cast<const CoordinateXY*
>(c));
88 filter_rw(CoordinateXYM* c)
const
90 filter_rw(
static_cast<CoordinateXY*
>(c));
94 filter_ro(
const CoordinateXYM* c)
96 filter_ro(
static_cast<const CoordinateXY*
>(c));
100 filter_rw(CoordinateXYZM* c)
const
102 filter_rw(
static_cast<Coordinate*
>(c));
106 filter_ro(
const CoordinateXYZM* c)
108 filter_ro(
static_cast<const Coordinate*
>(c));
112 template<
class Derived>
113 class CoordinateInspector :
public CoordinateFilter
116 virtual void filter_ro(
const CoordinateXY* c)
override {
static_cast<Derived*
>(
this)->filter(c); }
117 virtual void filter_ro(
const Coordinate* c)
override {
static_cast<Derived*
>(
this)->filter(c); }
118 virtual void filter_ro(
const CoordinateXYM* c)
override {
static_cast<Derived*
>(
this)->filter(c); }
119 virtual void filter_ro(
const CoordinateXYZM* c)
override {
static_cast<Derived*
>(
this)->filter(c); }
122 template<
class Derived>
123 class CoordinateMutator :
public CoordinateFilter
126 virtual void filter_rw(CoordinateXY* c)
const override {
static_cast<const Derived*
>(
this)->filter(c); }
127 virtual void filter_rw(Coordinate* c)
const override {
static_cast<const Derived*
>(
this)->filter(c); }
128 virtual void filter_rw(CoordinateXYM* c)
const override {
static_cast<const Derived*
>(
this)->filter(c); }
129 virtual void filter_rw(CoordinateXYZM* c)
const override {
static_cast<const Derived*
>(
this)->filter(c); }
Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geome...
Definition: CoordinateFilter.h:43
virtual void filter_ro(const CoordinateXY *)
Performs an operation with coord.
Definition: CoordinateFilter.h:70
virtual void filter_rw(CoordinateXY *) const
Performs an operation on coord.
Definition: CoordinateFilter.h:59
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:217
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25