21 #ifndef GEOS_GEOM_POLYGON_H
22 #define GEOS_GEOM_POLYGON_H
24 #include <geos/export.h>
27 #include <geos/platform.h>
28 #include <geos/geom/Geometry.h>
29 #include <geos/geom/Polygonal.h>
30 #include <geos/geom/Envelope.h>
31 #include <geos/geom/Dimension.h>
33 #include <geos/inline.h>
41 class CoordinateArraySequence;
42 class CoordinateSequenceFilter;
88 size_t getNumPoints()
const override;
94 int getCoordinateDimension()
const override;
97 int getBoundaryDimension()
const override;
105 Geometry* getBoundary()
const override;
107 bool isEmpty()
const override;
115 bool isSimple()
const override;
121 size_t getNumInteriorRing()
const;
124 const LineString* getInteriorRingN(std::size_t n)
const;
126 std::string getGeometryType()
const override;
128 bool equalsExact(
const Geometry *other,
double tolerance=0)
const override;
136 Geometry* convexHull()
const override;
138 void normalize()
override;
142 int compareToSameClass(
const Geometry *p)
const override;
144 const Coordinate* getCoordinate()
const override;
146 double getArea()
const override;
149 double getLength()
const override;
155 bool isRectangle()
const override;
185 std::vector<Geometry *> *holes;
187 Envelope::Ptr computeEnvelopeInternal()
const override;
191 void normalize(
LinearRing *ring,
bool clockwise);
197 #endif // ndef GEOS_GEOM_POLYGON_H
Geometry classes support the concept of applying a Geometry filter to the Geometry.
Definition: GeometryFilter.h:48
std::vector< const Polygon * > ConstVect
A vector of const Polygon pointers.
Definition: Polygon.h:74
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Definition: CoordinateSequenceFilter.h:58
GeometryTypeId
Geometry types.
Definition: Geometry.h:75
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:177
Definition: CoordinateFilter.h:43
Definition: LineString.h:70
Definition: Polygonal.h:37
Represents a linear polygon, which may include holes.
Definition: Polygon.h:66
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:67
Models an OGC SFS LinearRing.
Definition: LinearRing.h:57
Geometry * clone() const override
Definition: Polygon.h:84
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:59
DimensionType
Definition: Dimension.h:31
Definition: GeometryComponentFilter.h:43