Add geom::intersection(segment,cylinder)
This commit is contained in:
parent
bdb1a203ff
commit
96d9a3e192
1 changed files with 12 additions and 0 deletions
|
|
@ -288,4 +288,16 @@ namespace psemek::geom
|
||||||
return !intersection(r, c).empty();
|
return !intersection(r, c).empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename T, std::size_t N>
|
||||||
|
interval<T> intersection(segment<point<T, N>> const & s, cylinder<T, N> const & c)
|
||||||
|
{
|
||||||
|
return intersection(ray{s[0], s[1] - s[0]}, c) & interval<T>{T{0}, T{1}};
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T, std::size_t N>
|
||||||
|
bool intersect(segment<point<T, N>> const & s, cylinder<T, N> const & c)
|
||||||
|
{
|
||||||
|
return !intersection(s, c).empty();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue