Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r71309 - in trunk/boost/geometry: algorithms algorithms/detail algorithms/detail/equals algorithms/detail/overlay algorithms/detail/sections domains/gis/io/wkt extensions/algorithms extensions/gis/projections extensions/nsphere/geometries extensions/strategies geometries iterators strategies strategies/cartesian
From: barend.gehrels_at_[hidden]
Date: 2011-04-16 07:32:02


Author: barendgehrels
Date: 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
New Revision: 71309
URL: http://svn.boost.org/trac/boost/changeset/71309

Log:
Moved assign-variants to detail, reverted (manually) move of convert to detail
Added:
   trunk/boost/geometry/algorithms/convert.hpp
      - copied, changed from r71271, /trunk/boost/geometry/algorithms/detail/convert.hpp
Removed:
   trunk/boost/geometry/algorithms/detail/convert.hpp
Text files modified:
   trunk/boost/geometry/algorithms/assign.hpp | 36 ++++++++++++++++++------------------
   trunk/boost/geometry/algorithms/centroid.hpp | 6 +++---
   trunk/boost/geometry/algorithms/convert.hpp | 7 -------
   trunk/boost/geometry/algorithms/detail/equals/collect_vectors.hpp | 2 +-
   trunk/boost/geometry/algorithms/detail/overlay/clip_linestring.hpp | 6 +++---
   trunk/boost/geometry/algorithms/detail/overlay/convert_ring.hpp | 8 ++++----
   trunk/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp | 4 ++--
   trunk/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp | 4 ++--
   trunk/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp | 14 +++++++-------
   trunk/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp | 6 +++---
   trunk/boost/geometry/algorithms/detail/sections/sectionalize.hpp | 4 +++-
   trunk/boost/geometry/algorithms/distance.hpp | 8 ++++----
   trunk/boost/geometry/algorithms/length.hpp | 4 ++--
   trunk/boost/geometry/algorithms/simplify.hpp | 4 ++--
   trunk/boost/geometry/algorithms/transform.hpp | 8 ++++----
   trunk/boost/geometry/domains/gis/io/wkt/read_wkt.hpp | 8 ++++----
   trunk/boost/geometry/domains/gis/io/wkt/write_wkt.hpp | 8 ++++----
   trunk/boost/geometry/extensions/algorithms/dissolve.hpp | 4 ++--
   trunk/boost/geometry/extensions/gis/projections/project_inverse_transformer.hpp | 2 +-
   trunk/boost/geometry/extensions/gis/projections/project_transformer.hpp | 2 +-
   trunk/boost/geometry/extensions/nsphere/geometries/nsphere.hpp | 4 ++--
   trunk/boost/geometry/extensions/strategies/buffer_join_round.hpp | 6 +++---
   trunk/boost/geometry/geometries/box.hpp | 6 +++---
   trunk/boost/geometry/iterators/box_iterator.hpp | 4 +---
   trunk/boost/geometry/iterators/segment_range_iterator.hpp | 4 ++--
   trunk/boost/geometry/strategies/cartesian/distance_projected_point.hpp | 8 ++++----
   trunk/boost/geometry/strategies/strategy_transform.hpp | 4 ++--
   27 files changed, 87 insertions(+), 94 deletions(-)

Modified: trunk/boost/geometry/algorithms/assign.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/assign.hpp (original)
+++ trunk/boost/geometry/algorithms/assign.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -26,7 +26,7 @@
 #include <boost/type_traits.hpp>
 
 #include <boost/geometry/algorithms/detail/assign_values.hpp>
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 
 #include <boost/geometry/arithmetic/arithmetic.hpp>
 #include <boost/geometry/algorithms/append.hpp>
@@ -53,12 +53,11 @@
 \param geometry \param_geometry
 \param range \param_range_point
 
-\qbk{distinguish, with a range}
 \qbk{
 [heading Notes]
 [note Assign automatically clears the geometry before assigning (use append if you don't want that)]
 [heading Example]
-[assign_with_range] [assign_with_range_output]
+[assign_points] [assign_points_output]
 
 [heading See also]
 \* [link geometry.reference.algorithms.append.append append]
@@ -124,6 +123,12 @@
 }
 
 
+#ifndef DOXYGEN_NO_DETAIL
+namespace detail
+{
+// Note: this is moved to namespace detail because the names and parameter orders
+// are not yet 100% clear.
+
 /*!
 \brief Assign the four points of a 2D box
 \ingroup assign
@@ -231,12 +236,9 @@
>::apply(geometry, point);
 }
 
+} // namespace detail
+#endif // DOXYGEN_NO_DETAIL
 
-}} // namespace boost::geometry
-
-
-namespace boost { namespace geometry
-{
 
 /*!
 \brief Assigns one geometry to another geometry
@@ -245,24 +247,22 @@
 \ingroup assign
 \tparam Geometry1 \tparam_geometry
 \tparam Geometry2 \tparam_geometry
-\param geometry1 \param_geometry (source)
-\param geometry2 \param_geometry (target)
-\note It is moved to namespace detail because it overlaps functionality
- of assign. So assign will be changed such that it also can convert.
+\param geometry1 \param_geometry (target)
+\param geometry2 \param_geometry (source)
  */
 template <typename Geometry1, typename Geometry2>
-inline void assign(Geometry1 const& geometry1, Geometry2& geometry2)
+inline void assign_rev(Geometry1& geometry1, Geometry2 const& geometry2)
 {
- concept::check_concepts_and_equal_dimensions<Geometry1 const, Geometry2>();
+ concept::check_concepts_and_equal_dimensions<Geometry1, Geometry2 const>();
 
     dispatch::convert
         <
- typename tag<Geometry1>::type,
             typename tag<Geometry2>::type,
+ typename tag<Geometry1>::type,
             dimension<Geometry1>::type::value,
- Geometry1,
- Geometry2
- >::apply(geometry1, geometry2);
+ Geometry2,
+ Geometry1
+ >::apply(geometry2, geometry1);
 }
 
 

Modified: trunk/boost/geometry/algorithms/centroid.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/centroid.hpp (original)
+++ trunk/boost/geometry/algorithms/centroid.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -28,7 +28,7 @@
 #include <boost/geometry/core/interior_rings.hpp>
 #include <boost/geometry/core/tag_cast.hpp>
 
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/algorithms/distance.hpp>
 #include <boost/geometry/geometries/concepts/check.hpp>
 #include <boost/geometry/strategies/centroid.hpp>
@@ -83,7 +83,7 @@
     static inline void apply(Point const& point, PointCentroid& centroid,
             Strategy const&)
     {
- geometry::detail::convert(point, centroid);
+ geometry::convert(point, centroid);
     }
 };
 
@@ -163,7 +163,7 @@
     else // if (n == 1)
     {
         // Take over the first point in a "coordinate neutral way"
- geometry::detail::convert(*boost::begin(range), centroid);
+ geometry::convert(*boost::begin(range), centroid);
         return false;
     }
     return true;

Copied: trunk/boost/geometry/algorithms/convert.hpp (from r71271, /trunk/boost/geometry/algorithms/detail/convert.hpp)
==============================================================================
--- /trunk/boost/geometry/algorithms/detail/convert.hpp (original)
+++ trunk/boost/geometry/algorithms/convert.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -235,10 +235,6 @@
 #endif // DOXYGEN_NO_DISPATCH
 
 
-#ifndef DOXYGEN_NO_DETAIL
-namespace detail
-{
-
 /*!
 \brief Converts one geometry to another geometry
 \details The convert algorithm converts one geometry, e.g. a BOX, to another geometry, e.g. a RING. This only
@@ -266,9 +262,6 @@
>::apply(geometry1, geometry2);
 }
 
-}
-#endif // DOXYGEN_NO_DETAIL
-
 
 }} // namespace boost::geometry
 

Deleted: trunk/boost/geometry/algorithms/detail/convert.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/convert.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
+++ (empty file)
@@ -1,276 +0,0 @@
-// 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_ALGORITHMS_DETAIL_CONVERT_HPP
-#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_CONVERT_HPP
-
-
-#include <cstddef>
-
-#include <boost/numeric/conversion/cast.hpp>
-#include <boost/range.hpp>
-
-#include <boost/geometry/arithmetic/arithmetic.hpp>
-#include <boost/geometry/algorithms/append.hpp>
-#include <boost/geometry/algorithms/clear.hpp>
-#include <boost/geometry/algorithms/for_each.hpp>
-#include <boost/geometry/algorithms/detail/assign_values.hpp>
-#include <boost/geometry/algorithms/detail/convert_point_to_point.hpp>
-
-#include <boost/geometry/core/cs.hpp>
-#include <boost/geometry/geometries/concepts/check.hpp>
-
-
-namespace boost { namespace geometry
-{
-
-#ifndef DOXYGEN_NO_DETAIL
-namespace detail { namespace conversion
-{
-
-template
-<
- typename Point,
- typename Box,
- std::size_t Index,
- std::size_t Dimension,
- std::size_t DimensionCount
->
-struct point_to_box
-{
- static inline void apply(Point const& point, Box& box)
- {
- typedef typename coordinate_type<Box>::type coordinate_type;
-
- set<Index, Dimension>(box,
- boost::numeric_cast<coordinate_type>(get<Dimension>(point)));
- point_to_box
- <
- Point, Box,
- Index, Dimension + 1, DimensionCount
- >::apply(point, box);
- }
-};
-
-
-template
-<
- typename Point,
- typename Box,
- std::size_t Index,
- std::size_t DimensionCount
->
-struct point_to_box<Point, Box, Index, DimensionCount, DimensionCount>
-{
- static inline void apply(Point const& , Box& )
- {}
-};
-
-
-}} // namespace detail::conversion
-#endif // DOXYGEN_NO_DETAIL
-
-
-#ifndef DOXYGEN_NO_DISPATCH
-namespace dispatch
-{
-
-template
-<
- typename Tag1, typename Tag2,
- std::size_t DimensionCount,
- typename Geometry1, typename Geometry2
->
-struct convert
-{
-};
-
-
-template
-<
- typename Tag,
- std::size_t DimensionCount,
- typename Geometry1, typename Geometry2
->
-struct convert<Tag, Tag, DimensionCount, Geometry1, Geometry2>
-{
- // Same geometry type -> copy coordinates from G1 to G2
- // Actually: we try now to just copy it
- static inline void apply(Geometry1 const& source, Geometry2& destination)
- {
- destination = source;
- }
-};
-
-
-template
-<
- std::size_t DimensionCount,
- typename Geometry1, typename Geometry2
->
-struct convert<point_tag, point_tag, DimensionCount, Geometry1, Geometry2>
- : detail::conversion::point_to_point<Geometry1, Geometry2, 0, DimensionCount>
-{};
-
-
-template <std::size_t DimensionCount, typename Ring1, typename Ring2>
-struct convert<ring_tag, ring_tag, DimensionCount, Ring1, Ring2>
-{
- static inline void apply(Ring1 const& source, Ring2& destination)
- {
- geometry::clear(destination);
- for (typename boost::range_iterator<Ring1 const>::type it
- = boost::begin(source);
- it != boost::end(source);
- ++it)
- {
- geometry::append(destination, *it);
- }
- }
-};
-
-
-template <typename Box, typename Ring>
-struct convert<box_tag, ring_tag, 2, Box, Ring>
-{
- static inline void apply(Box const& box, Ring& ring)
- {
- // go from box to ring -> add coordinates in correct order
- geometry::clear(ring);
- typename point_type<Box>::type point;
-
- geometry::assign_values(point, get<min_corner, 0>(box), get<min_corner, 1>(box));
- geometry::append(ring, point);
-
- geometry::assign_values(point, get<min_corner, 0>(box), get<max_corner, 1>(box));
- geometry::append(ring, point);
-
- geometry::assign_values(point, get<max_corner, 0>(box), get<max_corner, 1>(box));
- geometry::append(ring, point);
-
- geometry::assign_values(point, get<max_corner, 0>(box), get<min_corner, 1>(box));
- geometry::append(ring, point);
-
- geometry::assign_values(point, get<min_corner, 0>(box), get<min_corner, 1>(box));
- geometry::append(ring, point);
- }
-};
-
-
-template <typename Box, typename Polygon>
-struct convert<box_tag, polygon_tag, 2, Box, Polygon>
-{
- static inline void apply(Box const& box, Polygon& polygon)
- {
- typedef typename ring_type<Polygon>::type ring_type;
-
- convert
- <
- box_tag, ring_tag,
- 2, Box, ring_type
- >::apply(box, exterior_ring(polygon));
- }
-};
-
-
-template <typename Point, std::size_t DimensionCount, typename Box>
-struct convert<point_tag, box_tag, DimensionCount, Point, Box>
-{
- static inline void apply(Point const& point, Box& box)
- {
- detail::conversion::point_to_box
- <
- Point, Box, min_corner, 0, DimensionCount
- >::apply(point, box);
- detail::conversion::point_to_box
- <
- Point, Box, max_corner, 0, DimensionCount
- >::apply(point, box);
- }
-};
-
-
-template <typename Ring, std::size_t DimensionCount, typename Polygon>
-struct convert<ring_tag, polygon_tag, DimensionCount, Ring, Polygon>
-{
- static inline void apply(Ring const& ring, Polygon& polygon)
- {
- typedef typename ring_type<Polygon>::type ring_type;
- convert
- <
- ring_tag, ring_tag, DimensionCount,
- Ring, ring_type
- >::apply(ring, exterior_ring(polygon));
- }
-};
-
-
-template <typename Polygon, std::size_t DimensionCount, typename Ring>
-struct convert<polygon_tag, ring_tag, DimensionCount, Polygon, Ring>
-{
- static inline void apply(Polygon const& polygon, Ring& ring)
- {
- typedef typename ring_type<Polygon>::type ring_type;
-
- convert
- <
- ring_tag, ring_tag, DimensionCount,
- ring_type, Ring
- >::apply(exterior_ring(polygon), ring);
- }
-};
-
-
-} // namespace dispatch
-#endif // DOXYGEN_NO_DISPATCH
-
-
-#ifndef DOXYGEN_NO_DETAIL
-namespace detail
-{
-
-/*!
-\brief Converts one geometry to another geometry
-\details The convert algorithm converts one geometry, e.g. a BOX, to another geometry, e.g. a RING. This only
-if it is possible and applicable.
-\ingroup convert
-\tparam Geometry1 \tparam_geometry
-\tparam Geometry2 \tparam_geometry
-\param geometry1 \param_geometry (source)
-\param geometry2 \param_geometry (target)
-\note It is moved to namespace detail because it overlaps functionality
- of assign.
- */
-template <typename Geometry1, typename Geometry2>
-inline void convert(Geometry1 const& geometry1, Geometry2& geometry2)
-{
- concept::check_concepts_and_equal_dimensions<Geometry1 const, Geometry2>();
-
- dispatch::convert
- <
- typename tag<Geometry1>::type,
- typename tag<Geometry2>::type,
- dimension<Geometry1>::type::value,
- Geometry1,
- Geometry2
- >::apply(geometry1, geometry2);
-}
-
-}
-#endif // DOXYGEN_NO_DETAIL
-
-
-}} // namespace boost::geometry
-
-
-#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_CONVERT_HPP

Modified: trunk/boost/geometry/algorithms/detail/equals/collect_vectors.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/equals/collect_vectors.hpp (original)
+++ trunk/boost/geometry/algorithms/detail/equals/collect_vectors.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -162,7 +162,7 @@
     {
         typename point_type<Box>::type lower_left, lower_right,
                 upper_left, upper_right;
- assign_box_corners(box, lower_left, lower_right,
+ geometry::detail::assign_box_corners(box, lower_left, lower_right,
                 upper_left, upper_right);
 
         typedef typename boost::range_value<Collection>::type item;

Modified: trunk/boost/geometry/algorithms/detail/overlay/clip_linestring.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/overlay/clip_linestring.hpp (original)
+++ trunk/boost/geometry/algorithms/detail/overlay/clip_linestring.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -13,7 +13,7 @@
 
 #include <boost/geometry/algorithms/append.hpp>
 #include <boost/geometry/algorithms/clear.hpp>
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 
 #include <boost/geometry/util/select_coordinate_type.hpp>
 #include <boost/geometry/geometries/segment.hpp>
@@ -181,8 +181,8 @@
             ++previous, ++vertex)
     {
         point_type p1, p2;
- geometry::detail::convert(*previous, p1);
- geometry::detail::convert(*vertex, p2);
+ geometry::convert(*previous, p1);
+ geometry::convert(*vertex, p2);
 
         // Clip the segment. Five situations:
         // 1. Segment is invisible, finish line if any (shouldn't occur)

Modified: trunk/boost/geometry/algorithms/detail/overlay/convert_ring.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/overlay/convert_ring.hpp (original)
+++ trunk/boost/geometry/algorithms/detail/overlay/convert_ring.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -19,7 +19,7 @@
 #include <boost/geometry/core/interior_rings.hpp>
 #include <boost/geometry/algorithms/detail/ring_identifier.hpp>
 
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 
 
 namespace boost { namespace geometry
@@ -50,7 +50,7 @@
     {
         if (! append)
         {
- geometry::detail::convert(source, destination);
+ geometry::convert(source, destination);
             if (reverse)
             {
                 boost::reverse(destination);
@@ -69,7 +69,7 @@
     {
         if (! append)
         {
- geometry::detail::convert(source, exterior_ring(destination));
+ geometry::convert(source, exterior_ring(destination));
             if (reverse)
             {
                 boost::reverse(exterior_ring(destination));
@@ -79,7 +79,7 @@
         {
             interior_rings(destination).resize(
                         interior_rings(destination).size() + 1);
- geometry::detail::convert(source, interior_rings(destination).back());
+ geometry::convert(source, interior_rings(destination).back());
             if (reverse)
             {
                 boost::reverse(interior_rings(destination).back());

Modified: trunk/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp (original)
+++ trunk/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -17,7 +17,7 @@
 #include <boost/geometry/core/ring_type.hpp>
 #include <boost/geometry/core/exterior_ring.hpp>
 #include <boost/geometry/core/interior_rings.hpp>
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/geometries/concepts/check.hpp>
 #include <boost/geometry/views/closeable_view.hpp>
 #include <boost/geometry/views/reversible_view.hpp>
@@ -71,7 +71,7 @@
         rview_type view(cview);
 
 
- geometry::detail::convert(*(boost::begin(view) + index), point);
+ geometry::convert(*(boost::begin(view) + index), point);
         return true;
     }
 };

Modified: trunk/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp (original)
+++ trunk/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -12,7 +12,7 @@
 
 #include <cstddef>
 
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/algorithms/detail/overlay/get_turns.hpp>
 
 
@@ -64,7 +64,7 @@
         {
 
             TurnInfo tp;
- geometry::detail::convert(result.template get<0>().intersections[i], tp.point);
+ geometry::convert(result.template get<0>().intersections[i], tp.point);
             *out++ = tp;
         }
 

Modified: trunk/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp (original)
+++ trunk/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -14,7 +14,7 @@
 #include <boost/geometry/core/access.hpp>
 #include <boost/geometry/strategies/intersection.hpp>
 
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/algorithms/detail/overlay/turn_info.hpp>
 
 
@@ -94,7 +94,7 @@
                 DirInfo const& dir_info)
     {
         ti.method = method_touch_interior;
- geometry::detail::convert(intersection_info.intersections[0], ti.point);
+ geometry::convert(intersection_info.intersections[0], ti.point);
 
         // Both segments of q touch segment p somewhere in its interior
         // 1) We know: if q comes from LEFT or RIGHT
@@ -213,7 +213,7 @@
                 DirInfo const& dir_info)
     {
         ti.method = method_touch;
- geometry::detail::convert(intersection_info.intersections[0], ti.point);
+ geometry::convert(intersection_info.intersections[0], ti.point);
 
         int const side_qi_p1 = dir_info.sides.template get<1, 0>();
         int const side_qk_p1 = SideStrategy::apply(pi, pj, qk);
@@ -404,7 +404,7 @@
     {
         ti.method = method_equal;
         // Copy the SECOND intersection point
- geometry::detail::convert(intersection_info.intersections[1], ti.point);
+ geometry::convert(intersection_info.intersections[1], ti.point);
 
         int const side_pk_q2 = SideStrategy::apply(qj, qk, pk);
         int const side_pk_p = SideStrategy::apply(pi, pj, pk);
@@ -486,7 +486,7 @@
                 DirInfo const& dir_info)
     {
         ti.method = method_collinear;
- geometry::detail::convert(intersection_info.intersections[1], ti.point);
+ geometry::convert(intersection_info.intersections[1], ti.point);
 
         int const arrival = dir_info.arrival[0];
         // Should not be 0, this is checked before
@@ -585,7 +585,7 @@
         // If P arrives within Q, set info on P (which is done above, index=0),
         // this turn-info belongs to the second intersection point, index=1
         // (see e.g. figure CLO1)
- geometry::detail::convert(intersection_info.intersections[1 - Index], tp.point);
+ geometry::convert(intersection_info.intersections[1 - Index], tp.point);
         return true;
     }
 
@@ -661,7 +661,7 @@
                 DirInfo const& dir_info)
     {
         ti.method = method_crosses;
- geometry::detail::convert(intersection_info.intersections[0], ti.point);
+ geometry::convert(intersection_info.intersections[0], ti.point);
 
         // In all casees:
         // If Q crosses P from left to right

Modified: trunk/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp (original)
+++ trunk/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -21,7 +21,7 @@
 #include <boost/geometry/core/point_order.hpp>
 #include <boost/geometry/core/reverse_dispatch.hpp>
 #include <boost/geometry/geometries/concepts/check.hpp>
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/algorithms/detail/overlay/clip_linestring.hpp>
 #include <boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp>
 #include <boost/geometry/algorithms/detail/overlay/overlay.hpp>
@@ -65,7 +65,7 @@
         for (std::size_t i = 0; i < is.count; i++)
         {
             PointOut p;
- geometry::detail::convert(is.intersections[i], p);
+ geometry::convert(is.intersections[i], p);
             *out++ = p;
         }
         return out;
@@ -95,7 +95,7 @@
             it = boost::begin(turns); it != boost::end(turns); ++it)
         {
             PointOut p;
- geometry::detail::convert(it->point, p);
+ geometry::convert(it->point, p);
             *out++ = p;
         }
         return out;

Modified: trunk/boost/geometry/algorithms/detail/sections/sectionalize.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/sections/sectionalize.hpp (original)
+++ trunk/boost/geometry/algorithms/detail/sections/sectionalize.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -461,8 +461,10 @@
         // (or polygon would be a helper-type).
         // Therefore we mimic a linestring/std::vector of 5 points
 
+ // TODO: might be replaced by assign_box_corners_oriented
+ // or just "convert"
         point_type ll, lr, ul, ur;
- assign_box_corners(box, ll, lr, ul, ur);
+ geometry::detail::assign_box_corners(box, ll, lr, ul, ur);
 
         std::vector<point_type> points;
         points.push_back(ll);

Modified: trunk/boost/geometry/algorithms/distance.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/distance.hpp (original)
+++ trunk/boost/geometry/algorithms/distance.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -78,8 +78,8 @@
>::type segment_strategy;
 
         typename point_type<Segment>::type p[2];
- geometry::assign_point_from_index<0>(segment, p[0]);
- geometry::assign_point_from_index<1>(segment, p[1]);
+ geometry::detail::assign_point_from_index<0>(segment, p[0]);
+ geometry::detail::assign_point_from_index<1>(segment, p[1]);
         return segment_strategy.apply(point, p[0], p[1]);
     }
 };
@@ -419,8 +419,8 @@
     {
         
         typename point_type<Segment>::type p[2];
- geometry::assign_point_from_index<0>(segment, p[0]);
- geometry::assign_point_from_index<1>(segment, p[1]);
+ geometry::detail::assign_point_from_index<0>(segment, p[0]);
+ geometry::detail::assign_point_from_index<1>(segment, p[1]);
         return strategy.apply(point, p[0], p[1]);
     }
 };

Modified: trunk/boost/geometry/algorithms/length.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/length.hpp (original)
+++ trunk/boost/geometry/algorithms/length.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -50,8 +50,8 @@
     {
         typedef typename point_type<Segment>::type point_type;
         point_type p1, p2;
- assign_point_from_index<0>(segment, p1);
- assign_point_from_index<1>(segment, p2);
+ geometry::detail::assign_point_from_index<0>(segment, p1);
+ geometry::detail::assign_point_from_index<1>(segment, p2);
         return strategy.apply(p1, p2);
     }
 };

Modified: trunk/boost/geometry/algorithms/simplify.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/simplify.hpp (original)
+++ trunk/boost/geometry/algorithms/simplify.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -32,7 +32,7 @@
 #include <boost/geometry/strategies/concepts/simplify_concept.hpp>
 
 #include <boost/geometry/algorithms/clear.hpp>
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/algorithms/num_interior_rings.hpp>
 
 
@@ -181,7 +181,7 @@
     static inline void apply(Point const& point, Point& out,
                     Distance const& max_distance, Strategy const& strategy)
     {
- geometry::detail::convert(point, out);
+ geometry::convert(point, out);
     }
 };
 

Modified: trunk/boost/geometry/algorithms/transform.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/transform.hpp (original)
+++ trunk/boost/geometry/algorithms/transform.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -101,15 +101,15 @@
         typedef typename point_type<Geometry2>::type point_type2;
 
         point_type1 source_point[2];
- assign_point_from_index<0>(source, source_point[0]);
- assign_point_from_index<1>(source, source_point[1]);
+ geometry::detail::assign_point_from_index<0>(source, source_point[0]);
+ geometry::detail::assign_point_from_index<1>(source, source_point[1]);
 
         point_type2 target_point[2];
         if (strategy.apply(source_point[0], target_point[0])
             && strategy.apply(source_point[1], target_point[1]))
         {
- assign_point_to_index<0>(target_point[0], target);
- assign_point_to_index<1>(target_point[1], target);
+ geometry::detail::assign_point_to_index<0>(target_point[0], target);
+ geometry::detail::assign_point_to_index<1>(target_point[1], target);
             return true;
         }
         return false;

Modified: trunk/boost/geometry/domains/gis/io/wkt/read_wkt.hpp
==============================================================================
--- trunk/boost/geometry/domains/gis/io/wkt/read_wkt.hpp (original)
+++ trunk/boost/geometry/domains/gis/io/wkt/read_wkt.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -531,8 +531,8 @@
             throw read_wkt_exception("Box should have 2,4 or 5 points", wkt);
         }
 
- assign_point_to_index<min_corner>(points.front(), box);
- assign_point_to_index<max_corner>(points[index], box);
+ geometry::detail::assign_point_to_index<min_corner>(points.front(), box);
+ geometry::detail::assign_point_to_index<max_corner>(points[index], box);
     }
 };
 
@@ -570,8 +570,8 @@
 
         if (boost::size(points) == 2)
         {
- assign_point_to_index<0>(points.front(), segment);
- assign_point_to_index<1>(points.back(), segment);
+ geometry::detail::assign_point_to_index<0>(points.front(), segment);
+ geometry::detail::assign_point_to_index<1>(points.back(), segment);
         }
         else
         {

Modified: trunk/boost/geometry/domains/gis/io/wkt/write_wkt.hpp
==============================================================================
--- trunk/boost/geometry/domains/gis/io/wkt/write_wkt.hpp (original)
+++ trunk/boost/geometry/domains/gis/io/wkt/write_wkt.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -24,7 +24,7 @@
 
 
 #include <boost/geometry/algorithms/assign.hpp>
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/core/exterior_ring.hpp>
 #include <boost/geometry/core/interior_rings.hpp>
 #include <boost/geometry/core/ring_type.hpp>
@@ -199,7 +199,7 @@
         // Convert to ring, then stream
         typedef model::ring<point_type> ring_type;
         ring_type ring;
- geometry::detail::convert(box, ring);
+ geometry::convert(box, ring);
         os << "POLYGON(";
         wkt_sequence<ring_type>::apply(os, ring);
         os << ")";
@@ -228,8 +228,8 @@
         typedef boost::array<point_type, 2> sequence;
 
         sequence points;
- assign_point_from_index<0>(segment, points[0]);
- assign_point_from_index<1>(segment, points[1]);
+ geometry::detail::assign_point_from_index<0>(segment, points[0]);
+ geometry::detail::assign_point_from_index<1>(segment, points[1]);
 
         // In Boost.Geometry a segment is represented
         // in WKT-format like (for 2D): LINESTRING(x y,x y)

Modified: trunk/boost/geometry/extensions/algorithms/dissolve.hpp
==============================================================================
--- trunk/boost/geometry/extensions/algorithms/dissolve.hpp (original)
+++ trunk/boost/geometry/extensions/algorithms/dissolve.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -33,7 +33,7 @@
 #include <boost/geometry/algorithms/detail/overlay/ring_properties.hpp>
 #include <boost/geometry/algorithms/detail/overlay/select_rings.hpp>
 
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 
 #include <boost/geometry/geometries/concepts/check.hpp>
 
@@ -134,7 +134,7 @@
         else
         {
             GeometryOut g;
- geometry::detail::convert(geometry, g);
+ geometry::convert(geometry, g);
             *out++ = g;
             return out;
         }

Modified: trunk/boost/geometry/extensions/gis/projections/project_inverse_transformer.hpp
==============================================================================
--- trunk/boost/geometry/extensions/gis/projections/project_inverse_transformer.hpp (original)
+++ trunk/boost/geometry/extensions/gis/projections/project_inverse_transformer.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -13,7 +13,7 @@
 #include <boost/shared_ptr.hpp>
 
 #include <boost/geometry/core/coordinate_dimension.hpp>
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/extensions/gis/projections/factory.hpp>
 #include <boost/geometry/extensions/gis/projections/parameters.hpp>
 

Modified: trunk/boost/geometry/extensions/gis/projections/project_transformer.hpp
==============================================================================
--- trunk/boost/geometry/extensions/gis/projections/project_transformer.hpp (original)
+++ trunk/boost/geometry/extensions/gis/projections/project_transformer.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -13,7 +13,7 @@
 #include <boost/shared_ptr.hpp>
 
 #include <boost/geometry/core/coordinate_dimension.hpp>
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/extensions/gis/projections/factory.hpp>
 #include <boost/geometry/extensions/gis/projections/parameters.hpp>
 

Modified: trunk/boost/geometry/extensions/nsphere/geometries/nsphere.hpp
==============================================================================
--- trunk/boost/geometry/extensions/nsphere/geometries/nsphere.hpp (original)
+++ trunk/boost/geometry/extensions/nsphere/geometries/nsphere.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -17,7 +17,7 @@
 #include <cstddef>
 
 #include <boost/geometry/algorithms/assign.hpp>
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/geometries/concepts/point_concept.hpp>
 
 
@@ -63,7 +63,7 @@
     nsphere(P const& center, T const& radius)
         : m_radius(radius)
     {
- geometry::detail::convert(center, m_center);
+ geometry::convert(center, m_center);
     }
 
     inline P const& center() const { return m_center; }

Modified: trunk/boost/geometry/extensions/strategies/buffer_join_round.hpp
==============================================================================
--- trunk/boost/geometry/extensions/strategies/buffer_join_round.hpp (original)
+++ trunk/boost/geometry/extensions/strategies/buffer_join_round.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -16,7 +16,7 @@
 
 
 
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/arithmetic/arithmetic.hpp>
 #include <boost/geometry/arithmetic/dot_product.hpp>
 #include <boost/geometry/core/cs.hpp>
@@ -51,7 +51,7 @@
     static inline Vector create_vector(Point1 const& p1, Point2 const& p2)
     {
         Vector v;
- geometry::detail::convert(p1, v);
+ geometry::convert(p1, v);
         subtract_point(v, p2);
         return v;
     }
@@ -111,7 +111,7 @@
                     PointOut projected_point;
 
                     multiply_value(v, b);
- geometry::detail::convert(vertex, projected_point);
+ geometry::convert(vertex, projected_point);
                     add_point(projected_point, v);
 
                     coordinate_type projected_distance = geometry::distance(projected_point, mid_point);

Modified: trunk/boost/geometry/geometries/box.hpp
==============================================================================
--- trunk/boost/geometry/geometries/box.hpp (original)
+++ trunk/boost/geometry/geometries/box.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -18,7 +18,7 @@
 
 #include <boost/concept/assert.hpp>
 
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/geometries/concepts/point_concept.hpp>
 
 
@@ -57,8 +57,8 @@
     */
     inline box(Point const& min_corner, Point const& max_corner)
     {
- geometry::detail::convert(min_corner, m_min_corner);
- geometry::detail::convert(max_corner, m_max_corner);
+ geometry::convert(min_corner, m_min_corner);
+ geometry::convert(max_corner, m_max_corner);
     }
 
     inline Point const& min_corner() const { return m_min_corner; }

Modified: trunk/boost/geometry/iterators/box_iterator.hpp
==============================================================================
--- trunk/boost/geometry/iterators/box_iterator.hpp (original)
+++ trunk/boost/geometry/iterators/box_iterator.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -95,9 +95,7 @@
 
     inline void init(Box const& box)
     {
- // asb -> lower_left, lower_right, upper_left, upper_right
- // we want: clockwise
- assign_box_corners(box, m_points[0], m_points[3], m_points[1], m_points[2]);
+ detail::assign_box_corners_oriented<false>(box, m_points);
     }
 
     // Copy points here - box might define them otherwise

Modified: trunk/boost/geometry/iterators/segment_range_iterator.hpp
==============================================================================
--- trunk/boost/geometry/iterators/segment_range_iterator.hpp (original)
+++ trunk/boost/geometry/iterators/segment_range_iterator.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -115,8 +115,8 @@
 
     inline void init(Segment const& segment)
     {
- assign_point_from_index<0>(segment, m_points[0]);
- assign_point_from_index<1>(segment, m_points[1]);
+ geometry::detail::assign_point_from_index<0>(segment, m_points[0]);
+ geometry::detail::assign_point_from_index<1>(segment, m_points[1]);
     }
 
     // We HAVE TO copy the points, because a segment does not need

Modified: trunk/boost/geometry/strategies/cartesian/distance_projected_point.hpp
==============================================================================
--- trunk/boost/geometry/strategies/cartesian/distance_projected_point.hpp (original)
+++ trunk/boost/geometry/strategies/cartesian/distance_projected_point.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -22,7 +22,7 @@
 #include <boost/geometry/core/access.hpp>
 #include <boost/geometry/core/point_type.hpp>
 
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/arithmetic/arithmetic.hpp>
 #include <boost/geometry/arithmetic/dot_product.hpp>
 
@@ -132,8 +132,8 @@
         // For consistency we define w also in FP
         fp_vector_type v, w;
 
- geometry::detail::convert(p2, v);
- geometry::detail::convert(p, w);
+ geometry::convert(p2, v);
+ geometry::convert(p, w);
         subtract_point(v, p1);
         subtract_point(w, p1);
 
@@ -163,7 +163,7 @@
>::apply(strategy);
 
         fp_point_type projected;
- geometry::detail::convert(p1, projected);
+ geometry::convert(p1, projected);
         multiply_value(v, b);
         add_point(projected, v);
 

Modified: trunk/boost/geometry/strategies/strategy_transform.hpp
==============================================================================
--- trunk/boost/geometry/strategies/strategy_transform.hpp (original)
+++ trunk/boost/geometry/strategies/strategy_transform.hpp 2011-04-16 07:31:53 EDT (Sat, 16 Apr 2011)
@@ -20,7 +20,7 @@
 
 #include <boost/numeric/conversion/cast.hpp>
 
-#include <boost/geometry/algorithms/detail/convert.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/arithmetic/arithmetic.hpp>
 #include <boost/geometry/core/access.hpp>
 #include <boost/geometry/core/coordinate_dimension.hpp>
@@ -104,7 +104,7 @@
         // Defensive check, dimensions are equal, selected by specialization
         assert_dimension_equal<P1, P2>();
 
- geometry::detail::convert(p1, p2);
+ geometry::convert(p1, p2);
         return true;
     }
 };


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk