Fix a runtime error. The `Intersect_3` functor of
`Robust_intersection_traits_3_new` was ignored cases in the intersection
between a segment and a triangle.
In `ts_intersection`, if one of the extremities of the segment was
coplanar with the triangle, the empty object was always returned.
This bug of mines was introduced in CGAL-4.3 by
56d733b254.
(Fix #1554.)
The previous default value for `CGAL::parameters::edge_size`, in the
constructor of `CGAL::Mesh_criteria_3` was `FT(0)`.
That was in contradiction with the documentation of
[`CGAL::Mesh_criteria_3`][*]:
> Each parameter has a special default value `ignored` which means that
> the corresponding criteria will be ignored.
With `edge_size=0`, the protection of 1D-features is certain to trigger
an assertion or a segmentation fault.
The new default value is now `FT(DBL_MAX)`.
[*]: http://doc.cgal.org/latest/Mesh_3/classCGAL_1_1Mesh__criteria__3.html#ada26edb7ee77aa7279b2ae7e96c56eb0
I have decided to revert this commit:
> commit 874e96a553
> Author: Laurent Rineau <laurent.rineau@cgal.org>
> Date: Tue Feb 4 12:33:59 2014 +0100
>
> Fix a bug of the bissection oracle (Labeled_mesh_domain_3)
>
> In CGAL-4.2 and previous, when a facet f was between finite cells c1,
> and c2, with different subdomain indices, the surface patch index of f
> was the pair { c1->subdomain_index(), c2->subdomain_index() }, say the
> pair (1, 2). Since CGAL-4.3, with
> CGAL_MESH_3_NO_LONGER_CALLS_DO_INTERSECT_3, the Do_intersect functor of
> the domain is no longer called, and only Construct_intersection. If the
> bissection eventually found out that the bissection ended up between the
> volumes labeled 1 and 3, then the returned surface patch index was
> {1,3}, instead of {1,2}. That commit fixes that "bug", and restores
> the behavior of CGAL-4.2.
I have "fixed" the test as well.
Revert "Add longer tests, with other data"
Revert "Verbose testsuite. Should be reverted later."
This reverts commit 0f592d8e0a.
This reverts commit a8e6764c97.
test/Mesh_3/test_meshing_utilities.h:379:44: warning: typedef 'Concurrency_tag' locally defined but not used [-Wunused-local-typedefs]
typedef typename C3t3::Concurrency_tag Concurrency_tag;
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
This small feature adds a new constructor in Labeled_mesh_domain_3 and
a new function wrapper. A Labeled_mesh_domain_3 can be built from an
Iso_cuboid_3 now.
(cf. https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/New_constructor_in_Label_mesh_domain_3_and_new_function_wrapper)
The new wrapper, Implicit_multi_domain_to_labeling_function_wrapper, is a
helping class to get a function with integer values labeling the
components of a multi-domain. This small feature was successfully tested in
the internal release CGAL-4.5-Ic-45.
Approved by the Release Manager.
Conflicts:
Installation/changes.html
Fix warnings about unused variables/parameters
Use pragmas, when that is needed (for Boost named parameters)
Tested in CGAL-4.5-Ic-7.
Approved by the Release Manager.
it avoids using temporary CGAL::Random(0) that would be deleted
as soon as we get out of the constructor
+ make examples deterministic and tests not (all but test_meshing_determinism)
make_mesh_3 and optimizers are checked to generate the same mesh
in 2 successive runs (made in a for loop)
note parameters are not very stressful for the algorithms
Examples:
test/Mesh_3/test_meshing_utilities.h:266:46: warning: unused parameter 'c3t3' [-Wunused-parameter]
demo/Mesh_3/Scene_segmented_image_item.h:52:7: warning: private field 'm_voxel_scale' is not used [-Wunused-private-field]
Enhance test/Mesh_3/test_meshing_polylines_only.cpp
- It was far too verbose.
- It was not really testing anything but the absence of assertions.
Tested in CGAL-4.4-Ic-91.
The test test_c3t3_io.cpp writes and reads back a c3t3. Then it tries to
compare the two triangulations. The issue is that the facets iterator of
Triangulation_3 is not deterministic, at least on Windows.
+ some bugfixes (most of them are related to the parallel version)
This version works (sequential and parallel) as long as the following macros are NOT defined:
* CGAL_COMPACT_MESH_VERTEX_CELL
* CGAL_INTRUSIVE_LIST
* FORCE_STRUCTURAL_FILTERING
| ------------------------------------------------------------------------
| r68577 | lrineau | 2012-04-17 15:14:37 +0200 (Tue, 17 Apr 2012) | 6 lines
| Changed paths:
| M /branches/experimental-packages/Mesh_3-protecting_balls-branch/Mesh_3/test/Mesh_3/test_domain_with_polyline_features.cpp
|
| Fix a compilation error in a test
|
| There was a compilation error in the test suite, because of changed in
| Mesh_3 headers. The error was about something not documented. The test
| defines a dummy mesh domain Dummy_domain, that was no longer sufficient
| for the test, in test/Mesh_3/test_domain_with_polyline_features.cpp
| ------------------------------------------------------------------------
That is a followup-to my commit last year:
| ------------------------------------------------------------------------
| r63198 | lrineau | 2011-04-28 19:45:22 +0200 (Thu, 28 Apr 2011) | 5 lines
|
| Try to fix my last revision about cmake_policy, with CMake-2.6.x
|
| CMake gives an error if one tries to use cmake_policy(VERSION x.y.z) if
| x.y.z is greater than the current CMake version.
|
| ------------------------------------------------------------------------
The following check:
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6)
is useless just after a call to:
cmake_minimum_required(VERSION 2.6.2)
The script used to fix that was:
#!/usr/bin/env perl
$replacement=<<'END';
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
cmake_policy(VERSION 2.8.4)
else()
cmake_policy(VERSION 2.6)
endif()
END
while(<>) {
if(/if\("\${CMAKE_MAJOR_VERSION}.\${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6\)/) {
while(<>) {
if(/^endif\(\)/) {
print "$replacement";
while(<>) {
print;
}
exit 0
}
}
}
print;
}
We declare
cmake_minimum_required(VERSION 2.6.2)
but we also use
cmake_policy(VERSION 2.8.4)
to declare that our CMake scripts are OK with all the defaults of CMake policies
as of CMake-2.8.4. That shuts down the warnings of CMake-2.8.4.
That way, we no longer need any declaration of specific policies.
Those two lines must be present and maintained in all our CMakeLists.txt
files (the one for the libraries, and also the one for examples and demos,
and maybe tests).
The documentation of CGAL says that the minimal version of CMake must be
CMake-2.6.2.
- change cmake_minimum_required to VERSION 2.6.2
- no longer any need for the policy CMP0003 (was for 2.4.x)
- no longer any need for CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS (was for 2.4)
From branches/CGAL-3.5-branch/Mesh_3 To trunk/Mesh_3.
r51758 | lrineau
* Fix all \ccPkgHowToCiteCgal at once to turn 08 into 09
r51937 | stayeb
* Fix polyhedral oracle issue: switch to exact intersection computation.
r51957 | stayeb
* cleanup example folder.
r51960 | stayeb
* Remove wrong using namespace statement.
had to be fixed manually.
- new debug macro in <CGAL/Surface_mesher/Standard_criteria.h>
- CGAL_MESH_3_DEBUG_CRITERIA
Used in test/Mesh_3/combined_spheres*.cpp
- new surface criterion class, named Uniform_size_multi_surface_criterion
It does at the same time the job of
CGAL::Surface_mesher::Vertices_on_the_same_surface_criterion
and add size bounds, different for each surfaces.
- This fixes the "combined_spheres hot spots" problem.
- remove deprecated include/CGAL/Surface_mesher/Implicit_surface.h
- rename CGAL::Surface_mesher::Implicit_surface_oracle to
CGAL::Surface_mesher::Implicit_surface_oracle_3
and then, rename include/CGAL/Surface_mesher/Implicit_surface_oracle.h
to include/CGAL/Surface_mesher/Implicit_surface_oracle_3.h
- in Mesh_3: adapt code to the above change.
- remove subdirectories of include/CGAL/Surface_mesher: files of Criteria/
and Oracles/ are moved one step back.
- repear the polyhedral oracle
- Implicit_oracle.h is now Implicit_surface_oracle.h (and the class has
been renamed too.
- no longer "Kernel_point" trick in Implicit_surface_oracle.h
- *but* "Kernel_point" trick is needed in Polyhedral_oracle.h! :-(
** In Mesh_3:
- repear examples/Mesh_3/polyhedral_surface_mesher.C
- add two input files in ./inputs/*.off (with their medit files)
"cannot_wait_for_CGAL-3.2" to the trunk.
My idea: the branch is the real working version, and I want it to be joined
back to the trunk:
__________________________ cannot_wait_for_CGAL-3.2 branch
/ \
/ \
-------------------------------------------- trunk
S M
The modification of the trunk between the splitting point S and the merging
point M has already been merged into "cannot_wait_for_CGAL-3.2".
The trunk versions of these three packages have been removed already.
Do not worry: I will "svn cp" the branch "cannot_wait_for_CGAL-3.2" into the
trunk, and the trunk will inherit from the logs of the branch.
My idea: the branch is the real working version, and I want it to be joined
back to the trunk:
__________________________ cannot_wait_for_CGAL-3.2 branch
/ \
/ \
-------------------------------------------- trunk
S M
The modification of the trunk between the splitting point S and the merging
point M has already been merged into "cannot_wait_for_CGAL-3.2".