Go to the documentation of this file.
20 #include <CGAL/Gmpq.h>
21 #include <CGAL/Lazy_exact_nt.h>
30 typedef typename EnrichedPolyhedron::Point_3
Point3d;
49 #define BOOLEAN_OPERATIONS_TIME
61 typedef CGAL::Lazy_exact_nt<CGAL::Gmpq>
num_type;
101 return Point3d(to_double(pe.x()),to_double(pe.y()),to_double(pe.z()));
127 inline double tr(
double &n)
129 return floor(n*1000)/1000;
141 std::chrono::time_point< std::chrono::steady_clock > &time_start)
143 auto time_now = std::chrono::steady_clock::now();
144 std::chrono::duration< double > duration = time_now - time_start;
145 time_start = time_now;
147 return duration.count();
Point3d point_to_double(Point3d_exact &pe)
Convertion from a Point3d_exact (exact) to a Point3d (double)
CGAL::Lazy_exact_nt< CGAL::Gmpq > num_type
exact number type
double tr(double &n)
Truncate a number to 1/1000 (only if BOOLEAN_OPERATIONS_DEBUG is enable)
static std::vector< ElementType > cross_product(const ElementType v1[DIM], const ElementType v2[DIM])
CGAL::Point_3< Exact_Kernel > Point3d_exact
3d point using exact number type
CGAL::Vector_3< Exact_Kernel > Vector_exact
3d vector using exact number type
Point3d_exact point_to_exact(Point3d &p)
Convertion from a Point3d (double) to a Point3d_exact (exact)
EnrichedPolyhedron::Halfedge_handle Halfedge_handle
Bool_Op
The three Boolean operations.
EnrichedPolyhedron::Halfedge_handle Halfedge_handle
CGAL::Simple_cartesian< num_type > Exact_Kernel
Kernel using exact number type.
EnrichedPolyhedron::Point_3 Point3d
Vector_exact Compute_Normal_direction(Halfedge_handle he)
EnrichedPolyhedron::Point_3 Point3d
double get_time_and_reset(std::chrono::time_point< std::chrono::steady_clock > &time_start)
Measure time since starting time and reset starting time.