diff --git a/libs/geom/include/psemek/geom/intersection.hpp b/libs/geom/include/psemek/geom/intersection.hpp index 72a85e00..916a8da7 100644 --- a/libs/geom/include/psemek/geom/intersection.hpp +++ b/libs/geom/include/psemek/geom/intersection.hpp @@ -288,4 +288,16 @@ namespace psemek::geom return !intersection(r, c).empty(); } + template + interval intersection(segment> const & s, cylinder const & c) + { + return intersection(ray{s[0], s[1] - s[0]}, c) & interval{T{0}, T{1}}; + } + + template + bool intersect(segment> const & s, cylinder const & c) + { + return !intersection(s, c).empty(); + } + }