For the moment, the manifold feature is no longer working.
Merge remote-tracking branch 'cgal-dev/Mesh_3-manifold_criterion-lrineau' into Mesh_3-manifold_criterion-lrineau
Conflicts:
Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h
Mesh_3/include/CGAL/Mesh_3/Mesher_3.h
Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
Polyhedron/demo/Polyhedron/Polyhedron_3.cpp
Polyhedron/demo/Polyhedron/Polyhedron_demo_mesh_3_plugin.cpp
Polyhedron/demo/Polyhedron/Polyhedron_demo_mesh_3_plugin_cgal_code.cpp
- The shader of the edges of the base item discards the edges when it should
- The facets of the cutplane have edges
- The grid is displayed in all the rendering modes
This macro has to be larger than the default value
and it must be set before including <boost/parameter.hpp>
Instead of setting it to 12 in the packages that
need it, we do this in <CGAL/config.h> and produce
an error if a user has set it to a value < 12
here transform() returns true or false whether the voxel value (not interpolated)
is less (default functor) than the input isovalue
this error was shown by a conversion "float to int" warning
handle the case, with global optimisers, in which
a point is moved to the same location as an existing vertex,
which is not old_vertex
it belongs to the case where there is a topological change
(because of the removal of old_vertex) but
find_conflicts(new_location) does not find any conflict
this precondition checks that global optimizers are not run on a
triangulation with weights.
Protecting balls are an exception and don't prevent global optimizers
from running
MSVC emits that warning:
include\CGAL/Implicit_to_labeling_function_wrapper.h(205) : warning C4800: 'unsigned int' : forcing value to bool 'true' or 'false' (performance warning)
The fix is to explicit exactly what is tested. The following:
CGAL_assertion(funcs.size());
is replaced by the explicit:
CGAL_assertion(funcs.size() != 0);
Should fix issue https://github.com/CGAL/cgal/issues/121
The error was that the "domain" class returns a `CGAL::Point_3<K>`, the
triangulation uses `CGAL::Weighted_point<CGAL::Point_3<K>, double>`, and
one piece of code from Mesh_3 in <CGAL/Mesh_3/Refine_facets_3.h> uses an
implicit conversion from
tuple<something_A, something_B, CGAL::Point_3<K> >
to
tuple<something_A, something_B, CGAL::Weighted_point<P, double> >
and plugs that into a `boost::optional`. For some reason, the g++-4.4
compiler does not like that, but recent g++ compilers accept the code.
The fix is to use an explicit conversion from `Point_3` to
`Weighted_point<Point_3, double>`.
Replace Boost.Lambda with simple loops. The library is not maintained
and no one is going to ever invest in it again. It adds to compile and
preprocessing times without providing safer or shorter code and we can
sacrifice a little bit of readability.
this is necessary because there can be an infinite cells
among the outdated_cells (with a finite facet f)
that does not share any finite facet with the other cells of
the conflict zone/set of outdated cells.
Therefore the surface info of f cannot be
Conflicts:
Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h
this branch fixes Image_IO for large images, when the
dimensions do not fit in 'unsigned int'
'size_t' is now used everywhere that deals with image sizes
and pixel/voxel coordinates
fix suggested by a CGAL user
That is a follow-up to that commit:
| commit eefe2012c0
| Author: Laurent Rineau <laurent.rineau@cgal.org>
| Date: Thu Oct 2 16:59:19 2014 +0200
|
| Bug-fix in Mesh_3 with time stamps
|
| The implementation of the class template Protect_edges_sizing_field was
| not correct when time stamps are used for Vertex_handle. The issue is
| that the time stamp of a vertex change when one do:
| tr.remove(v);
| v = tr.insert(point);
| The vertex pointed by 'v' is re-used by the TDS, but the time stamp of
| the vertex does change.
|
The fix was not complete.
Fix warnings in the Polyhedron demo. The fixes are in Mesh_3,
Min_sphere_or_spheres_d, and in the Polyhedron demo itself.
Tested in CGAL-4.6-Ic-50.
Approved by the Release Manager.
Warning from clang:
Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h:1358:25: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare]
it collects edges incident to the internal facets of the conflict zone,
that are restricted to the surface.
For each such edge :
- if it appears once, we keep it
- if it appears twice, we don't consider it
- if it appears more than twice, we are in a non-manifold configuration,
and the move (pump) is canceled
Fix a bug in Mesh_3, when timestamps are used to compare Vertex_handle
and Cell_handle. The bug was in the class
Protect_edges_sizing_field. Once a vertex is removed from a
triangulation, the timestamp of the Vertex can change. That means that
it invalidates any future use of the original Vertex_handle.
Bug-fix for CGAL-4.5, approved by the Release Manager.
Revert "Add longer tests, with other data"
Revert "Verbose testsuite. Should be reverted later."
This reverts commit 0f592d8e0a.
This reverts commit a8e6764c97.
The implementation of the class template Protect_edges_sizing_field was
not correct when time stamps are used for Vertex_handle. The issue is
that the time stamp of a vertex change when one do:
tr.remove(v);
v = tr.insert(point);
The vertex pointed by 'v' is re-used by the TDS, but the time stamp of
the vertex does change.
we still don't backup infinite cells because the infinite vertex does not have
a proper vertex ID (i.e. meshing_info())
However the facet data should be restored in Delaunay-restricted facets that
belong to an infinite cell (i.e. mirror facets of restricted facets that
belong to the convex hull)
All non-ASCII files should be encoded in UTF-8. So far, the ZSH script
`Scripts/developer_scripts/detect_wrong_encoding` detects wrong encoding
in source/header files of include/, src/, and doc/.
Create an integration branch for 'Mesh_3-compare_index-GF': a new branch
created from 'master', where I merged the previous version of
'Mesh_3-compare_index-GF'.
There was a conflict with two features recently merged into 'master' for
CGAL-4.5:
- the move of two files from include/CGAL/Mesh_3/ to include/CGAL/. See
the small feature:
http://cgal.org/wiki/Features/Small_Features/New_constructor_in_Label_mesh_domain_3_and_new_function_wrapper
- parallelism for Triangulation_3 and Mesh_3:
http://cgal.org/wiki/Features/Parallel_Mesh_3
Conflicts:
Combinatorial_map/include/CGAL/Cell_attribute.h
Mesh_3/include/CGAL/Implicit_mesh_domain_3.h
Mesh_3/include/CGAL/Labeled_image_mesh_domain_3.h
Mesh_3/include/CGAL/Mesh_3/Sliver_perturber.h
Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
Mesh_3/test/Mesh_3/test_meshing_3D_image.cpp
Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp
Mesh_3/test/Mesh_3/test_meshing_polyhedron_with_features.cpp
Polyhedron/demo/Polyhedron/Polyhedron_type.h
STL_Extension/include/CGAL/Compact_container.h
STL_Extension/test/STL_Extension/test_Compact_container.cpp
I also modified the following files during the conflict resolution:
Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h
Mesh_3/include/CGAL/Labeled_mesh_domain_3.h
Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h