Geometry classes support the concept of applying a
GeometryComponentFilter filter to the
Geometry. The filter is applied to every component of the
Geometry which is itself a
Geometry and which does not itself contain any components. (For instance, all the
LinearRings in
Polygons are visited, but in a
MultiPolygon the
Polygons themselves are not visited.) Thus the only classes of Geometry which must be handled as arguments to
filter are
LineStrings,
LinearRings and
Points.
A GeometryComponentFilter filter can either record information about the Geometry or change the Geometry in some way. GeometryComponentFilter is an example of the Gang-of-Four Visitor pattern.
geom.
Geometry to which the filter is applied.