17 #include <geos/geom/Geometry.h> 32 using Geometry::Geometry;
52 std::unique_ptr<Geometry> convexHull()
const override;
55 equalsExact(
const Geometry* other,
double tolerance = 0.0)
const override;
58 equalsIdentical(
const Geometry* other)
const override;
66 const CoordinateXY* getCoordinate()
const override;
68 uint8_t getCoordinateDimension()
const override;
76 const Envelope* getEnvelopeInternal()
const override;
79 virtual const Curve* getExteriorRing()
const = 0;
82 virtual const Curve* getInteriorRingN(std::size_t n)
const = 0;
85 double getLength()
const override;
88 virtual size_t getNumInteriorRing()
const = 0;
90 size_t getNumPoints()
const override;
92 bool hasM()
const override;
94 bool hasZ()
const override;
96 bool isEmpty()
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 Geometry filter to the Geometry.
Definition: GeometryFilter.h:45
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition: Envelope.h:59
int getBoundaryDimension() const override
Returns the dimension of this Geometrys inherent boundary.
Definition: Surface.h:61
Dimension::DimensionType getDimension() const override
Returns the dimension of this Geometry (0=point, 1=line, 2=surface)
Definition: Surface.h:71
void geometryChangedAction() override
Notifies this Geometry that its Coordinates have been changed by an external party.
Definition: Surface.h:110
Interface for classes which provide operations that can be applied to the coordinates in a Coordinate...
Definition: CoordinateSequenceFilter.h:55
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:197
Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geome...
Definition: CoordinateFilter.h:43
Dimension value of a surface (2).
Definition: Dimension.h:46
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:70
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25
DimensionType
Definition: Dimension.h:29
Definition: GeometryComponentFilter.h:41