16#ifndef CDT_PLUSPLUS_TRIANGULATION_TRAITS_HPP
17#define CDT_PLUSPLUS_TRIANGULATION_TRAITS_HPP
19#include <CGAL/Delaunay_triangulation_3.h>
20#include <CGAL/Delaunay_triangulation_cell_base_3.h>
21#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
22#include <CGAL/point_generators_3.h>
24#include <CGAL/Triangulation_cell_base_with_info_3.h>
25#include <CGAL/Triangulation_data_structure_3.h>
26#include <CGAL/Triangulation_vertex_base_with_info_3.h>
35 template <
int dimension>
36 struct TriangulationTraits;
39 struct TriangulationTraits<3>
41 using Kernel = CGAL::Exact_predicates_inexact_constructions_kernel;
43 CGAL::Triangulation_vertex_base_with_info_3<Int_precision, Kernel>;
44 using Delaunay_cell_base = CGAL::Delaunay_triangulation_cell_base_3<Kernel>;
46 CGAL::Triangulation_cell_base_with_info_3<
Int_precision, Kernel,
48#if defined(CDT_ENABLE_PARALLEL_TRIANGULATION) && \
49 CDT_ENABLE_PARALLEL_TRIANGULATION
50#ifndef CGAL_LINKED_WITH_TBB
51#error "Parallel CDT++ triangulations require CGAL::TBB_support."
53 using Concurrency_tag = CGAL::Parallel_tag;
55 using Concurrency_tag = CGAL::Sequential_tag;
57 using Tds = CGAL::Triangulation_data_structure_3<Vertex_base, Cell_base,
59 using Delaunay = CGAL::Delaunay_triangulation_3<Kernel, Tds>;
62 using Facet = Delaunay::Facet;
65 using Point = Delaunay::Point;
66 using Causal_vertices = std::vector<std::pair<Point, Int_precision>>;
72 using squared_distance = Kernel::Compute_squared_distance_3;
74 using Spherical_points_generator = CGAL::Random_points_on_sphere_3<Point>;
76 static inline Point
const ORIGIN_POINT = Point{0, 0, 0};
Vertex_handle_t< 3 > Vertex_handle
Three-dimensional CGAL vertex handle.
Edge_handle_t< 3 > Edge_handle
Three-dimensional CGAL edge descriptor.
Cell_handle_t< 3 > Cell_handle
Three-dimensional CGAL cell handle.
Delaunay_t< 3 > Delaunay
Three-dimensional Delaunay triangulation used by move implementations.
Global integer and precision settings.
std::int32_t Int_precision