\( \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.13 - 2D and 3D Linear Geometry Kernel
CGAL::Filtered_kernel_adaptor< CK > Struct Template Reference

#include <CGAL/Filtered_kernel.h>


Filtered_kernel_adaptor is a kernel that uses a filtering technique to obtain a kernel with exact and efficient predicate functors.

The geometric constructions are exactly those of the kernel CK, which means that they are not necessarily exact. More details about the filtering technique can be found in [1].

In contrast to Filtered_kernel, the global functions are those of CK.

Is Model Of:


The following example shows how to produce a kernel whose geometric objects and constructions are those of Simple_cartesian<double> The predicate functors of the kernel are exact, the global functions are not.

#include <CGAL/Simple_cartesian.h>
#include <CGAL/Filtered_kernel.h>
typedef K::Point_2 p(0,0), q(1,1), r(1,5);
CGAL::orientation(p,q,r); // not exact
typedef K::Orientation_2 orientation;
orientation(p,q,r); // exact