20 #ifndef GEOS_GEOS_GEOMETRYCOLLECTION_H 21 #define GEOS_GEOS_GEOMETRYCOLLECTION_H 23 #include <geos/export.h> 24 #include <geos/geom/Geometry.h> 25 #include <geos/geom/Envelope.h> 26 #include <geos/geom/Dimension.h> 28 #include <geos/inline.h> 38 class CoordinateArraySequence;
39 class CoordinateSequenceFilter;
60 typedef std::vector<std::unique_ptr<Geometry>>::const_iterator const_iterator;
62 typedef std::vector<std::unique_ptr<Geometry>>::iterator iterator;
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 int 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;
212 getSortIndex()
const override 214 return SORTINDEX_GEOMETRYCOLLECTION;
217 std::vector<std::unique_ptr<Geometry>> geometries;
219 Envelope::Ptr computeEnvelopeInternal()
const override;
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.
Definition: GeometryFilter.h:47
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
std::unique_ptr< Geometry > clone() const override
Definition: GeometryCollection.h:75
Interface for classes which provide operations that can be applied to the coordinates in a Coordinate...
Definition: CoordinateSequenceFilter.h:57
GeometryTypeId
Geometry types.
Definition: Geometry.h:75
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
GeometryCollection(std::vector< std::unique_ptr< T >> &&newGeoms, const GeometryFactory &newFactory)
Convenience constructor to build a GeometryCollection from vector of Geometry subclass pointers.
Definition: GeometryCollection.h:208
Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geome...
Definition: CoordinateFilter.h:43
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
Represents a collection of heterogeneous Geometry objects.
Definition: GeometryCollection.h:55
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
DimensionType
Definition: Dimension.h:31
Definition: GeometryComponentFilter.h:43