 CGAL 5.0 - 2D and 3D Linear Geometry Kernel
CGAL::do_intersect() (2D/3D Linear Kernel)
CGAL::do_intersect() (2D Circular Kernel)
CGAL::do_intersect() (3D Spherical Kernel)
CGAL::intersection()

See Chapter 2D and 3D Geometry Kernel for details on a linear kernel instantiation.

## Functions

bool CGAL::do_intersect (Type1< Kernel > obj1, Type2< Kernel > obj2)
checks whether obj1 and obj2 intersect. More...

## ◆ do_intersect()

 bool CGAL::do_intersect ( Type1< Kernel > obj1, Type2< Kernel > obj2 )

#include <CGAL/intersections.h>

checks whether obj1 and obj2 intersect.

Two objects obj1 and obj2 intersect if there is a point p that is part of both obj1 and obj2. The intersection region of those two objects is defined as the set of all points p that are part of both obj1 and obj2. Note that for objects like triangles and polygons that enclose a bounded region, this region is part of the object.

The types Type1 and Type2 can be any of the following:

• Point_2<Kernel>
• Line_2<Kernel>
• Ray_2<Kernel>
• Segment_2<Kernel>
• Triangle_2<Kernel>
• Iso_rectangle_2<Kernel>

Also, Type1 and Type2 can be both of type

• Line_2<Kernel>
• Circle_2<Kernel>

In three-dimensional space, the types Type1 and Type2 can be any of the following:

• Point_3<Kernel>
• Plane_3<Kernel>
• Line_3<Kernel>
• Ray_3<Kernel>
• Segment_3<Kernel>
• Triangle_3<Kernel>.
• Bbox_3.

Also, Type1 and Type2 can be respectively of types

• Triangle_3<Kernel> and Tetrahedron_3<Kernel>
• Plane_3<Kernel> and Sphere_3<Kernel> (or the contrary)
• Sphere_3<Kernel> and Sphere_3<Kernel>
• Line_3<Kernel> and Iso_cuboid_3<Kernel>
• Ray_3<Kernel> and Iso_cuboid_3<Kernel>
• Segment_3<Kernel> and Iso_cuboid_3<Kernel>
• Iso_cuboid_3<Kernel> and Iso_cuboid_3<Kernel>.