Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

geos::GeometryCollection Class Reference

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

#include <geos.h>

Inheritance diagram for geos::GeometryCollection:

geos::MultiLineString geos::MultiPoint geos::MultiPolygon List of all members.

Public Member Functions

 GeometryCollection (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 CoordinateSequence * getCoordinates () const
 Collects all coordinates of all subgeometries into a CoordinateSequence.
virtual int getDimension () const
 Returns the maximum dimension of geometries in this collection (0=point, 1=line, 2=surface).
virtual int getBoundaryDimension () const
 Returns the maximum boundary dimension of geometries in this collection.
virtual double getArea () const
 Returns the total area of this collection.
virtual double getLength () const
 Returns the total length of this collection.
virtual int getNumGeometries () const
 Returns the number of geometries in this collection.
virtual const Geometry * getGeometryN (int n) const
 Returns a pointer to the nth Geometry int this collection.

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::GeometryCollection::GeometryCollection 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.

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

double geos::GeometryCollection::getArea  )  const [virtual]
 

Returns the total area of this collection.

Returns:
the area of this collection

CoordinateSequence * geos::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

double geos::GeometryCollection::getLength  )  const [virtual]
 

Returns the total length of this collection.

Returns:
the total length of this collection


The documentation for this class was generated from the following files:
Generated on Tue Apr 19 07:10:20 2005 for GEOS by  doxygen 1.4.2