diff --git a/include/boost/geometry/algorithms/detail/buffer/turn_in_piece_visitor.hpp b/include/boost/geometry/algorithms/detail/buffer/turn_in_piece_visitor.hpp index da078c6bc..df657281a 100644 --- a/include/boost/geometry/algorithms/detail/buffer/turn_in_piece_visitor.hpp +++ b/include/boost/geometry/algorithms/detail/buffer/turn_in_piece_visitor.hpp @@ -348,7 +348,10 @@ public : }; template -struct check_helper_segment +struct check_helper_segment {}; + +template <> +struct check_helper_segment { template static inline analyse_result apply(Point const& s1, @@ -357,7 +360,7 @@ struct check_helper_segment Point const& offsetted) { boost::ignore_unused(offsetted); -#if defined(BOOST_GEOMETRY_BUFFER_USE_SIDE_OF_INTERSECTION) + boost::ignore_unused(is_original); typedef geometry::model::referring_segment segment_type; segment_type const p(turn.rob_pi, turn.rob_pj); segment_type const q(turn.rob_qi, turn.rob_qj); @@ -396,7 +399,20 @@ struct check_helper_segment // right of segment return analyse_continue; -#else + } + +}; + +template <> +struct check_helper_segment +{ + template + static inline analyse_result apply(Point const& s1, + Point const& s2, Turn const& turn, + bool is_original, + Point const& offsetted) + { + boost::ignore_unused(offsetted); typedef typename strategy::side::services::default_strategy < typename cs_tag::type @@ -445,9 +461,7 @@ struct check_helper_segment // right of segment return analyse_continue; -#endif } - }; template