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
- use the Has_timestamp operator in Compact_container
- add partial specialization to classes that need the time stamp (i.e.
Mesh_vertex_base, Compact_mesh_cell_base_3 and Mesh_cell_base_3)
- remove "ts" from classes where they were actually needed for compilation
purpose only (i.e. Kd_tree_node and Triangulation_ds_cell_base_3)
- rename "ts" to time_stamp_
weighted_circumcenter() replaces circumcenter() in the regular framework,
which is not a member of TriangulationCellBase_3 anymore.
Triangulation_cell_base_with_circumcenter_3 is deprecated and replaced by:
Delaunay_triangulation_cell_base_with_circumcenter_3
and
Regular_triangulation_cell_base_with_circumcenter_3.
Implement the changes in documentation, Triangulation_3 code and Mesh_3 code.
The error was triggered by the following code in CGAL/Mesh_3/C3T3_helpers.h:
template <typename CellForwardIterator>
void reset_circumcenter_cache(CellForwardIterator cells_begin,
CellForwardIterator cells_end) const
{
namespace bl = boost::lambda;
std::for_each(cells_begin, cells_end,
bl::bind(&Cell::invalidate_circumcenter, *bl::_1) );
}
See for example test results here:
CGAL-4.3-Ic-193/Polyhedron_Demo/TestReport_lrineau_i686_Linux-2.6_g++-4.1.2_CentOS-5.1.gz
Finally!
The reason was that the constructor "cell(v1, v2, v3, v4)" initialized the vertices (array "V") to Vertex_handle() before setting them to v1/v2/v3/v4