|
|
Classes | |
| class | ggl::concept::Box< Geometry > |
| Box concept. More... | |
| class | ggl::concept::Linestring< Geometry > |
| Linestring concept. More... | |
| class | ggl::concept::MultiLinestring< Geometry > |
| multi-linestring concept More... | |
| class | ggl::concept::MultiPoint< Geometry > |
| MultiPoint concept. More... | |
| class | ggl::concept::MultiPolygon< Geometry > |
| multi-polygon concept More... | |
| class | ggl::concept::Point< Geometry > |
| Point concept. More... | |
| class | ggl::concept::Polygon< Geometry > |
| Polygon concept. More... | |
| class | ggl::concept::Ring< Geometry > |
| ring concept More... | |
| class | ggl::concept::Segment< Geometry > |
| segment concept More... | |
Functions | |
| template<typename Geometry > | |
| void | ggl::concept::check () |
| Checks, in compile-time, the concept of any geometry. | |
| template<typename Geometry1 , typename Geometry2 > | |
| void | ggl::concept::check_concepts_and_equal_dimensions () |
| Checks, in compile-time, the concept of two geometries, and if they have equal dimensions. | |
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:
| void ggl::concept::check | ( | ) |
| void ggl::concept::check_concepts_and_equal_dimensions | ( | ) |
|
November 5, 2009 |
Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam Copyright © 2008-2009 Bruno Lalande, Paris Copyright © 2009 Mateusz Loskot, Cadcorp, London |