Commit Graph

1278 Commits

Author SHA1 Message Date
Laurent Rineau 2cbd2532bb Merge pull request #1911 from lrineau/Mesh_3-manifold_TBB-lrineau
Mesh 3: fix the manifold code with TBB
2017-04-05 17:02:00 +02:00
Laurent Rineau e1035a9477 Improve the debug output
and rename a function
2017-03-31 18:26:19 +02:00
Sebastien Loriot cce6932af9 Merge pull request #1947 from janetournois/Mesh_3-add_lipschitz_sizing-example-jtournois
Mesh_3 - add an example for `Lipschitz_sizing`
2017-03-16 11:03:33 +01:00
Jane Tournois 882893c9d9 remove empty file description 2017-03-16 10:37:58 +01:00
Jane Tournois a88efb4144 rename header protection macros, and include license headers 2017-03-14 10:58:46 +01:00
Jane Tournois 8a8827add0 remove useless file description 2017-03-14 10:35:00 +01:00
Jane Tournois 81b6084e98 fix compilation when CGAL_LINKED_WITH_TBB is not defined 2017-03-10 15:56:29 +01:00
Laurent Rineau ee1b7d7793 Reallow to compile without TBB 2017-03-10 15:42:09 +01:00
Laurent Rineau 38a064f582 Fix one_step() with TBB/manifold and mesh_3_plugin 2017-03-10 14:46:50 +01:00
Jane Tournois 964ed1d853 protect with CGAL_LINKED_WITH_TBB and Parallel_tag 2017-03-10 14:16:10 +01:00
Jane Tournois 2cd2173ba3 'erase' should not be done in parallel mode
it's useless anyway because the set is empty
2017-03-10 13:56:09 +01:00
Laurent Rineau 682d07825c Fix the namespace of tbb_hasher
`tbb_hasher` is called with ADL (Koenig-lookup).
2017-03-09 18:59:47 +01:00
Laurent Rineau 2e7d96f87e Merge pull request #1934 from lrineau/Mesh_3-improve_Protect_edges_sizing_field-GF
Improve/fix Mesh_3/Protect_edges_sizing_field.h
2017-03-02 16:55:24 +01:00
Laurent Rineau 366ddb9513 Merge pull request #1939 from lrineau/Mesh_3-fix_determinism-GF
Fix non-determinism!
2017-03-02 16:54:50 +01:00
Laurent Rineau cb5b3acf98 Class Compare_handles_with_or_without_timestamps to replace hacks
Previously, each file was using its own implementation of the "compare
handle" function object. This commits adds a new class
`Compare_handles_with_or_without_timestamps` that checks the presence of
`Has_timestamp` in the pointed type, and provides a different
`operator()` depending on that.
2017-03-01 12:08:52 +01:00
Laurent Rineau 035a35e78f Fix non-determinism! 2017-02-28 19:19:59 +01:00
Jane Tournois c699d45e66 simplify lipschitz sizing for a polyhedral domain
it can be enriched later, once we have the multi-polyhedral domain

the complete code is in Lipschitz_sizing_experimental.h
2017-02-28 12:19:21 +01:00
Jane Tournois 0b0a063db3 reorder things to make example more clear 2017-02-28 11:32:53 +01:00
Jane Tournois 67dca100f4 write example for Lipschitz sizing
and adapt the code while multi-polyhedral surfaces is experimental
2017-02-28 10:38:44 +01:00
Jane Tournois 7bb355c4a3 add experimental per-subdomain lipschitz sizing field 2017-02-28 10:38:44 +01:00
Laurent Rineau 58481453f0 More debug possibilities 2017-02-27 15:27:11 +01:00
Laurent Rineau 9c88d16e7b Bug fix! 2017-02-27 15:27:11 +01:00
Jane Tournois 9668b1b6dd add missing abs 2017-02-27 15:27:11 +01:00
Laurent Rineau e28b298c99 Refactoring of Sizing_field_with_aabb_tree (API breakage too)
The refactoring allows to compute a better size of corners in a cycle.

... But the bug is still there on the nasty data set!
2017-02-27 15:27:11 +01:00
Jane Tournois e023fc9157 protect verbose code with macro CGAL_MESH_3_PROTECTION_DEBUG 2017-02-27 15:27:10 +01:00
Laurent Rineau 83f74c0448 Fix the sampling of protecting balls
The previous code never verified that the curve is inside the union of
balls. Now it does.
2017-02-27 15:27:10 +01:00
Jane Tournois 056309de5e allow to use the sizing field of curves more than once
the protecting balls placement algorithm is now allowed to use the sizing field
during 3 iterations, instead of 1. This allows it to fix most of the
forbidden intersections of spheres before switching to the constant size case

this commit relaxes the condition set
 in commit 051c55b08f2bfe5047eef1be1f70f0192b1c5c60
2017-02-27 15:27:10 +01:00
Jane Tournois 2b932b5b71 add dump of c3t3 at every step of protecting balls placement 2017-02-27 15:27:10 +01:00
Laurent Rineau 58abe5a32a Do not use the nonlinear strategy from inside refine_balls() 2017-02-27 15:27:10 +01:00
Clement Jamin a3720a6604 Missing namespace for tbb_hasher functions
It was generating a compilation error on Windows.
2017-02-27 14:34:10 +01:00
Laurent Rineau 38c7bbaa9f Call scan_edges and scan_vertices from Mesher_3
Before that the logic was hidden in `no_longer_element_to_refine_impl()`.
2017-02-17 18:53:49 +01:00
Laurent Rineau a5b5503325 Use tbb::concurrent_hasp_map
TODO: write the API for the case without TBB.
2017-02-17 18:52:45 +01:00
Laurent Rineau c55e391f97 WIP: works with one thread 2017-02-17 16:37:11 +01:00
Laurent Rineau 6ea415022b Merge pull request #1885 from maxGimeno/Tet_soup_in_c3t3-GF
Add a .mesh reader
2017-02-10 19:03:49 +01:00
Maxime Gimeno cc64739c66 Fixes :
- set the dimension of vertices without connectivity to -1 (fixes the BBox's problem)
- re-center the cut-plane after every type of load (fixes the cutplane problem)
2017-02-10 10:10:00 +01:00
Laurent Rineau 3ef84ed758 Merge pull request #1893 from janetournois/Mesh_3-reorganize_experimental-GF
Mesh_3 experimental code - reorganize headers
2017-02-09 18:42:39 +01:00
Jane Tournois eb6797f6b6 include license file header in new files 2017-02-09 16:25:24 +01:00
Jane Tournois 09d09a4dc3 update license preamble 2017-02-09 16:18:36 +01:00
Jane Tournois 4d35f9a36a add wrapper sizing function that is the minimum of 2 sizing fields 2017-02-09 14:25:52 +01:00
Jane Tournois ff36a27ba2 move files to Mesh_3/include/CGAL/Mesh_3/experimental 2017-02-09 14:19:07 +01:00
Maxime Gimeno ef764634b4 Replace the CGAL_precondition about empty finite cells by a warning. 2017-02-08 11:42:18 +01:00
Maxime Gimeno 7a3520b28d Clean-up 2017-02-08 11:42:18 +01:00
Jane Tournois 7fca673ed6 there is no need to collect the connectivity between infinite facets
warning : putting 'end' out of the for loop end condition evaluation is
important. It avoids to continue the loop on newly added things

The condition on the size of `incident_cells_map` inside `assign_neighbors`
is not correct anymore, because there are 4 facets per finite cell
+ 1 facet per infinite cell (boundary facets)
2017-02-08 11:42:18 +01:00
Maxime Gimeno e93b38406c Read the vertices references and discard them 2017-02-08 11:42:18 +01:00
Jane Tournois f86f84db16 revert commit 1602b59845d054b89bf2d0f426943746a9640c2c 2017-02-08 11:42:17 +01:00
Maxime Gimeno 1845bf8c51 Clean-up 2017-02-08 11:42:17 +01:00
Jane Tournois 4b00e1a990 fix orientation and index for built infinite cells
the index does not matter, and the orientation depends on the parity
of i.
Here it does not matter much because infinite cells will not be used,
but let's keep the code as generic as possible
2017-02-08 11:42:17 +01:00
Jane Tournois 1086a8f7ef this precondition is wrong in the general case 2017-02-08 11:42:17 +01:00
Maxime Gimeno f8d8c012f4 Re-indentation 2017-02-08 11:42:16 +01:00
Maxime Gimeno 5e487d75a4 Move Enum to cpp and add license files 2017-02-08 11:42:16 +01:00