From 7b2a4cb5896ae7fbaa8cd7a6b93e239859605caa Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sat, 3 May 2014 14:41:33 +0200 Subject: [PATCH] [intersection] fix segments_intersection_ratios adding the new one_degenerate method --- .../policies/relate/intersection_ratios.hpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/boost/geometry/policies/relate/intersection_ratios.hpp b/include/boost/geometry/policies/relate/intersection_ratios.hpp index 0e4506eda..81ecba0b5 100644 --- a/include/boost/geometry/policies/relate/intersection_ratios.hpp +++ b/include/boost/geometry/policies/relate/intersection_ratios.hpp @@ -99,6 +99,24 @@ struct segments_intersection_ratios { return return_type(); } + + template + static inline return_type one_degenerate(Segment const& , + Ratio const& ratio, bool a_degenerate) + { + return_type result; + if (a_degenerate) + { + // IP lies on ratio w.r.t. segment b + result.assign(Ratio::zero(), ratio); + } + else + { + result.assign(ratio, Ratio::zero()); + } + return result; + } + };