\( \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.5.2 - 2D and 3D Linear Geometry Kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Filtered_kernel_adaptor< CK > Class Template Reference

#include <CGAL/Filtered_kernel.h>

Definition

Filtered_kernel_adaptor is a kernel that uses the filtering technique from

[1] 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.

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

Is Model Of:
Kernel

Example

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
Examples:
Kernel_23/MyKernel.cpp.