20 #ifndef GEOS_GEOS_GEOMETRYCOLLECTION_H
21 #define GEOS_GEOS_GEOMETRYCOLLECTION_H
23 #include <geos/export.h>
24 #include <geos/geom/Geometry.h>
26 #include <geos/geom/Envelope.h>
27 #include <geos/geom/Dimension.h>
29 #include <geos/inline.h>
39 class CoordinateArraySequence;
40 class CoordinateSequenceFilter;
61 typedef std::vector<Geometry *>::const_iterator const_iterator;
63 typedef std::vector<Geometry *>::iterator iterator;
65 const_iterator begin()
const;
67 const_iterator end()
const;
126 double tolerance=0)
const override;
200 std::vector<Geometry *>* geometries;
202 Envelope::Ptr computeEnvelopeInternal()
const override;
204 int compareToSameClass(
const Geometry *gc)
const override;
212 # include "geos/geom/GeometryCollection.inl"
215 #endif // ndef GEOS_GEOS_GEOMETRYCOLLECTION_H
std::size_t getNumPoints() const override
Returns the count of this Geometrys vertices.
const Geometry * getGeometryN(std::size_t n) const override
Returns a pointer to the nth Geometry int this collection.
void apply_ro(CoordinateSequenceFilter &filter) const override
void apply_rw(CoordinateSequenceFilter &filter) override
std::size_t getNumGeometries() const override
Returns the number of geometries in this collection.
Geometry * getBoundary() const override
Returns the boundary, or an empty geometry of appropriate dimension if this Geometry is empty.
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
Definition: GeometryComponentFilter.h:43
double getLength() const override
Returns the total length of this collection.
int getCoordinateDimension() const override
Returns coordinate dimension.
Dimension::DimensionType getDimension() const override
Returns the maximum dimension of geometries in this collection (0=point, 1=line, 2=surface)
int getBoundaryDimension() const override
Returns the maximum boundary dimension of geometries in this collection.
DimensionType
Definition: Dimension.h:31
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:177
Geometry * clone() const override
Definition: GeometryCollection.h:75
Represents a collection of heterogeneous Geometry objects.
Definition: GeometryCollection.h:56
bool equalsExact(const Geometry *other, double tolerance=0) const override
Returns true iff the two Geometrys are of the same type and their vertices corresponding by index are...
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:59
Definition: CoordinateSequenceFilter.h:58
bool isEmpty() const override
Returns whether or not the set of points in this Geometry is empty.
void normalize() override
Converts this Geometry to normal form (or canonical form).
GeometryTypeId getGeometryTypeId() const override
Return an integer representation of this Geometry type.
CoordinateSequence * getCoordinates() const override
Collects all coordinates of all subgeometries into a CoordinateSequence.
GeometryCollection(std::vector< Geometry * > *newGeoms, const GeometryFactory *newFactory)
Construct a GeometryCollection with the given GeometryFactory. Will keep a reference to the factory,...
GeometryTypeId
Geometry types.
Definition: Geometry.h:75
const Coordinate * getCoordinate() const override
Returns a vertex of this Geometry, or NULL if this is the empty geometry.
Definition: CoordinateFilter.h:43
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:67
Geometry classes support the concept of applying a Geometry filter to the Geometry.
Definition: GeometryFilter.h:48
Geometry * reverse() const override
double getArea() const override
Returns the total area of this collection.
std::string getGeometryType() const override
Return a string representation of this Geometry type.