20 #ifndef GEOS_GEOS_GEOMETRYCOLLECTION_H 21 #define GEOS_GEOS_GEOMETRYCOLLECTION_H 38 class CoordinateArraySequence;
39 class CoordinateSequenceFilter;
64 const_iterator begin()
const;
66 const_iterator end()
const;
74 std::unique_ptr<Geometry>
82 void setSRID(
int)
override;
97 std::unique_ptr<CoordinateSequence> getCoordinates()
const override;
99 bool isEmpty()
const override;
113 uint8_t getCoordinateDimension()
const override;
115 std::unique_ptr<Geometry> getBoundary()
const override;
122 int getBoundaryDimension()
const override;
124 std::size_t getNumPoints()
const override;
126 std::string getGeometryType()
const override;
130 bool equalsExact(
const Geometry* other,
131 double tolerance = 0)
const override;
149 void normalize()
override;
151 const Coordinate* getCoordinate()
const override;
154 double getArea()
const override;
157 double getLength()
const override;
160 std::size_t getNumGeometries()
const override;
163 const Geometry* getGeometryN(std::size_t n)
const override;
172 std::unique_ptr<Geometry> reverse()
const override;
217 std::vector<std::unique_ptr<Geometry>>
geometries;
221 int compareToSameClass(
const Geometry* gc)
const override;
229 # include "geos/geom/GeometryCollection.inl" 232 #endif // ndef GEOS_GEOS_GEOMETRYCOLLECTION_H Geometry classes support the concept of applying a Geometry filter to the Geometry.
Coordinate is the lightweight class used to store coordinates.
std::unique_ptr< Geometry > clone() const override
Interface for classes which provide operations that can be applied to the coordinates in a Coordinate...
std::vector< std::unique_ptr< Geometry > > geometries
GeometryTypeId
Geometry types.
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
GeometryCollection(std::vector< std::unique_ptr< T >> &&newGeoms, const GeometryFactory &newFactory)
Convenience constructor to build a GeometryCollection from vector of Geometry subclass pointers...
Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geome...
std::vector< std::unique_ptr< Geometry > >::const_iterator const_iterator
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Represents a collection of heterogeneous Geometry objects.
Basic namespace for all GEOS functionalities.
std::vector< std::unique_ptr< Geometry > >::iterator iterator
std::unique_ptr< Envelope > Ptr
int getSortIndex() const override