geos::geom::GeometryCollection Class Reference

Represents a collection of heterogeneous Geometry objects. More...

#include <geos.h>

Inheritance diagram for geos::geom::GeometryCollection:

geos::geom::Geometry geos::geom::MultiLineString geos::geom::MultiPoint geos::geom::MultiPolygon

List of all members.

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 Geometryclone () const
 Make a deep-copy of this Geometry.
virtual CoordinateSequencegetCoordinates () 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 GeometrygetBoundary () 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 CoordinategetCoordinate () 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 GeometrygetGeometryN (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


Detailed Description

Represents a collection of heterogeneous Geometry objects.

Collections of Geometry of the same type are represented by GeometryCollection subclasses MultiPoint, MultiLineString, MultiPolygon.


Constructor & Destructor Documentation

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.

Parameters:
newGeoms The Geometrys for this GeometryCollection, or null or an empty array to create the empty geometry. Elements may be empty Geometrys, but not nulls.
If construction succeed the created object will take ownership of newGeoms vector and elements.

If construction fails "IllegalArgumentException *" is thrown and it is your responsibility to delete newGeoms vector and content.

Parameters:
newFactory the GeometryFactory used to create this geometry


Member Function Documentation

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.

Returns:
the collected coordinates

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).

See also:
Dimension::DimensionType

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.


The documentation for this class was generated from the following file:
Generated on Fri Mar 27 04:53:22 2009 for GEOS by  doxygen 1.5.4