MEPP2 Project
Macros | Typedefs | Enumerations | Functions
boolops_definitions.hpp File Reference
#include <CGAL/Gmpq.h>
#include <CGAL/Lazy_exact_nt.h>
#include <chrono>
#include "boolops_enriched_polyhedron.hpp"
Include dependency graph for boolops_definitions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BOOLEAN_OPERATIONS_TIME
 Enables computation time measuring. More...
 

Typedefs

typedef EnrichedPolyhedron::Halfedge_handle Halfedge_handle
 
typedef EnrichedPolyhedron::Point_3 Point3d
 
typedef CGAL::Lazy_exact_nt< CGAL::Gmpq > num_type
 exact number type More...
 
typedef CGAL::Simple_cartesian< num_typeExact_Kernel
 Kernel using exact number type. More...
 
typedef CGAL::Vector_3< Exact_KernelVector_exact
 3d vector using exact number type More...
 
typedef CGAL::Point_3< Exact_KernelPoint3d_exact
 3d point using exact number type More...
 

Enumerations

enum  Bool_Op { UNION, INTER, MINUS }
 The three Boolean operations. More...
 

Functions

Point3d_exact point_to_exact (Point3d &p)
 Convertion from a Point3d (double) to a Point3d_exact (exact) More...
 
Point3d point_to_double (Point3d_exact &pe)
 Convertion from a Point3d_exact (exact) to a Point3d (double) More...
 
Vector_exact Compute_Normal_direction (Halfedge_handle he)
 
double tr (double &n)
 Truncate a number to 1/1000 (only if BOOLEAN_OPERATIONS_DEBUG is enable) More...
 
double get_time_and_reset (std::chrono::time_point< std::chrono::steady_clock > &time_start)
 Measure time since starting time and reset starting time. More...
 

Macro Definition Documentation

◆ BOOLEAN_OPERATIONS_TIME

#define BOOLEAN_OPERATIONS_TIME

Enables computation time measuring.

Definition at line 49 of file boolops_definitions.hpp.

Typedef Documentation

◆ Exact_Kernel

Kernel using exact number type.

Definition at line 67 of file boolops_definitions.hpp.

◆ Halfedge_handle

typedef EnrichedPolyhedron::Halfedge_handle Halfedge_handle

Definition at line 29 of file boolops_definitions.hpp.

◆ num_type

exact number type

Definition at line 61 of file boolops_definitions.hpp.

◆ Point3d

typedef EnrichedPolyhedron::Point_3 Point3d

Definition at line 30 of file boolops_definitions.hpp.

◆ Point3d_exact

3d point using exact number type

Definition at line 79 of file boolops_definitions.hpp.

◆ Vector_exact

3d vector using exact number type

Definition at line 73 of file boolops_definitions.hpp.

Enumeration Type Documentation

◆ Bool_Op

enum Bool_Op

The three Boolean operations.

Enumerator
UNION 
INTER 
MINUS 

Definition at line 55 of file boolops_definitions.hpp.

Function Documentation

◆ Compute_Normal_direction()

Vector_exact Compute_Normal_direction ( Halfedge_handle  he)
inline

Definition at line 111 of file boolops_definitions.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_time_and_reset()

double get_time_and_reset ( std::chrono::time_point< std::chrono::steady_clock > &  time_start)
inline

Measure time since starting time and reset starting time.

Parameters
Startingtime
Returns
Elapsed time in seconds since starting time.

Definition at line 140 of file boolops_definitions.hpp.

Here is the caller graph for this function:

◆ point_to_double()

Point3d point_to_double ( Point3d_exact pe)
inline

Convertion from a Point3d_exact (exact) to a Point3d (double)

Parameters
pe: The Point3d_exact
Returns
The conversion in Point3d (double).

Definition at line 99 of file boolops_definitions.hpp.

Here is the caller graph for this function:

◆ point_to_exact()

Point3d_exact point_to_exact ( Point3d p)
inline

Convertion from a Point3d (double) to a Point3d_exact (exact)

Parameters
p: The Point3d
Returns
The conversion in Point3d_exact.

Definition at line 87 of file boolops_definitions.hpp.

Here is the caller graph for this function:

◆ tr()

double tr ( double &  n)
inline

Truncate a number to 1/1000 (only if BOOLEAN_OPERATIONS_DEBUG is enable)

Parameters
n: The input number in double
Returns
The truncation in double.

Definition at line 127 of file boolops_definitions.hpp.

Here is the caller graph for this function: