21 #ifndef GEOS_GEOS_GEOMETRYCOLLECTION_H
22 #define GEOS_GEOS_GEOMETRYCOLLECTION_H
24 #include <geos/export.h>
25 #include <geos/geom/Geometry.h>
27 #include <geos/geom/Envelope.h>
28 #include <geos/geom/Dimension.h>
30 #include <geos/inline.h>
40 class CoordinateArraySequence;
41 class CoordinateSequenceFilter;
62 typedef std::vector<Geometry *>::const_iterator const_iterator;
64 typedef std::vector<Geometry *>::iterator iterator;
66 const_iterator begin()
const;
68 const_iterator end()
const;
97 virtual bool isEmpty()
const;
109 virtual int getCoordinateDimension()
const;
111 virtual Geometry* getBoundary()
const;
118 virtual int getBoundaryDimension()
const;
120 virtual std::size_t getNumPoints()
const;
122 virtual std::string getGeometryType()
const;
126 virtual bool equalsExact(
const Geometry *other,
127 double tolerance=0)
const;
145 virtual void normalize();
147 virtual const Coordinate* getCoordinate()
const;
150 virtual double getArea()
const;
153 virtual double getLength()
const;
156 virtual std::size_t getNumGeometries()
const;
159 virtual const Geometry* getGeometryN(std::size_t n)
const;
192 std::vector<Geometry *>* geometries;
194 virtual Envelope::AutoPtr computeEnvelopeInternal()
const;
196 virtual int compareToSameClass(
const Geometry *gc)
const;
204 # include "geos/geom/GeometryCollection.inl"
207 #endif // ndef GEOS_GEOS_GEOMETRYCOLLECTION_H