CGAL 6.1 - 2D and 3D Linear Geometry Kernel

Loading...
Searching...
No Matches
CGAL::Exact_predicates_inexact_constructions_kernel Class Reference
Reference Manual » Predefined Kernels

`#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>`

## Definition

A typedef to a kernel that has the following properties:

- It uses Cartesian representation.
- It supports constructions of points from `double` Cartesian coordinates.
- It provides exact geometric predicates, but geometric constructions are not exact in general.

Trivial Constructions

Some geometric constructions, however, are exact because they only copy parameters and do not involve any computations that could lead to roundoff errors. We call such a construction trivial. For instance, all copy constructors, such as `Point_2::Point_2(const Point_2&)`, are trivial constructions. In addition, the following constructions in `CGAL::Exact_predicates_inexact_constructions_kernel` are trivial:

- `Point_2::Point_2(FT, FT)`
- `Point_2::Point_2(Weighted_point_2)`
- `Point_2::Point_2(Origin)`
- `FT Point_2::x()`
- `FT Point_2::y()`
- `FT Point_2::cartesian(int)`
- `FT Point_2::operator[](int)`
- `Bbox_2 Point_2::bbox()`
- `Vector_2 operator-(Point_2, Origin)`
- `Vector_2 operator-(Origin, Point_2)`
- `Weighted_point_2::Weighted_point_2(FT, FT)`
- `Weighted_point_2::Weighted_point_2(Point_2, FT)`
- `Weighted_point_2::Weighted_point_2(Point_2)`
- `Weighted_point_2::Weighted_point_2(Origin)`
- `Point_2 Weighted_point_2::point()`
- `FT Weighted_point_2::weight()`
- `FT Weighted_point_2::x()`
- `FT Weighted_point_2::y()`
- `FT Weighted_point_2::cartesian(int)`
- `FT Weighted_point_2::operator[](int)`
- `Bbox_2 Weighted_point_2::bbox()`
- `Vector_2::Vector_2(FT, FT)`
- `FT Vector_2::x()`
- `FT Vector_2::y()`
- `FT Vector_2::cartesian(int)`
- `FT Vector_2::operator[](int)`
- `Direction_2 Vector_2::direction()`
- `Vector_2 Vector_2::operator-()`
- `Direction_2::Direction_2(FT, FT)`
- `Direction_2::Direction_2(Vector_2)`
- `RT Direction_2::delta(int)`
- `RT Direction_2::dx()`
- `RT Direction_2::dy()`
- `Direction_2 Direction_2::operator-()`
- `Vector_2 Direction_2::vector()`
- `Line_2::Line_2(RT, RT, RT)`
- `RT Line_2::a()`
- `RT Line_2::b()`
- `Line_2 Line_2::opposite()`
- `Ray_2::Ray_2(Point_2, Point_2)`
- `Point_2 Ray_2::source()`
- `Segment_2::Segment_2(Point_2, Point_2)`
- `Point_2 Segment_2::source()`
- `Point_2 Segment_2::target()`
- `Point_2 Segment_2::min()`
- `Point_2 Segment_2::max()`
- `Point_2 Segment_2::vertex(int)`
- `Point_2 Segment_2::point(int)`
- `Point_2 Segment_2::operator[](int)`
- `Segment_2 Segment_2::opposite()`
- `Bbox_2 Segment_2::bbox()`
- `Triangle_2::Triangle_2(Point_2, Point_2, Point_2)`
- `Point_2 Triangle_2::vertex(int)`
- `Point_2 Triangle_2::operator[](int)`
- `Triangle_2 Triangle_2::opposite()`
- `Bbox_2 Triangle_2::bbox()`
- `Iso_rectangle_2::Iso_rectangle_2(Point_2, Point_2)`
- `Iso_rectangle_2::Iso_rectangle_2(Point_2, Point_2, int)`
- `Iso_rectangle_2::Iso_rectangle_2(Point_2, Point_2, Point_2, Point_2)`
- `Iso_rectangle_2::Iso_rectangle_2(Bbox_2)`
- `Point_2 Iso_rectangle_2::vertex(int)`
- `Point_2 Iso_rectangle_2::operator[](int)`
- `Point_2 Iso_rectangle_2::min()`
- `Point_2 Iso_rectangle_2::max()`
- `FT Iso_rectangle_2::xmin()`
- `FT Iso_rectangle_2::ymin()`
- `FT Iso_rectangle_2::xmax()`
- `FT Iso_rectangle_2::ymax()`
- `FT Iso_rectangle_2::min_coord(int)`
- `FT Iso_rectangle_2::max_coord(int)`
- `Bbox_2 Iso_rectangle_2::bbox()`
- `Circle_2::Circle_2(Point_2, FT, Orientation)`
- `Circle_2::Circle_2(Point_2, Orientation)`
- `Point_2 Circle_2::center()`
- `FT Circle_2::squared_radius()`
- `Orientation Circle_2::orientation()`
- `Circle_2 Circle_2::opposite()`
- `Point_3::Point_3(FT, FT, FT)`
- `Point_3::Point_3(Weighted_point_3)`
- `Point_3::Point_3(Origin)`
- `FT Point_3::x()`
- `FT Point_3::y()`
- `FT Point_3::z()`
- `FT Point_3::cartesian(int)`
- `FT Point_3::operator[](int)`
- `Bbox_3 Point_3::bbox()`
- `Vector_3 operator-(Point_3, Origin)`
- `Vector_3 operator-(Origin, Point_3)`
- `Weighted_point_3::Weighted_point_3(FT, FT, FT)`
- `Weighted_point_3::Weighted_point_3(Point_3, FT)`
- `Weighted_point_3::Weighted_point_3(Point_3)`
- `Weighted_point_3::Weighted_point_3(Origin)`
- `Point_3 Weighted_point_3::point()`
- `FT Weighted_point_3::weight()`
- `FT Weighted_point_3::x()`
- `FT Weighted_point_3::y()`
- `FT Weighted_point_3::z()`
- `FT Weighted_point_3::cartesian(int)`
- `FT Weighted_point_3::operator[](int)`
- `Bbox_3 Weighted_point_3::bbox()`
- `Vector_3::Vector_3(FT, FT, FT)`
- `Vector_3::Vector_3(Null_vector)`
- `FT Vector_3::x()`
- `FT Vector_3::y()`
- `FT Vector_3::z()`
- `FT Vector_3::cartesian(int)`
- `FT Vector_3::operator[](int)`
- `Direction_3 Vector_3::direction()`
- `Vector_3 Vector_3::opposite()`
- `Direction_3::Direction_3(RT, RT, RT)`
- `Direction_3::Direction_3(Vector_3)`
- `RT Direction_3::delta(int)`
- `RT Direction_3::dx()`
- `RT Direction_3::dy()`
- `RT Direction_3::dz()`
- `Direction_3 Direction_3::opposite()`
- `Vector_3 Direction_3::vector()`
- `Line_3::Line_3(Point_3, Vector_3)`
- `Line_3::Line_3(Point_3, Direction_3)`
- `Line_3 Line_3::opposite()`
- `Vector_3 Line_3::to_vector()`
- `Direction_3 Line_3::direction()`
- `Plane_3::Plane_3(FT, FT, FT, FT)`
- `Plane_3::Plane_3(Circle_3)`
- `FT Plane_3::a()`
- `FT Plane_3::b()`
- `FT Plane_3::c()`
- `FT Plane_3::d()`
- `Plane_3 Plane_3::opposite()`
- `Vector_3 Plane_3::orthogonal_vector()`
- `Direction_3 Plane_3::orthogonal_direction()`
- `Circle_3::Circle_3(Point_3, FT, Plane_3)`
- `Point_3 Circle_3::center()`
- `FT Circle_3::squared_radius()`
- `FT Circle_3::supporting_plane()`
- `Sphere_3 Circle_3::diametral_sphere()`
- `Sphere_3::Sphere_3(Point_3, FT, Orientation)`
- `Sphere_3::Sphere_3(Point_3, Orientation)`
- `Sphere_3::Sphere_3(Circle_3)`
- `Point_3 Sphere_3::center()`
- `FT Sphere_3::squared_radius()`
- `Orientation Sphere_3::orientation()`
- `Sphere_3 Sphere_3::opposite()`
- `Ray_3::Ray_3(Point_3, Point_3)`
- `Point_3 Ray_3::source()`
- `Segment_3::Segment_3(Point_3, Point_3)`
- `Point_3 Segment_3::source()`
- `Point_3 Segment_3::target()`
- `Point_3 Segment_3::min()`
- `Point_3 Segment_3::max()`
- `Point_3 Segment_3::vertex(int)`
- `Point_3 Segment_3::point(int)`
- `Point_3 Segment_3::operator[](int)`
- `Segment_3 Segment_3::opposite()`
- `Bbox_3 Segment_3::bbox()`
- `Triangle_3::Triangle_3(Point_3, Point_3, Point_3)`
- `Point_3 Triangle_3::vertex(int)`
- `Point_3 Triangle_3::operator[](int)`
- `Bbox_3 Triangle_3::bbox()`
- `Tetrahedron_3::Tetrahedron_3(Point_3, Point_3, Point_3, Point_3)`
- `Point_3 Tetrahedron_3::vertex(int)`
- `Point_3 Tetrahedron_3::operator[](int)`
- `Bbox_3 Tetrahedron_3::bbox()`
- `Iso_cuboid_3::Iso_cuboid_3(Point_3, Point_3)`
- `Iso_cuboid_3::Iso_cuboid_3(Point_3, Point_3, int)`
- `Iso_cuboid_3::Iso_cuboid_3(Point_3, Point_3, Point_3, Point_3, Point_3, Point_3)`
- `Iso_cuboid_3::Iso_cuboid_3(Bbox_3)`
- `Point_3 Iso_cuboid_3::vertex(int)`
- `Point_3 Iso_cuboid_3::operator[](int)`
- `Point_3 Iso_cuboid_3::min()`
- `Point_3 Iso_cuboid_3::max()`
- `FT Iso_cuboid_3::xmin()`
- `FT Iso_cuboid_3::ymin()`
- `FT Iso_cuboid_3::zmin()`
- `FT Iso_cuboid_3::xmax()`
- `FT Iso_cuboid_3::ymax()`
- `FT Iso_cuboid_3::zmax()`
- `FT Iso_cuboid_3::min_coord(int)`
- `FT Iso_cuboid_3::max_coord(int)`
- `Bbox_3 Iso_cuboid_3::bbox()`
- `Point_2 min_vertex(Iso_rectangle_2)`
- `Point_2 min_vertex(Iso_cuboid_3)`
- `Point_2 max_vertex(Iso_rectangle_2)`
- `Point_2 max_vertex(Iso_cuboid_3)`

Is model of
  `Kernel`

See also
  `CGAL::Exact_predicates_exact_constructions_kernel`
  `CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt`
  `CGAL::Exact_predicates_exact_constructions_kernel_with_kth_root`
  `CGAL::Exact_predicates_exact_constructions_kernel_with_root_of`
  `CGAL::Cartesian`

Examples
  Triangulation_2/triangulation_projection_traits.cpp.