|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r67396 - in sandbox/geometry/boost/geometry: core multi/algorithms multi/core
From: barend.gehrels_at_[hidden]
Date: 2010-12-21 16:41:51
Author: barendgehrels
Date: 2010-12-21 16:41:49 EST (Tue, 21 Dec 2010)
New Revision: 67396
URL: http://svn.boost.org/trac/boost/changeset/67396
Log:
Added multi/closure.hpp (adaptions for MPL_ASSERT)
Text files modified:
sandbox/geometry/boost/geometry/core/closure.hpp | 32 ++++++++++++++++++++++++++++++++
sandbox/geometry/boost/geometry/multi/algorithms/intersection.hpp | 1 +
sandbox/geometry/boost/geometry/multi/algorithms/union.hpp | 1 +
sandbox/geometry/boost/geometry/multi/algorithms/within.hpp | 2 ++
sandbox/geometry/boost/geometry/multi/core/closure.hpp | 5 +++++
5 files changed, 41 insertions(+), 0 deletions(-)
Modified: sandbox/geometry/boost/geometry/core/closure.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/core/closure.hpp (original)
+++ sandbox/geometry/boost/geometry/core/closure.hpp 2010-12-21 16:41:49 EST (Tue, 21 Dec 2010)
@@ -45,6 +45,26 @@
} // namespace traits
+#ifndef DOXYGEN_NO_DETAIL
+namespace core_detail { namespace closure
+{
+
+struct closed
+{
+ static const closure_selector value = geometry::closed;
+};
+
+struct open
+{
+ static const closure_selector value = geometry::open;
+};
+
+
+}} // namespace detail::point_order
+#endif // DOXYGEN_NO_DETAIL
+
+
+
#ifndef DOXYGEN_NO_DISPATCH
namespace core_dispatch
{
@@ -59,6 +79,18 @@
);
};
+template <typename Box>
+struct closure<point_tag, Box> : public core_detail::closure::open {};
+
+template <typename Box>
+struct closure<box_tag, Box> : public core_detail::closure::closed {};
+
+template <typename Box>
+struct closure<segment_tag, Box> : public core_detail::closure::open {};
+
+template <typename LineString>
+struct closure<linestring_tag, LineString> : public core_detail::closure::open {};
+
template <typename Ring>
struct closure<ring_tag, Ring>
Modified: sandbox/geometry/boost/geometry/multi/algorithms/intersection.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/multi/algorithms/intersection.hpp (original)
+++ sandbox/geometry/boost/geometry/multi/algorithms/intersection.hpp 2010-12-21 16:41:49 EST (Tue, 21 Dec 2010)
@@ -10,6 +10,7 @@
#include <boost/geometry/algorithms/intersection.hpp>
+#include <boost/geometry/multi/core/closure.hpp>
#include <boost/geometry/multi/core/geometry_id.hpp>
#include <boost/geometry/multi/core/is_areal.hpp>
#include <boost/geometry/multi/core/point_order.hpp>
Modified: sandbox/geometry/boost/geometry/multi/algorithms/union.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/multi/algorithms/union.hpp (original)
+++ sandbox/geometry/boost/geometry/multi/algorithms/union.hpp 2010-12-21 16:41:49 EST (Tue, 21 Dec 2010)
@@ -10,6 +10,7 @@
#include <boost/geometry/algorithms/union.hpp>
+#include <boost/geometry/multi/core/closure.hpp>
#include <boost/geometry/multi/core/geometry_id.hpp>
#include <boost/geometry/multi/core/is_areal.hpp>
#include <boost/geometry/multi/core/point_order.hpp>
Modified: sandbox/geometry/boost/geometry/multi/algorithms/within.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/multi/algorithms/within.hpp (original)
+++ sandbox/geometry/boost/geometry/multi/algorithms/within.hpp 2010-12-21 16:41:49 EST (Tue, 21 Dec 2010)
@@ -13,6 +13,8 @@
#include <boost/range.hpp>
#include <boost/geometry/algorithms/within.hpp>
+#include <boost/geometry/multi/core/closure.hpp>
+#include <boost/geometry/multi/core/point_order.hpp>
#include <boost/geometry/multi/core/tags.hpp>
namespace boost { namespace geometry
Modified: sandbox/geometry/boost/geometry/multi/core/closure.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/multi/core/closure.hpp (original)
+++ sandbox/geometry/boost/geometry/multi/core/closure.hpp 2010-12-21 16:41:49 EST (Tue, 21 Dec 2010)
@@ -24,6 +24,11 @@
namespace core_dispatch
{
+template <typename Multi>
+struct closure<multi_point_tag, Multi> : public core_detail::closure::closed {};
+
+template <typename Multi>
+struct closure<multi_linestring_tag, Multi> : public core_detail::closure::closed {};
// Specialization for polygon: the closure is the closure of its rings
template <typename MultiPolygon>
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