17#include <geos/geom/Geometry.h>
32 using Geometry::Geometry;
92 bool hasM()
const override;
94 bool hasZ()
const override;
101 compareToSameClass(
const Geometry* g)
const override;
104 static std::unique_ptr<Geometry> createEmptyRing(
const GeometryFactory&);
106 virtual Curve* getExteriorRing() = 0;
108 virtual Curve* getInteriorRingN(std::size_t i) = 0;
Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geome...
Definition CoordinateFilter.h:43
Interface for classes which provide operations that can be applied to the coordinates in a Coordinate...
Definition CoordinateSequenceFilter.h:56
DimensionType
Definition Dimension.h:29
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
Definition GeometryComponentFilter.h:41
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition GeometryFactory.h:70
Geometry classes support the concept of applying a Geometry filter to the Geometry.
Definition GeometryFilter.h:45
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
std::unique_ptr< Geometry > convexHull() const override
Returns the smallest convex Polygon that contains all the points in the Geometry.
bool isEmpty() const override
Returns whether or not the set of points in this Geometry is empty.
uint8_t getCoordinateDimension() const override
Returns the coordinate dimension of this Geometry (2=XY, 3=XYZ or XYM, 4=XYZM).
const CoordinateXY * getCoordinate() const override
Returns a vertex of this Geometry, or NULL if this is the empty geometry.
bool equalsIdentical(const Geometry *other) const override
Returns true if the two geometries are of the same type and their vertices corresponding by index are...
bool equalsExact(const Geometry *other, double tolerance=0.0) const override
Returns true iff the two Geometrys are of the same type and their vertices corresponding by index are...
void geometryChangedAction() override
Notifies this Geometry that its Coordinates have been changed by an external party.
Definition Surface.h:110
Dimension::DimensionType getDimension() const override
Returns the dimension of this Geometry (0=point, 1=line, 2=surface)
Definition Surface.h:71
void apply_rw(CoordinateSequenceFilter &filter) override
virtual size_t getNumInteriorRing() const =0
Returns number of interior rings (holes)
int getBoundaryDimension() const override
Returns the dimension of this Geometrys inherent boundary.
Definition Surface.h:61
virtual const Curve * getExteriorRing() const =0
Returns the exterior ring (shell)
size_t getNumPoints() const override
Returns the count of this Geometrys vertices.
const Envelope * getEnvelopeInternal() const override
Returns the minimum and maximum x and y values in this Geometry, or a null Envelope if this Geometry ...
void apply_ro(CoordinateSequenceFilter &filter) const override
double getLength() const override
Returns the perimeter of this Surface.
virtual const Curve * getInteriorRingN(std::size_t n) const =0
Get nth interior ring (hole)
Basic namespace for all GEOS functionalities.
Definition geos.h:39