Commit Graph

2211 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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