SFCGAL  1.3.0
Public Types | Public Member Functions | Protected Member Functions | List of all members
SFCGAL::GeometryCollection Class Reference

A GeometryCollection in SFA. More...

#include <GeometryCollection.h>

Inheritance diagram for SFCGAL::GeometryCollection:
SFCGAL::Geometry SFCGAL::MultiLineString SFCGAL::MultiPoint SFCGAL::MultiPolygon SFCGAL::MultiSolid

Public Types

typedef boost::ptr_vector< Geometry >::iterator iterator
 
typedef boost::ptr_vector< Geometry >::const_iterator const_iterator
 

Public Member Functions

 GeometryCollection ()
 Empty GeometryCollection constructor. More...
 
 GeometryCollection (const GeometryCollection &other)
 Copy constructor. More...
 
GeometryCollectionoperator= (GeometryCollection other)
 assign operator More...
 
virtual ~GeometryCollection ()
 destructor More...
 
virtual GeometryCollectionclone () const
 Get a deep copy of the geometry. More...
 
virtual std::string geometryType () const
 [OGC/SFA]returns the geometry type More...
 
virtual GeometryType geometryTypeId () const
 Returns a code corresponding to the type. More...
 
virtual int dimension () const
 [OGC/SFA]Dimension of the Geometry ( 0 : punctual, 1 : curve, ...) More...
 
virtual int coordinateDimension () const
 [OGC/SFA]returns the dimension of the coordinates More...
 
virtual bool isEmpty () const
 [OGC/SFA]test if geometry is empty More...
 
virtual bool is3D () const
 [OGC/SFA]test if geometry is 3d More...
 
virtual bool isMeasured () const
 [OGC/SFA]test if geometry is measured (has an m) More...
 
virtual size_t numGeometries () const
 [OGC/SFA]Gets the number of geometries in a collection of geometries More...
 
virtual const GeometrygeometryN (size_t const &n) const
 [OGC/SFA]Returns the n-th geometry More...
 
virtual GeometrygeometryN (size_t const &n)
 [OGC/SFA]Returns the n-th geometry More...
 
void addGeometry (Geometry *geometry)
 [SFA/OGC]add a geometry to the collection (takes ownership) More...
 
void addGeometry (Geometry const &geometry)
 [SFA/OGC]add a geometry to the collection (clone instance) More...
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
virtual void accept (GeometryVisitor &visitor)
 [visitor]dispatch visitor

  More...
 
virtual void accept (ConstGeometryVisitor &visitor) const
 [visitor]dispatch visitor

  More...
 
template<class Archive >
void serialize (Archive &ar, const unsigned int)
 Serializer. More...
 
- Public Member Functions inherited from SFCGAL::Geometry
virtual ~Geometry ()
 
void forceValidityFlag (bool validity)
 Force the state of the validity flag. More...
 
bool hasValidityFlag () const
 Returns the validity flag. More...
 
std::string asText (const int &numDecimals=-1) const
 [OGC/SFA]returns the WKT string More...
 
Envelope envelope () const
 [OGC/SFA]Returns a polygon representing the BBOX of the geometry More...
 
virtual std::auto_ptr< Geometryboundary () const
 [OGC/SFA]Returns the boundary of the geometry More...
 
double distance (const Geometry &other) const
 Computes the distance to an other geometry. More...
 
double distance3D (const Geometry &other) const
 Computes the 3D distance to an other geometry. More...
 
void round (const long &scale=1)
 round the geometry with a corresponding scale factor More...
 
template<typename Derived >
bool is () const
 Tests if geometry is of "Derived" type given as template parameter. More...
 
template<typename Derived >
const Derived & as () const
 Downcast to a "Derived" class. More...
 
template<typename Derived >
Derived & as ()
 Downcast to a "Derived" class. More...
 
template<class Archive >
void serialize (Archive &, const unsigned int)
 Serializer

. More...

 

Protected Member Functions

virtual bool isAllowed (Geometry const &g)
 Test if a geometry in the collection. More...
 
void swap (GeometryCollection &other)
 Swap. More...
 
- Protected Member Functions inherited from SFCGAL::Geometry
 Geometry ()
 
 Geometry (const Geometry &)
 
const Geometryoperator= (const Geometry &)
 

Additional Inherited Members

- Protected Attributes inherited from SFCGAL::Geometry
bool validityFlag_
 

Detailed Description

A GeometryCollection in SFA.

Member Typedef Documentation

Constructor & Destructor Documentation

SFCGAL::GeometryCollection::GeometryCollection ( )

Empty GeometryCollection constructor.

SFCGAL::GeometryCollection::GeometryCollection ( const GeometryCollection other)

Copy constructor.

SFCGAL::GeometryCollection::~GeometryCollection ( )
virtual

destructor

Member Function Documentation

void SFCGAL::GeometryCollection::accept ( GeometryVisitor visitor)
virtual

[visitor]dispatch visitor

 

Implements SFCGAL::Geometry.

Reimplemented in SFCGAL::MultiPoint, SFCGAL::MultiPolygon, SFCGAL::MultiSolid, and SFCGAL::MultiLineString.

void SFCGAL::GeometryCollection::accept ( ConstGeometryVisitor visitor) const
virtual

[visitor]dispatch visitor

 

Implements SFCGAL::Geometry.

Reimplemented in SFCGAL::MultiPoint, SFCGAL::MultiPolygon, SFCGAL::MultiSolid, and SFCGAL::MultiLineString.

void SFCGAL::GeometryCollection::addGeometry ( Geometry geometry)

[SFA/OGC]add a geometry to the collection (takes ownership)

void SFCGAL::GeometryCollection::addGeometry ( Geometry const &  geometry)

[SFA/OGC]add a geometry to the collection (clone instance)

iterator SFCGAL::GeometryCollection::begin ( )
inline
const_iterator SFCGAL::GeometryCollection::begin ( ) const
inline
GeometryCollection * SFCGAL::GeometryCollection::clone ( ) const
virtual

Get a deep copy of the geometry.

Implements SFCGAL::Geometry.

Reimplemented in SFCGAL::MultiPolygon, SFCGAL::MultiLineString, SFCGAL::MultiPoint, and SFCGAL::MultiSolid.

int SFCGAL::GeometryCollection::coordinateDimension ( ) const
virtual

[OGC/SFA]returns the dimension of the coordinates

Precondition
suppose no mix of 2D/3D coordinates

Implements SFCGAL::Geometry.

int SFCGAL::GeometryCollection::dimension ( ) const
virtual

[OGC/SFA]Dimension of the Geometry ( 0 : punctual, 1 : curve, ...)

Warning
empty geometries provide the dimension corresponding to the object

Implements SFCGAL::Geometry.

iterator SFCGAL::GeometryCollection::end ( )
inline
const_iterator SFCGAL::GeometryCollection::end ( ) const
inline
const Geometry & SFCGAL::GeometryCollection::geometryN ( size_t const &  n) const
virtual

[OGC/SFA]Returns the n-th geometry

Warning
*this for Point, LineString, Polygon, Triangle

Reimplemented from SFCGAL::Geometry.

Geometry & SFCGAL::GeometryCollection::geometryN ( size_t const &  n)
virtual

[OGC/SFA]Returns the n-th geometry

Warning
*this for Point, LineString, Polygon, Triangle

Reimplemented from SFCGAL::Geometry.

std::string SFCGAL::GeometryCollection::geometryType ( ) const
virtual

[OGC/SFA]returns the geometry type

Warning
use CamelCase (LineString, not LINESTRING)

Implements SFCGAL::Geometry.

Reimplemented in SFCGAL::MultiPolygon, SFCGAL::MultiLineString, SFCGAL::MultiPoint, and SFCGAL::MultiSolid.

GeometryType SFCGAL::GeometryCollection::geometryTypeId ( ) const
virtual

Returns a code corresponding to the type.

Warning
not standard

Implements SFCGAL::Geometry.

Reimplemented in SFCGAL::MultiPolygon, SFCGAL::MultiLineString, SFCGAL::MultiPoint, and SFCGAL::MultiSolid.

bool SFCGAL::GeometryCollection::is3D ( ) const
virtual

[OGC/SFA]test if geometry is 3d

Precondition
suppose no mix of 2D/3D coordinates

Implements SFCGAL::Geometry.

bool SFCGAL::GeometryCollection::isAllowed ( Geometry const &  g)
protectedvirtual

Test if a geometry in the collection.

Reimplemented in SFCGAL::MultiPoint, SFCGAL::MultiPolygon, SFCGAL::MultiSolid, and SFCGAL::MultiLineString.

bool SFCGAL::GeometryCollection::isEmpty ( ) const
virtual

[OGC/SFA]test if geometry is empty

Implements SFCGAL::Geometry.

bool SFCGAL::GeometryCollection::isMeasured ( ) const
virtual

[OGC/SFA]test if geometry is measured (has an m)

Precondition
suppose no mix of M/!M points

Implements SFCGAL::Geometry.

size_t SFCGAL::GeometryCollection::numGeometries ( ) const
virtual

[OGC/SFA]Gets the number of geometries in a collection of geometries

Warning
1 for Point, LineString, Polygon, Triangle

Reimplemented from SFCGAL::Geometry.

GeometryCollection & SFCGAL::GeometryCollection::operator= ( GeometryCollection  other)

assign operator

template<class Archive >
void SFCGAL::GeometryCollection::serialize ( Archive &  ar,
const unsigned  int 
)
inline

Serializer.

void SFCGAL::GeometryCollection::swap ( GeometryCollection other)
inlineprotected

Swap.