Merge branch 'Intersections_3-fix_do_intersect_3planes-GF' into Intersections_3-fix_do_intersect_3planes-master-GF

# Conflicts:
#	Filtered_kernel/include/CGAL/internal/Static_filters/Do_intersect_3.h
This commit is contained in:
Jane Tournois 2020-10-06 17:30:29 +02:00
commit f005bd40a4
3 changed files with 13 additions and 2 deletions

View File

@ -1573,9 +1573,9 @@ do_intersect(const Plane_3<R>& plane1, const Plane_3<R>& plane2, const R&)
template <class R>
inline bool
do_intersect(const Plane_3<R> &plane1, const Plane_3<R> &plane2,
const Plane_3<R> &plane3, const R&)
const Plane_3<R> &plane3, const R& r)
{
return bool(intersection(plane1, plane2, plane3));
return bool(intersection(plane1, plane2, plane3, r));
}

View File

@ -228,6 +228,7 @@ struct Test {
Pl pl3(0,0,1,0);
// Generic intersection.
assert(CGAL::do_intersect(pl1, pl2, pl3));
CGAL::Object o = CGAL::intersection(pl1, pl2, pl3);
P p;
assert(assign(p, o));
@ -236,9 +237,11 @@ struct Test {
// Empty intersection.
Pl pl4(1,0,0,1); // pl4 is // to pl1.
assert(!CGAL::do_intersect(pl1, pl2, pl4));
CGAL::Object o2 = CGAL::intersection(pl1, pl2, pl4);
assert(o2.is_empty());
assert(!CGAL::do_intersect(pl1, pl4, pl2));
CGAL::Object o3 = CGAL::intersection(pl1, pl4, pl2);
assert(o3.is_empty());
@ -246,12 +249,14 @@ struct Test {
Pl pl5(1,1,0,0); // pl1, pl2, pl5 intersect in the line l.
L l;
assert(CGAL::do_intersect(pl1, pl2, pl5));
CGAL::Object o4 = CGAL::intersection(pl1, pl2, pl5);
assert(assign(l, o4));
assert(l == L(P(0,0,0), P(0,0,1)));
// Intersection in a plane.
assert(CGAL::do_intersect(pl1, pl1, pl1));
CGAL::Object o5 = CGAL::intersection(pl1, pl1, pl1);
Pl pl;
assert(assign(pl, o5));

View File

@ -58,6 +58,12 @@ In three-dimensional space, the types `Type1` and
- `Tetrahedron_3<Kernel>`.
*/
bool do_intersect(Type1<Kernel> obj1, Type2<Kernel> obj2);
/*!
checks whether `obj1`, `obj2` and `obj3` intersect.
*/
bool do_intersect(Plane_3<Kernel> obj1, Plane_3<Kernel> obj2, Plane_3<Kernel> obj3);
/// @}