1 // Copyright (c) 2014 INRIA (France).
2 //               2017 GeometryFactory Sarl (France)
3 // All rights reserved.
4 //
5 // This file is part of CGAL (www.cgal.org).
6 //
7 // $URL: https://github.com/CGAL/cgal/blob/v5.3/Periodic_3_mesh_3/include/CGAL/Periodic_3_mesh_3/config.h $
8 // $Id: config.h 254d60f 2019-10-19T15:23:19+02:00 Sébastien Loriot
9 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial
10 //
11 // Author(s)     : Aymeric Pellé
12 //                 Mael Rouxel-Labbé
13 
14 #ifndef CGAL_PERIODIC_3_MESH_3_CONFIG_H
15 #define CGAL_PERIODIC_3_MESH_3_CONFIG_H
16 
17 #include <CGAL/license/Periodic_3_mesh_3.h>
18 
19 #if defined(CGAL_PERIODIC_3_MESH_3_VERBOSE) && !defined(CGAL_MESH_3_VERBOSE)
20   #define CGAL_MESH_3_VERBOSE
21 #endif
22 
23 #include <CGAL/Mesh_3/config.h>
24 
25 // Whether to remove dummy points or not during the protection of sharp features
26 // (if in doubt about what it means, it should be left defined)
27 #define CGAL_PERIODIC_PROTECTION_ATTEMPT_TO_REMOVE_DUMMY_PTS
28 
29 
30 // Since we are sure that we are always in 1-cover, we can use the visited
31 // memory boolean in the vertex base
32 #define CGAL_PERIODIC_TRIANGULATION_USE_VISITED_VERTEX_BOOLEAN
33 
34 // Avoid optimisations of Mesh_3
35 #define CGAL_NO_STRUCTURAL_FILTERING
36 #ifdef CGAL_MESH_3_SIZING_FIELD_INEXACT_LOCATE
37   #undef CGAL_MESH_3_SIZING_FIELD_INEXACT_LOCATE
38 #endif
39 
40 //#warning "Structural filtering is disabled because this feature isn't compatible with some periodic traits!"
41 /*
42  * It's a temporary solution.
43  * We avoid the structural filtering optimization, because it isn't
44  * available with some periodic triangulation traits. (cf. Periodic_3_triangulation_remove_traits_3.h)
45  * Indeed, this feature needs the Triangulation_3::inexact_orientation() method.
46  *
47  * A better solution would be to make Triangulation_3 compatible 'any' traits.
48  * By this way, Triangulation_3 would require the Bare_point concept which would use in
49  * inexact_orientation(). So, we'd work with a Bare_point instead of a Point in this method.
50  * In the 'default' Triangulation_3 traits, Bare_point would be equal to Point_3
51  * (or const Point_3&  <- for avoiding useless copies).
52 */
53 
54 #endif // CGAL_PERIODIC_3_MESH_3_CONFIG_H
55