Mercurial > hg > vamp-build-and-test
diff DEPENDENCIES/generic/include/boost/geometry/strategies/intersection.hpp @ 101:c530137014c0
Update Boost headers (1.58.0)
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:12:49 +0100 |
parents | 2665513ce2d3 |
children |
line wrap: on
line diff
--- a/DEPENDENCIES/generic/include/boost/geometry/strategies/intersection.hpp Fri Sep 04 12:01:02 2015 +0100 +++ b/DEPENDENCIES/generic/include/boost/geometry/strategies/intersection.hpp Mon Sep 07 11:12:49 2015 +0100 @@ -20,38 +20,44 @@ #include <boost/geometry/strategies/intersection_result.hpp> #include <boost/geometry/strategies/cartesian/cart_intersect.hpp> +#include <boost/geometry/policies/robustness/segment_ratio_type.hpp> namespace boost { namespace geometry { -// The intersection strategy is a "compound strategy", -// it contains a segment-intersection-strategy -// and a side-strategy /*! -\tparam CalculationType \tparam_calculation -*/ +\brief "compound strategy", containing a segment-intersection-strategy + and a side-strategy + */ template < typename Tag, typename Geometry1, typename Geometry2, typename IntersectionPoint, + typename RobustPolicy, typename CalculationType = void > struct strategy_intersection { 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; typedef segment_intersection_points + < + IntersectionPoint, + typename geometry::segment_ratio_type < - IntersectionPoint - > ip_type; + IntersectionPoint, RobustPolicy + >::type + > ip_type; public: typedef strategy::intersection::relate_cartesian_segments @@ -60,18 +66,9 @@ < policies::relate::segments_intersection_points < - segment1_type, - segment2_type, - ip_type, - CalculationType + ip_type > , policies::relate::segments_direction - < - segment1_type, - segment2_type, - CalculationType - >, - CalculationType >, CalculationType > segment_intersection_strategy_type; @@ -81,9 +78,12 @@ Tag, CalculationType >::type side_strategy_type; + + typedef RobustPolicy rescale_policy_type; }; - +// Version for box_box intersection or other detail calls not needing a strategy +struct strategy_intersection_empty {}; }} // namespace boost::geometry