// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
-// This file was modified by Oracle on 2016, 2017.
-// Modifications copyright (c) 2016-2017, Oracle and/or its affiliates.
+// This file was modified by Oracle on 2016-2020.
+// Modifications copyright (c) 2016-2020, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Use, modification and distribution is subject to the Boost Software License,
#define BOOST_GEOMETRY_STRATEGIES_INTERSECTION_HPP
-#include <boost/geometry/core/point_type.hpp>
-#include <boost/geometry/geometries/segment.hpp>
+//#include <type_traits>
-#include <boost/geometry/policies/relate/intersection_points.hpp>
-#include <boost/geometry/policies/relate/direction.hpp>
-#include <boost/geometry/policies/relate/tupled.hpp>
+#include <boost/geometry/policies/relate/intersection_policy.hpp>
+#include <boost/geometry/policies/robustness/segment_ratio_type.hpp>
#include <boost/geometry/strategies/intersection.hpp>
#include <boost/geometry/strategies/intersection_result.hpp>
#include <boost/geometry/strategies/spherical/intersection.hpp>
#include <boost/geometry/strategies/spherical/ssf.hpp>
-#include <boost/geometry/policies/robustness/segment_ratio_type.hpp>
-
namespace boost { namespace geometry
{
struct intersection_strategies
{
private :
- // for development BOOST_STATIC_ASSERT((! boost::is_same<RobustPolicy, void>::type::value));
-
- typedef typename geometry::point_type<Geometry1>::type point1_type;
- typedef typename geometry::point_type<Geometry2>::type point2_type;
- typedef typename model::referring_segment<point1_type const> segment1_type;
- typedef typename model::referring_segment<point2_type const> segment2_type;
+ // for development BOOST_STATIC_ASSERT((! std::is_same<RobustPolicy, void>::type::value));
typedef segment_intersection_points
<
> ip_type;
public:
- typedef policies::relate::segments_tupled
+ typedef policies::relate::segments_intersection_policy
<
- policies::relate::segments_intersection_points
- <
- ip_type
- > ,
- policies::relate::segments_direction
+ ip_type
> intersection_policy_type;
typedef typename strategy::intersection::services::default_strategy