diff --git a/include/boost/geometry.hpp b/include/boost/geometry.hpp new file mode 100644 index 000000000..a4756e714 --- /dev/null +++ b/include/boost/geometry.hpp @@ -0,0 +1,19 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) + +// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. + +// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library +// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. + +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_GEOMETRY_HPP +#define BOOST_GEOMETRY_HPP + +#include + +#endif // BOOST_GEOMETRY_HPP diff --git a/include/boost/geometry/core/closure.hpp b/include/boost/geometry/core/closure.hpp index 858ac906d..bb806b3aa 100644 --- a/include/boost/geometry/core/closure.hpp +++ b/include/boost/geometry/core/closure.hpp @@ -149,14 +149,11 @@ struct closure /*! -\brief Meta-function which defines closure of a geometry type +\brief \brief_meta{value, closure (clockwise\, counterclockwise), \meta_geometry_type} +\tparam Geometry \tparam_geometry \ingroup core -\details -\qbk{ -[heading See also] -[link geometry.reference.enumerations.order_selector The order_selector enumeration] -} +\qbk{[include reference/core/closure.qbk]} */ template struct closure diff --git a/include/boost/geometry/core/coordinate_dimension.hpp b/include/boost/geometry/core/coordinate_dimension.hpp index 8d7ebe3d0..73543eae9 100644 --- a/include/boost/geometry/core/coordinate_dimension.hpp +++ b/include/boost/geometry/core/coordinate_dimension.hpp @@ -65,53 +65,56 @@ struct dimension : traits::dimension

{}; #endif /*! - \brief Meta-function which defines coordinate dimensions, i.e. the number of axes of any geometry - \ingroup core +\brief \brief_meta{value, number of coordinates (the number of axes of any geometry), \meta_point_type} +\tparam Geometry \tparam_geometry +\ingroup core + +\qbk{[include reference/core/coordinate_dimension.qbk]} */ -template +template struct dimension : core_dispatch::dimension < - typename tag::type, - typename boost::remove_const::type + typename tag::type, + typename boost::remove_const::type > {}; /*! - \brief assert_dimension, enables compile-time checking if coordinate dimensions are as expected - \ingroup utility +\brief assert_dimension, enables compile-time checking if coordinate dimensions are as expected +\ingroup utility */ -template +template inline void assert_dimension() { BOOST_STATIC_ASSERT(( boost::mpl::equal_to < - geometry::dimension, - boost::mpl::int_ + geometry::dimension, + boost::mpl::int_ >::type::value )); } /*! - \brief assert_dimension, enables compile-time checking if coordinate dimensions are as expected - \ingroup utility +\brief assert_dimension, enables compile-time checking if coordinate dimensions are as expected +\ingroup utility */ -template +template inline void assert_dimension_less_equal() { - BOOST_STATIC_ASSERT(( dimension::type::value <= D )); + BOOST_STATIC_ASSERT(( dimension::type::value <= Dimensions )); } -template +template inline void assert_dimension_greater_equal() { - BOOST_STATIC_ASSERT(( dimension::type::value >= D )); + BOOST_STATIC_ASSERT(( dimension::type::value >= Dimensions )); } /*! - \brief assert_dimension_equal, enables compile-time checking if coordinate dimensions of two geometries are equal - \ingroup utility +\brief assert_dimension_equal, enables compile-time checking if coordinate dimensions of two geometries are equal +\ingroup utility */ template inline void assert_dimension_equal() diff --git a/include/boost/geometry/core/coordinate_system.hpp b/include/boost/geometry/core/coordinate_system.hpp index e3b5718a9..9c0920cd6 100644 --- a/include/boost/geometry/core/coordinate_system.hpp +++ b/include/boost/geometry/core/coordinate_system.hpp @@ -73,16 +73,19 @@ namespace core_dispatch /*! - \brief Meta-function which defines coordinate system for any geometry - \ingroup core +\brief \brief_meta{type, coordinate system (cartesian\, spherical\, etc), \meta_point_type} +\tparam Geometry \tparam_geometry +\ingroup core + +\qbk{[include reference/core/coordinate_system.qbk]} */ -template +template struct coordinate_system { - typedef typename boost::remove_const::type ncg; + typedef typename boost::remove_const::type ncg; typedef typename core_dispatch::coordinate_system < - typename tag::type, + typename tag::type, ncg >::type type; }; diff --git a/include/boost/geometry/core/coordinate_type.hpp b/include/boost/geometry/core/coordinate_type.hpp index 720ec9128..ae4300a65 100644 --- a/include/boost/geometry/core/coordinate_type.hpp +++ b/include/boost/geometry/core/coordinate_type.hpp @@ -70,8 +70,11 @@ struct coordinate_type #endif // DOXYGEN_NO_DISPATCH /*! - \brief Meta-function which defines coordinate type (int, float, double, etc) of any geometry - \ingroup core +\brief \brief_meta{type, coordinate type (int\, float\, double\, etc), \meta_point_type} +\tparam Geometry \tparam_geometry +\ingroup core + +\qbk{[include reference/core/coordinate_type.qbk]} */ template struct coordinate_type diff --git a/include/boost/geometry/core/cs.hpp b/include/boost/geometry/core/cs.hpp index fcbad5ae2..93e0eec77 100644 --- a/include/boost/geometry/core/cs.hpp +++ b/include/boost/geometry/core/cs.hpp @@ -27,16 +27,20 @@ namespace boost { namespace geometry /*! \brief Unit of plane angle: Degrees -\ingroup cs -\note Might be replaced by Boost.Units +\details Tag defining the unit of plane angle for spherical coordinate systems. + This tag specifies that coordinates are defined in degrees (-180 .. 180). + It has to be specified for some coordinate systems. +\qbk{[include reference/core/degree_radian.qbk]} */ struct degree {}; /*! \brief Unit of plane angle: Radians -\ingroup cs -\note Might be replaced by Boost.Units +\details Tag defining the unit of plane angle for spherical coordinate systems. + This tag specifies that coordinates are defined in radians (-PI .. PI). + It has to be specified for some coordinate systems. +\qbk{[include reference/core/degree_radian.qbk]} */ struct radian {}; diff --git a/include/boost/geometry/core/point_order.hpp b/include/boost/geometry/core/point_order.hpp index 7dd55634b..675fee802 100644 --- a/include/boost/geometry/core/point_order.hpp +++ b/include/boost/geometry/core/point_order.hpp @@ -138,19 +138,15 @@ struct point_order /*! -\brief Metafunction which defines point order of a geometry type +\brief \brief_meta{value, point order (clockwise\, counterclockwise), \meta_geometry_type} +\tparam Geometry \tparam_geometry \ingroup core -\details -\qbk{ -[heading See also] -[link geometry.reference.enumerations.closure_selector The closure_selector enumeration] -} +\qbk{[include reference/core/point_order.qbk]} */ template struct point_order { - /// metafunction implementation static const order_selector value = core_dispatch::point_order < typename tag::type,