#include <geos.h>
Public Types | |
typedef std::vector< Geometry * > ::const_iterator | const_iterator |
typedef std::vector< Geometry * > ::iterator | iterator |
Public Member Functions | |
const_iterator | begin () const |
const_iterator | end () const |
virtual Geometry * | clone () const |
Make a deep-copy of this Geometry. | |
virtual CoordinateSequence * | getCoordinates () const |
Collects all coordinates of all subgeometries into a CoordinateSequence. | |
virtual bool | isEmpty () const |
Returns whether or not the set of points in this Geometry is empty. | |
virtual Dimension::DimensionType | getDimension () const |
Returns the maximum dimension of geometries in this collection (0=point, 1=line, 2=surface). | |
virtual Geometry * | getBoundary () const |
Returns the boundary as a newly allocated Geometry object. | |
virtual int | getBoundaryDimension () const |
Returns the maximum boundary dimension of geometries in this collection. | |
virtual size_t | getNumPoints () const |
Returns the count of this Geometrys vertices. | |
virtual std::string | getGeometryType () const |
Return a string representation of this Geometry type. | |
virtual GeometryTypeId | getGeometryTypeId () const |
Return an integer representation of this Geometry type. | |
virtual bool | isSimple () const |
Returns false if the Geometry not simple. | |
virtual bool | equalsExact (const Geometry *other, double tolerance=0) const |
Returns true if the two Geometrys are exactly equal, up to a specified tolerance. | |
virtual void | apply_ro (CoordinateFilter *filter) const |
virtual void | apply_rw (const CoordinateFilter *filter) |
virtual void | apply_ro (GeometryFilter *filter) const |
virtual void | apply_rw (GeometryFilter *filter) |
virtual void | apply_ro (GeometryComponentFilter *filter) const |
virtual void | apply_rw (GeometryComponentFilter *filter) |
virtual void | normalize () |
Converts this Geometry to normal form (or canonical form). | |
virtual const Coordinate * | getCoordinate () const |
Returns a vertex of this Geometry, or NULL if this is the empty geometry. | |
virtual double | getArea () const |
Returns the total area of this collection. | |
virtual double | getLength () const |
Returns the total length of this collection. | |
virtual size_t | getNumGeometries () const |
Returns the number of geometries in this collection. | |
virtual const Geometry * | getGeometryN (size_t n) const |
Returns a pointer to the nth Geometry int this collection. | |
Protected Member Functions | |
GeometryCollection (const GeometryCollection &gc) | |
GeometryCollection (std::vector< Geometry * > *newGeoms, const GeometryFactory *newFactory) | |
Construct a GeometryCollection with the given GeometryFactory. Will keep a reference to the factory, so don't delete it until al Geometry objects referring to it are deleted. Will take ownership of the Geometry vector. | |
virtual Envelope::AutoPtr | computeEnvelopeInternal () const |
virtual int | compareToSameClass (const Geometry *gc) const |
Protected Attributes | |
std::vector< Geometry * > * | geometries |
Friends | |
class | GeometryFactory |
Collections of Geometry of the same type are represented by GeometryCollection subclasses MultiPoint, MultiLineString, MultiPolygon.
geos::geom::GeometryCollection::GeometryCollection | ( | std::vector< Geometry * > * | newGeoms, | |
const GeometryFactory * | newFactory | |||
) | [protected] |
Construct a GeometryCollection with the given GeometryFactory. Will keep a reference to the factory, so don't delete it until al Geometry objects referring to it are deleted. Will take ownership of the Geometry vector.
newGeoms | The Geometry s for this GeometryCollection , or null or an empty array to create the empty geometry. Elements may be empty Geometry s, but not null s. |
If construction fails "IllegalArgumentException *" is thrown and it is your responsibility to delete newGeoms vector and content.
newFactory | the GeometryFactory used to create this geometry |
virtual CoordinateSequence* geos::geom::GeometryCollection::getCoordinates | ( | ) | const [virtual] |
Collects all coordinates of all subgeometries into a CoordinateSequence.
Note that the returned coordinates are copies, so you want be able to use them to modify the geometries in place. Also you'll need to delete the CoordinateSequence when finished using it.
Implements geos::geom::Geometry.
virtual Dimension::DimensionType geos::geom::GeometryCollection::getDimension | ( | ) | const [virtual] |
Returns the maximum dimension of geometries in this collection (0=point, 1=line, 2=surface).
Implements geos::geom::Geometry.
Reimplemented in geos::geom::MultiLineString, geos::geom::MultiPoint, and geos::geom::MultiPolygon.
virtual Geometry* geos::geom::GeometryCollection::getBoundary | ( | ) | const [virtual] |
Returns the boundary as a newly allocated Geometry object.
Returned geometry is empty if this Geometry is empty.
Implements geos::geom::Geometry.
Reimplemented in geos::geom::MultiLineString, geos::geom::MultiPoint, and geos::geom::MultiPolygon.