\( \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 5.0.3 - 2D and 3D Linear Geometry Kernel
CGAL::Simple_cartesian< FieldNumberType > Struct Template Reference

#include <CGAL/Simple_cartesian.h>

Definition

A model for a Kernel using Cartesian coordinates to represent the geometric objects.

In order for Simple_cartesian to model Euclidean geometry in \( E^2\) and/or \( E^3\), for some mathematical field \( E\) (e.g., the rationals \(\mathbb{Q}\) or the reals \(\mathbb{R}\)), the template parameter FieldNumberType must model the mathematical field \( E\). That is, the field operations on this number type must compute the mathematically correct results. If the number type provided as a model for FieldNumberType is only an approximation of a field (such as the built-in type double), then the geometry provided by the kernel is only an approximation of Euclidean geometry.

Is Model Of:
Kernel

Implementation

In contrast to Cartesian, no reference counting is used internally. This eases debugging, but may slow down algorithms that copy objects intensively.

See also
CGAL::Cartesian<FieldNumberType>
CGAL::Homogeneous<RingNumberType>
CGAL::Simple_homogeneous<RingNumberType>
Examples:
Filtered_kernel/Filtered_predicate.cpp, Kernel_23/cartesian_converter.cpp, Kernel_23/points_and_segment.cpp, and Kernel_23/surprising.cpp.

Types

typedef FieldNumberType FT
 
typedef FieldNumberType RT