- In Mesh_3, fix the sliver perturber
- the invalidatation of caches,
- the topological check (in check_surface_mesh) was not enough.
Tested in CGAL-4.3-Ic-194
... to be a pair< variant<XXX>, Primitive_id > rather than
pair<optional<variant<XXX> >, Primitive_id >
The rational is that the optional around the variant here is not needed
since there is one around the pair.
-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).
Modify the use of macros
The semantic of CGAL_MESH_3_NEW_ROBUST_INTERSECTION_TRAITS is split into
two macros:
- CGAL_MESH_3_NEW_ROBUST_INTERSECTION_TRAITS itself,
- CGAL_MESH_3_NO_LONGER_CALLS_DO_INTERSECT_3
A new file <CGAL/Mesh_3/config.h> is now responsible for the logic like "if
that macro is enabled, then enable that one too".
Protect the use of Robust_intersection_traits_3_new by a macro
The macro is named CGAL_MESH_3_NEW_ROBUST_INTERSECTION_TRAIT.
I have also extended the error message we got if there is a problem with
the intersection returned by the AABB tree.
Even if there is an AABB tree dedicated to the bounding polyhedron, copy
the facets of that bounding polyhedron to the global AABB tree.
r62302 from Mesh_3-experimental-GF
AABB_tree documentation, Intersections_3 and Arrangement_on_surface_2.
The merge also introduced a regression for a bug fixed in R68387 which
fixed a bug in Triangle_3 Segment_3 intersections. The relevant
testcase is in triangle_other_intersection_test.cpp.
Before this patch, Construct_initial_points did not try to intersect with
the bounding polyhedron, but only with the other polyhedra. That can lead
to a crash if the given polyhedra are a bounding one, and a second
polyhedron that is coplanar. Then the initial points are *all* coplanar,
and then tr.dimension()==2 and an assertion is triggered.
Now Construct_initial_points uses construct_intersection_object(), and the
later tries to intersect with all polyhedra, including the bounding one.
* make_surface_index() of class Polyhedral_mesh_domain_3 is now public
* change default value of Min_dihedral_angle_criterion from 25 to 12
* add command-line applications for various mesh generation examples
* Minor fix in Polyhedral_mesh_domain_3: internal AABB kd-tree is now built
* Minor fix in mesh_standard_facet_criteria.h: check dimension with >2 instead of ==2 & add some assertions
* Add internal(undocumented) usefull genericity:
+ add Wrapper template parameter (with default value) in Implicit_mesh_domain_3
+ add Wrapper template parameter (with default value) in Labeled_Image_mesh_domain_3
+ add two template parameters (with defaults) in Mesh_criteria_3