Boost.Geometry    Boost C++ Libraries

geometry concepts: defines and checks concepts for geometries


Classes

class  boost::geometry::concept::Box< Geometry >
 Box concept. More...
class  boost::geometry::concept::Linestring< Geometry >
 Linestring concept. More...
class  boost::geometry::concept::MultiLinestring< Geometry >
 multi-linestring concept More...
class  boost::geometry::concept::MultiPoint< Geometry >
 MultiPoint concept. More...
class  boost::geometry::concept::MultiPolygon< Geometry >
 multi-polygon concept More...
class  boost::geometry::concept::Point< Geometry >
 Point concept. More...
class  boost::geometry::concept::Polygon< Geometry >
 Polygon concept. More...
class  boost::geometry::concept::Ring< Geometry >
 ring concept More...
class  boost::geometry::concept::Segment< Geometry >
 segment concept More...

Functions

template<typename Geometry >
void boost::geometry::concept::check ()
 Checks, in compile-time, the concept of any geometry.
template<typename Geometry1 , typename Geometry2 >
void boost::geometry::concept::check_concepts_and_equal_dimensions ()
 Checks, in compile-time, the concept of two geometries, and if they have equal dimensions.

Detailed Description

All GGL algorithms use concepts for their geometries. This means that all algorithms work on the GGL-provided geometries (point, linestring, etc) but also on custom geometries.

By declaring registration macro's or by specializating traits classes it is possible to adapt custom or legacy geometries to fulfil the GGL geometry concepts.

GGL algorithms check the concepts of the input geometries. Concept checking is done using BCCL (Boost Concept Check Library).

This means that geometries provided by library users, or legacy geometries, or plain arrays, or boost tuples, all can be handled by the Generic Geometry Library. Also std::vector of points, or tuples can be handled either as a linestring or as a linear ring (polygon without holes).

There are concepts for

The Generic Geometry Library uses the Boost Range Library to iterate through standard containers, boost arrays, c-arrays. So:

are all just ranges. So a std::vector, std::deque, boost::array, iterator pair or c-array will be accepted as such.

Also the multi geometries:


Function Documentation

template<typename Geometry >
void boost::geometry::concept::check (  ) 

Checks, in compile-time, the concept of any geometry.

Definition at line 181 of file check.hpp.

template<typename Geometry1 , typename Geometry2 >
void boost::geometry::concept::check_concepts_and_equal_dimensions (  ) 

Checks, in compile-time, the concept of two geometries, and if they have equal dimensions.

Definition at line 194 of file check.hpp.


December 1, 2009

Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam
Copyright © 2008-2009 Bruno Lalande, Paris
Copyright © 2009 Mateusz Loskot, Cadcorp, London
Documentation is generated by Doxygen