Followup to:
> commit 535c5bb5b2
> Author: Laurent Rineau <laurent.rineau@cgal.org>
> Date: Wed Apr 6 16:03:55 2016 +0200
>
> Speed-up Triangulation_3::read_cells...
>
> ... by a factor 5 for big triangulations! The old code was using:
>
> std::map<size_t, Vertex_handle> V;
> std::map<size_t, Cell_handle> C;
>
> whereas the indices are contiguous: from 0 to n. `std::vector` is a lot
> better for that use case!
Add class Periodic_3_triangulation_traits_3.
Add class Periodic_3_triangulation_filtered__traits_3.
Put Traits_with_offsets_adaptor in a separate header.
Put Periodic_3_construct_point_3 in a separate header.
Update tests.
The class Periodic_3_triangulation_filtered_traits_3 is renamed.
The class Periodic_3_triangulation_filtered_traits_base_3 is renamed.
New header file.
Periodic_3_triangulation_filtered_traits_base_3 is set deprecated.
Classes Periodic_3_triangulation_traits_3 and
Periodic_3_triangulation_traits_base_3 are renamed.
Tests, examples, ... are updated.
Doc is updated.
Periodic_3_triangulation_traits_3.h is set deprecated.
This branch adds an additional way to filter predicates that are only doing
operations using a ring number type. In case of failure, a RT is used rather
than an FT which speeds things up.
Successfully tested in CGAL-4.3Ic-37
I just needed to added a constructor where the approximate predicates and exact
one needed to be provided (which is reasonable and cannot hurts thanks to the
explicit)
Wextra results in a dreadful wall of yellow in the test-suite and is
scary when using CGAL. Reduce some of the noise by silencing the
obvious cases with CGAL_USE or comments.
-Wunused-local-typedefs is a new warning flag of gcc-4.7, and it will enabled
by -Wall since gcc-4.8 (not yet released).
The fix is a big set of removals of unused typedefs (or comments, or moves,
depending on the context).
This seems required. At least the Intel Compiler version 12 gives a set of errors
(not even warnings!). Here is one of them:
/home/lrineau/CGAL/CGAL-4.0-Ic-248/include/CGAL/Periodic_3_triangulation_ds_cell_base_3.h:192:29: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned int' in initializer list
unsigned int off0[3] = {(o0>>2)&1,(o0>>1)&1,(o0&1)};
^~~~~~~~~
/home/lrineau/CGAL/CGAL-4.0-Ic-248/include/CGAL/Periodic_3_triangulation_ds_cell_base_3.h:192:29: note: override this message by inserting an explicit cast
unsigned int off0[3] = {(o0>>2)&1,(o0>>1)&1,(o0&1)};
^~~~~~~~~
static_ca)t<unsigned int>(