Commit Graph

2315 Commits

Author SHA1 Message Date
Jane Tournois c13a7a855c take into account the translation tx, ty, tz in Get_point from an image 2021-02-12 15:25:24 +01:00
Laurent Rineau d7bc38f683 Take the translation TX/TY/TZ into account 2021-02-12 14:16:54 +01:00
Laurent Rineau e94c41714a Fix a compilation error
The definition of `initialize_triangulation_from_gray_image`
required `initialize_triangulation_from_labeled_image` to be defined,
or at least declared.
2021-02-12 14:15:56 +01:00
Jane Tournois 5e86781ad8 add code to detect connected components in gray-level images 2021-02-12 10:29:14 +01:00
Sébastien Loriot 5835698fe2 no ref on temporary 2021-02-10 15:42:29 +01:00
Dmitry Anisimov 81d9556707 Merge remote-tracking branch 'upstream/master' into Kernels-decltypes-danston 2021-02-10 10:06:45 +01:00
Laurent Rineau a735e849c0 Merge pull request #5152 from sloriot/CGAL-remove_bind
Replace usages of boost::bind
2021-02-05 16:14:04 +01:00
Laurent Rineau 4c947f0ee0 Merge pull request #5340 from danston/CGAL-clang_warnings_fix-danston
Clang warnings fixed
2021-02-05 16:10:37 +01:00
Laurent Rineau 1453294c74 Merge pull request #5376 from lrineau/Mesh_3-fix_mesh_implicit_domains.cpp-GF
Fix examples/Mesh_3/mesh_implicit_domains.cpp
2021-02-05 16:10:24 +01:00
Laurent Rineau 7e2ee4946d Merge pull request #5152 from sloriot/CGAL-remove_bind
Replace usages of boost::bind
2021-02-05 16:07:34 +01:00
Laurent Rineau 3d71b8e5f0 Merge pull request #5376 from lrineau/Mesh_3-fix_mesh_implicit_domains.cpp-GF
Fix examples/Mesh_3/mesh_implicit_domains.cpp
2021-02-05 16:07:22 +01:00
Sébastien Loriot f69be333f0 Merge remote-tracking branch 'cgal/5.2.x-branch' into CGAL-remove_bind 2021-01-29 18:44:50 +01:00
Sébastien Loriot bf128b3fda rename typedef to make clear it is a property map 2021-01-25 16:19:23 +01:00
Sébastien Loriot fd371ef96b refactor the facet patch id maps + update the default 2021-01-25 16:09:17 +01:00
Laurent Rineau 6fe18d8068 Enhance the debugging tools in Mesh_3 2021-01-20 15:38:05 +01:00
Sébastien Loriot ad911271a9 Merge commit '6594e7549bd70923990d86c31e2aa267a79bb629' into HEAD 2021-01-15 10:12:17 +01:00
Sébastien Loriot bdd4efe3b3 Merge commit 'efc0c525e8b' into HEAD 2021-01-15 10:06:56 +01:00
Sébastien Loriot efc0c525e8 include non-deprecated header 2021-01-15 10:02:00 +01:00
Dmitry Anisimov 269a47d773
Merge branch 'master' into CGAL-clang_warnings_fix-danston 2021-01-14 16:51:13 +01:00
Dmitry Anisimov 086299c56e tetrahedral remeshing range loop analysis copy to ref and auto warnings fixed 2021-01-08 10:39:24 +01:00
Maxime Gimeno 3d1c41fd14 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2021-01-07 15:05:28 +01:00
Sébastien Loriot 2eb9908699 replace bind in Mesh_3 packages 2021-01-06 12:59:12 +01:00
Sébastien Loriot 361ef0cbbf simplify 2020-12-22 17:13:11 +01:00
Sébastien Loriot d1e1846f5e iterators are multipass 2020-12-22 16:55:25 +01:00
Laurent Rineau 34cde36fd9 Merge pull request #5209 from janetournois/Mesh_3-debug_global_optimizers-jtournois
Mesh_3 global optimizers - improve projection to surface
2020-12-09 16:14:35 +01:00
Laurent Rineau 9dcc0ef7e8 Merge pull request #5222 from maxGimeno/Tet_remesh-Fix_tbb-maxGimeno
Mesh_3: Fix std::atomic wrong function

# Conflicts:
#	Tetrahedral_remeshing/examples/Tetrahedral_remeshing/CMakeLists.txt
2020-12-09 16:14:19 +01:00
Laurent Rineau 3fc0ba4435 Merge branch '5.1.x-branch' into 5.2.x-branch
# Conflicts:
#	Tetrahedral_remeshing/examples/Tetrahedral_remeshing/CMakeLists.txt
2020-12-09 15:35:47 +01:00
Laurent Rineau 37f85e7702 Merge pull request #5209 from janetournois/Mesh_3-debug_global_optimizers-jtournois
Mesh_3 global optimizers - improve projection to surface
2020-12-09 14:58:56 +01:00
Dmitry Anisimov 3127190bcf marc's review 2020-12-08 12:48:04 +01:00
Jane Tournois 2d73ef361e remove wrong assertions
when v has dimension 3, its incident cells can be either all inside
or all outside the complex
2020-12-04 17:18:04 +01:00
Jane Tournois 232cf10af8 remove unused code 2020-12-04 10:40:42 +01:00
Mael Rouxel-Labbé 35fa50213a Avoid copies in Mesh_triangulation_3's trivial functions
These exist because of P3M3
2020-12-03 12:25:37 +01:00
Maxime Gimeno 5ee03985bf Fix atomic wrong function 2020-11-30 11:37:16 +01:00
Jane Tournois 0ed6aca5a4 replace get_closest_point() by get_closest_triangle()
to use this function with Periodic_3_mesh_3
2020-11-27 13:04:06 +01:00
Jane Tournois 9666b3cb73 replace PCA of points by PCA of triangles
to make projection more precise and avoid moving a point inside a
protecting ball
2020-11-26 16:25:55 +01:00
Maxime Gimeno 3b70343590 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-11-16 16:19:43 +01:00
Laurent Rineau 646db6ef74 Try to fix a warning on MSVC
```
...\include\CGAL/Polyhedral_mesh_domain_with_features_3.h(264): warning C4267: 'argument': conversion from 'size_t' to '_Ty', possible loss of data
        with
        [
            _Ty=int
        ]
...\cmake\platforms\x64_Cygwin-Windows10_MSVC2017-Release-64bits\test\Mesh_3\test_meshing_polylines_only.cpp(80): note: see reference to function template instantiation 'void CGAL::Polyhedral_mesh_domain_with_features_3<K,CGAL::Polyhedron_3<Gt,CGAL::Mesh_3::Mesh_polyhedron_items<Patch_id>,CGAL::HalfedgeDS_default,std::allocator<_Ty>>,CGAL::Default,Patch_id,CGAL::Tag_true>::add_features<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<std::vector<CGAL::Point_3<Kernel_>,std::allocator<CGAL::Point_3<Kernel_>>>>>>>(InputIterator,InputIterator)' being compiled
        with
        [
            Gt=K,
            Patch_id=int,
            _Ty=int,
            Kernel_=CGAL::Epick,
            InputIterator=std::_Vector_iterator<std::_Vector_val<std::_Simple_types<Polyline>>>
        ]
```
2020-10-27 09:43:46 +01:00
Laurent Rineau 19fa64fdca Mesh_3: Fix Polyhedral_mesh_domain_with_features_3::add_features
This patch, allows to mesh a polyhedron in a 3D demo, while
specifying a polylines item for the sharp features.
2020-10-23 13:52:54 +02:00
Mael Rouxel-Labbé f55ef7dd50 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-10-09 18:36:17 +02:00
Sebastien Loriot c54622e9b4
Merge pull request #4976 from janetournois/Tet_remeshing-speedup-GF
Tetrahedral Remeshing - speedup
2020-10-02 15:29:24 +02:00
Sebastien Loriot 9e4970faef
Merge pull request #4781 from lrineau/Mesh_3-ITT_support-GF
Add ITT support in Mesh_3
2020-10-02 15:20:04 +02:00
Sebastien Loriot 20ac7ff2da
Merge pull request #4792 from lrineau/Mesh_3-reduce_size_of_debuginfo-GF
Reduce size of symbols (and debug infos)
2020-10-02 15:17:44 +02:00
Sebastien Loriot b92ad36e82
Merge pull request #4892 from lrineau/Mesh_3-new_TBB_task_group_API-GF
Mesh_3: now uses tbb:task_group instead of tbb::task (deprecated)
2020-10-02 15:16:08 +02:00
Jane Tournois 8063d3cf6f replace deprecated std::not1 by std::not_fn
std::not1 is deprecated in C++17 and removed from C++20

commit 5b474e0075 is similar
2020-09-25 15:00:49 +02:00
Mael Rouxel-Labbé 4694a48913 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-09-22 11:35:25 +02:00
Maxime Gimeno efc903d8dc Fix error 2020-09-10 10:22:09 +02:00
Maxime Gimeno aeda2ef58c Replace boolean name and prevent maxx_domain=0 2020-09-07 12:35:54 +02:00
Maxime Gimeno 98c80402bc Don't use cell info() 2020-09-04 12:27:32 +02:00
Maxime Gimeno 56af55ecd4 Fix bug in mesh_3 tests 2020-08-27 13:46:04 +02:00
Maxime Gimeno 39c0f96492 Fix domain 0 behaviour 2020-08-27 13:18:46 +02:00
Maxime Gimeno 9d1e849517 Allow the .mesh to be read even with null domains 2020-08-27 10:26:58 +02:00
Mael Rouxel-Labbé 8682f9bafb Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-08-24 11:45:17 +02:00
Dmitry Anisimov 263ad6bc99 fixed ch3, inter3, otr2, psp, pmp, smsp, mesh3 + cleanup 2020-08-20 18:25:01 +02:00
Sébastien Loriot 93d62b969c add forward declaration
File_medit.h is included by Mesh_complex_3_in_triangulation_3_base.h
2020-08-18 14:09:06 +02:00
Jane Tournois 1e42f4c9d4 rename IO functions for MEDIT format and a Triangulation_3 2020-08-18 11:16:58 +02:00
Jane Tournois 0a7d8cfd25 add an example with IO for a .mesh file 2020-08-18 10:42:20 +02:00
Laurent Rineau d311fca3ec Remove the deprecated use of approximate_number_of_enqueued_element 2020-08-03 14:42:44 +02:00
Laurent Rineau 4fc2f5938d Mesh_3 now uses tbb:task_group instead of tbb::task (deprecated) 2020-07-31 16:17:56 +02:00
Laurent Rineau 40a0a1bf49 Allow the use of Default as concurrency tag in Mesh_triangulation_3
That is used in Tetrahedral_remeshing.
2020-07-29 16:41:37 +02:00
Laurent Rineau 9a0f310e6b Fix IO of Mesh_vertex_3: case of dimension -1
I forgot that dimension() can be -1, for far points. It has to be
dealt with in I/O.
2020-07-29 16:40:48 +02:00
Laurent Rineau 25eeff801b Fix a warning
```
.../CGAL/Mesh_3/C3T3_helpers.h:1249:14: warning: ‘*((void*)& surface +4)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 1249 |       return surface;
      |              ^~~~~~~
```
2020-07-22 12:29:55 +02:00
Laurent Rineau 251074ad54 Use an API compatible with boost::optional and std::optional 2020-07-22 12:29:39 +02:00
Mael Rouxel-Labbé b6790c6bc6 Require only ostream instead of ofstream 2020-07-13 16:56:10 +02:00
Laurent Rineau 72d280fdd9 Merge pull request #4803 from janetournois/Tet_remeshing-from_c3t3_input-jtournois
Tetrahedral remeshing from C3T3
2020-07-08 16:24:42 +02:00
Laurent Rineau 2e912d4cb2 Merge branch 'master' into Mesh_3-ITT_support-GF 2020-07-08 16:22:58 +02:00
Laurent Rineau 72b0f36790 Remove the task "Mesher_3::refine_mesh" (useless) 2020-07-08 15:47:56 +02:00
Laurent Rineau bc4fffebc0 ITT for CGAL_MESH_3_VERBOSE as well 2020-07-08 15:47:38 +02:00
Jane Tournois 612d6772b9 operator* between enum and floating type is deprecated, fix warning 2020-07-07 11:13:16 +02:00
Jane Tournois 5b474e0075 replace deprecated std::not1 by std::not_fn
std::not1 is deprecated in C++17 and removed from C++20

+ add a C++17 macro in config.h
2020-07-07 10:49:58 +02:00
Laurent Rineau 4d1d4e51eb Merge pull request #4809 from lrineau/Mesh_3-move_semantic_for_c3t3-GF
Add move-semantic for c3t3, and a test
2020-07-03 16:21:27 +02:00
Jane Tournois 2a4b4a2a10 set the Surface_patch_index also in the infinite cell
otherwise facet and its mirror don't have the same patch index
2020-07-03 07:35:20 +02:00
Laurent Rineau 36fd23d27c Fix the move-constructor: `far_vertices_` was forgot 2020-07-02 16:50:38 +02:00
Jane Tournois 460b1f29a6 Merge branch 'master' into Tet_remeshing-from_c3t3_input-jtournois
# Conflicts:
#	Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/internal/tetrahedral_adaptive_remeshing_impl.h
2020-07-01 08:01:05 +02:00
Laurent Rineau 07eacf5231 Merge pull request #4795 from janetournois/Mesh_3-fix_optimisers_parallel-jtournois
Mesh_3 - fix parallel optimisers
2020-06-30 16:38:05 +02:00
Jane Tournois 40668a297e fix protection of parallel code 2020-06-29 07:07:13 +02:00
Jane Tournois 7740686d78 remove trailing whitespace 2020-06-26 15:54:17 +02:00
Jane Tournois 2a3dba9156 make build_triangulation() more generic with Surface_patch_index instead of int
this is necessary to be able to remesh a C3t3 with a Surface_patch_index that
is not convertible to `int`
It is the case with meshes generated from images, which often use
std::pair<Subdomain_index, Subdomain_index>
2020-06-26 15:53:02 +02:00
Jane Tournois 615ac14086 protect incident_cells_threadsafe with macro
Periodic_3_mesh_3 does not have an implementation of these functions
because it does not have a parallel implementation
2020-06-26 15:51:15 +02:00
Mael Rouxel-Labbé 50e3a838f3 Compilation fixes 2020-06-25 18:20:52 +02:00
Laurent Rineau 3895932005 Fix the TDS: restore the concurrency tag 2020-06-25 16:56:37 +02:00
Laurent Rineau 5572d9dba8 Add move-semantic for c3t3, and a test 2020-06-24 10:59:19 +02:00
Mael Rouxel-Labbé 26ae0d2b8c Misc compilation fixes 2020-06-23 19:11:55 +02:00
Laurent Rineau bd7d3c498f Merge pull request #4786 from lrineau/Mesh_3-fix_compilation_error_MSVC2015-GF
Continue workaround for MSVC2015
2020-06-23 18:49:58 +02:00
Jane Tournois d4b7af22ba use tr_.try_lock_and_get_incident_cells()
and remove a "todo" of CJ
2020-06-19 13:31:52 +02:00
Jane Tournois 7cd18cd659 unlock after the move, even if there is no topological change
to avoid making changes with another thread
2020-06-19 13:31:50 +02:00
Jane Tournois c6a922c9dc fix Facet_updater parallel
`vertex_to_proj` was not locked and this was causing seg faults
2020-06-19 13:31:49 +02:00
Maxime Gimeno ea53a8d70d Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-06-17 14:25:21 +02:00
Laurent Rineau e44d58a49c Fix a bug in this PR
The number of type in `Indices_tuple` and `Index` may differ: one is a
list of types, and the other one is more like a set of types.
2020-06-17 10:22:51 +02:00
Laurent Rineau 86496e469e Repair the I/O of Mesh_vertex_3 2020-06-16 21:56:07 +02:00
Laurent Rineau b64a1718c4 Reduce size of symbols (and debug infos)
- one nested struct `Tds` in `Mesh_triangulation_3`,
- rework of `Mesh_vertex_base_3` and `Compact_mesh_cell_base_3`.

That reduction of debug infos and size of symbols will help the IDE
and debuggers.

```
Debug info size (with gcc-9, and `-g`)

ORIG	AFTER	RATIO  		FILE IN examples/Mesh_3/
56532	55572	1.01727		mesh_3D_image_with_custom_initialization.debug
64696	63420	1.02012		mesh_cubes_intersection_with_features.debug
56700	55536	1.02096		mesh_3D_image.debug
56488	55324	1.02104		mesh_implicit_sphere.debug
56496	55332	1.02104		mesh_implicit_sphere_variable_size.debug
56776	55604	1.02108		mesh_3D_image_variable_size.debug
56520	55296	1.02214		mesh_cubes_intersection.debug
56684	55428	1.02266		mesh_3D_gray_image.debug
56796	55536	1.02269		mesh_3D_gray_image_multiple_values.debug
56732	55472	1.02271		mesh_3D_gray_vtk_image.debug
57128	55824	1.02336		mesh_optimization_example.debug
57420	56088	1.02375		mesh_optimization_lloyd_example.debug
56948	55560	1.02498		mesh_implicit_domains_2.debug
56932	55544	1.02499		mesh_implicit_domains.debug
69160	63304	1.09251		mesh_hybrid_mesh_domain.debug
72212	66088	1.09266		mesh_3D_image_with_features.debug
70172	63924	1.09774		mesh_two_implicit_spheres_with_balls.debug
75388	66128	1.14003		mesh_polyhedral_domain_sm.debug
75676	64412	1.17487		mesh_polyhedral_complex_sm.debug
81544	67772	1.20321		mesh_polyhedral_domain.debug
87456	71672	1.22023		mesh_polyhedral_domain_with_features_sm.debug
87524	71600	1.2224		remesh_polyhedral_surface_sm.debug
92332	74528	1.23889		mesh_polyhedral_complex.debug
98640	77448	1.27363		mesh_polyhedral_domain_with_lipschitz_sizing.debug
95640	74456	1.28452		mesh_polyhedral_domain_with_features.debug
95132	74000	1.28557		mesh_polyhedral_domain_with_surface_inside.debug
95724	74388	1.28682		remesh_polyhedral_surface.debug

1899448	1695256	1.12045		total
```
2020-06-16 17:47:00 +02:00
Laurent Rineau 113c3d1d6f Continue woraround for MSVC2015
That is a followup to commit 5fbaaa9e42
from PR #4468.

I also chose a better name `is_null` instead of
`compare_weighted_circumcenter`.
2020-06-15 15:56:28 +02:00
Laurent Rineau 25710329ac Add ITT support in Mesh_3 2020-06-11 14:56:04 +02:00
Laurent Rineau 871c97273a Merge pull request #4496 from lrineau/CGAL-move_semantic_for_triangulations-GF
Add move-semantic to Compact_container and Triangulations
2020-06-03 16:23:22 +02:00
Laurent Rineau a828cb0d06 Merge pull request #4620 from janetournois/Tetrahedral_remeshing-new-jtournois
Tetrahedral remeshing - new package
2020-06-03 16:23:17 +02:00
Sébastien Loriot 4dda7b6c80 update license of c3t3 related files
a proper package must be created in a later release
2020-05-27 15:53:05 +02:00
Mael Rouxel-Labbé 580a1efd5c Remove trailing whitespace / tabs 2020-05-22 15:31:50 +02:00
Mael Rouxel-Labbé fb8463f470 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2020-05-22 15:17:56 +02:00
Laurent Rineau dcc4fb1cc1 Merge remote-tracking branch 'cgal/master' into CGAL-move_semantic_for_triangulations-GF
# Conflicts:
#	STL_Extension/include/CGAL/Compact_container.h
2020-05-20 09:46:26 +02:00
Sébastien Loriot 7c4586be1b Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch' 2020-05-12 16:59:02 +02:00
Sébastien Loriot fb83386f44 Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2020-05-12 16:58:32 +02:00