mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-12 00:02:09 +00:00
Added multi/closure.hpp (adaptions for MPL_ASSERT)
[SVN r67396]
This commit is contained in:
@@ -45,6 +45,26 @@ struct closure
|
||||
} // 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 @@ struct closure
|
||||
);
|
||||
};
|
||||
|
||||
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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -24,6 +24,11 @@ namespace boost { namespace geometry
|
||||
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>
|
||||
|
||||
Reference in New Issue
Block a user