CGAL 4.7 - 2D and 3D Linear Geometry Kernel: CGAL::do_intersect() (2D/3D Linear Kernel)

\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.7 - 2D and 3D Linear Geometry Kernel

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
CGAL::do_intersect() (2D/3D Linear Kernel)
CGAL::do_intersect()

##

See Also
  `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...

## Function Documentation

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

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:

- `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>`.

`#include <CGAL/intersections.h>`