22 #ifndef GEOS_GEOM_POLYGON_H
23 #define GEOS_GEOM_POLYGON_H
25 #include <geos/export.h>
28 #include <geos/platform.h>
29 #include <geos/geom/Geometry.h>
30 #include <geos/geom/Polygonal.h>
31 #include <geos/geom/Envelope.h>
32 #include <geos/geom/Dimension.h>
34 #include <geos/inline.h>
42 class CoordinateArraySequence;
43 class CoordinateSequenceFilter;
89 size_t getNumPoints()
const;
95 virtual int getCoordinateDimension()
const;
98 int getBoundaryDimension()
const;
108 bool isEmpty()
const;
116 bool isSimple()
const;
122 size_t getNumInteriorRing()
const;
125 const LineString* getInteriorRingN(std::size_t n)
const;
127 std::string getGeometryType()
const;
129 bool equalsExact(
const Geometry *other,
double tolerance=0)
const;
141 int compareToSameClass(
const Geometry *p)
const;
145 double getArea()
const;
148 double getLength()
const;
154 bool isRectangle()
const;
184 std::vector<Geometry *> *holes;
186 Envelope::AutoPtr computeEnvelopeInternal()
const;
190 void normalize(
LinearRing *ring,
bool clockwise);
196 #endif // ndef GEOS_GEOM_POLYGON_H