Commit Graph

3165 Commits

Author SHA1 Message Date
Laurent Rineau 5c70d487a1 actually allow tuple-like objects, and test that feature 2024-12-17 18:27:13 +01:00
Sebastien Loriot 166681a6ce
Periodic_3_mesh_3: Avoid Making Copies (#8639)
## Summary of Changes

Turn several copies into `const&` to avoid allocation of data members of
traits object with multiprecision coordinates. In release mode the gain
is around 10%..

To address the timeouts in the testsuite in Debug mode, I also changed
cell size and approximation error.

## Release Management

* Affected package(s): Periodic_triangulation_3_mesh_3
* License and copyright ownership: unchanged
2024-12-10 16:24:25 +01:00
Andreas Fabri e9775789e5
Apply suggestions from code review
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2024-12-06 14:49:33 +01:00
Sébastien Loriot caf716cf47 Merge remote-tracking branch 'cgal/6.0.x-branch' in master 2024-12-06 09:58:43 +01:00
Andreas Fabri fc0f1977f6 Add a const& 2024-12-03 08:27:37 +00:00
Jane Tournois 47e575b779 remove extra "else" 2024-11-29 10:33:11 +01:00
Andreas Fabri 0261184dee WIP 2024-11-28 14:31:01 +00:00
Jane Tournois 7e1f24e5fb when sizing field is smaller than min_size, return min_size! 2024-11-26 18:08:10 +01:00
Jane Tournois d08d6643e8 Merge remote-tracking branch 'cgal/master' into Mesh-3-rework-make-mesh-point-initialization-2-aclement
# Conflicts:
#	Installation/CHANGES.md
2024-11-07 12:45:40 +01:00
Jane Tournois 75d3d30cb4 fix unused variable warnings and add a const 2024-11-05 10:27:54 +01:00
Jane Tournois f77f9c6847 Merge remote-tracking branch 'cgal/master' into Mesh-3-rework-make-mesh-point-initialization-2-aclement
# Conflicts:
#	Installation/CHANGES.md
2024-10-23 16:35:56 +02:00
Sébastien Loriot 0833af4680 Merge remote-tracking branch 'cgal/master' into HEAD 2024-10-22 08:21:55 +02:00
Sébastien Loriot a99dcceae8 Merge pull request #8519 from albert-github/feature/issue_8515_1
issue #8515 Spelling mistakes found checking `en-GB` to `en-US`
2024-10-14 09:42:14 +02:00
albert-github dd02af92a2 issue #8515 Spelling mistakes found checking `en-GB` to `en-US`
Spelling corrections, `en-GB` -> `en-US`
2024-10-05 11:28:29 +02:00
Andreas Fabri 5fe32284af Typo: labelled is UK English 2024-10-03 11:23:23 +01:00
Jane Tournois 4573f78d8b doc 2024-09-30 14:02:50 +02:00
Jane Tournois c1f2236ee3 Merge remote-tracking branch 'cgal/master' into Mesh-3-rework-make-mesh-point-initialization-2-aclement
# Conflicts:
#	Installation/CHANGES.md
2024-09-30 14:02:09 +02:00
Jane Tournois f3b9a5ac84 doc (Mael's review) 2024-09-30 12:46:29 +02:00
Jane Tournois 88457ee5b3 make initialization logic consistent
and fix doc accordingly

1. protect features
2. insert initial_points() range
3. use initial_points_generator(), if provided
4. use domain.construct_initial_points_object(), if initialization not complete
2024-09-30 11:10:14 +02:00
Jane Tournois 490a6ad589 update doc 2024-09-24 12:22:32 +02:00
Jane Tournois b3a8530dcf use new API with named paremeter initial_points_generator in demo
and fix compilation issues
2024-09-24 11:05:41 +02:00
Jane Tournois 39254bb7db introduce Dummy_initial_points_generator
fix compilation of Mesh_3 tests and examples
2024-09-20 17:17:41 +02:00
Jane Tournois b5740393b2 compilation of examples fixed 2024-09-20 13:58:24 +02:00
Jane Tournois 026850cf97 use initial points vector 2024-09-19 12:24:18 +02:00
Jane Tournois ce9cd9e596 wip PR https://github.com/CGAL/cgal/pull/7798 2024-09-17 18:04:40 +02:00
Jane Tournois c55477cda3 document n 2024-09-12 15:36:13 +02:00
Jane Tournois 636fceb129 remove the hardly readable std::tuple and use MeshDomain::Intersection instead 2024-09-12 14:41:21 +02:00
Jane Tournois b75443637a tell more about the "all connected components" thing 2024-09-12 12:26:44 +02:00
Jane Tournois 93fd7f87c7 vertices(edge) is not available in P3T3 2024-08-20 10:58:38 +02:00
Jane Tournois 4a35823f1f ease dump code reading 2024-08-19 12:24:59 +02:00
Jane Tournois 481de41e2f use c++11 for loops 2024-08-19 12:24:32 +02:00
Jane Tournois 14a9db6d00 weight_modifier was likely to make the weight too small
let's keep the minimal weight as given in meshing criteria
2024-08-19 12:23:32 +02:00
Jane Tournois fd498e398a fix approx_is_too_large(edge) that needs the corresponding curve_index to be valid
use minimal_size instead of 0

fix 5e64bced8e37ce076f26317e9ea7638a14c9696c

fix approx_is_too_large(edge) that needs the corresponding curve_index to be valid

and fix the default edge_min_size
2024-08-12 12:37:03 +01:00
Jane Tournois 0bc3658893 use the 5 parameters version to avoid re-calling locate(p) and locate(q) 2024-08-08 15:28:09 +02:00
Jane Tournois f8de6e72b8 take min_size into account inside Mesh_edge_criteria_3 2024-08-08 15:26:59 +02:00
Jane Tournois 5d814aee2a remove ref (can become invalid) 2024-06-25 15:16:07 +02:00
Laurent Rineau 6f4b598b6a Merge pull request #8278 from albert-github/feature/bug_spell_20240511
Spelling correction
2024-06-13 12:48:43 +02:00
Laurent Rineau d5aa8b1a44 Merge pull request #8268 from janetournois/Mesh_3-fix_concept-jtournois
Mesh_3 - fix concept `MeshFacetCriteria_3`
2024-06-12 10:06:08 +02:00
albert-github c35a0a7f11 Spelling correction
Spelling correction due to updated dictionary.
(dictionary was updated after the previous spelling correction :-( )
2024-06-11 10:12:12 +02:00
Laurent Rineau 5b003a7808 Merge pull request #8246 from albert-github/feature/bug_spell_20240531
Spelling corrections
2024-06-10 18:47:22 +02:00
Jane Tournois 8d6d934395 convert tuple to struct for Facets_erase_counters 2024-06-10 15:52:09 +02:00
Jane Tournois accfc2aa31 convert tuple to struct for Move 2024-06-10 15:51:31 +02:00
Jane Tournois 8e39809c58 remove more tuples 2024-06-07 17:38:02 +02:00
Jane Tournois 7be4da73a3 remove useless tuple 2024-06-07 17:37:34 +02:00
Jane Tournois 986b596d10 Merge remote-tracking branch 'cgal/master' into Mesh_3-avoid_tuples-jtournois
# Conflicts:
#	Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
2024-06-07 15:48:31 +02:00
Jane Tournois 4d486527d2 fix doc 2024-06-07 15:18:57 +02:00
Jane Tournois 3cf86606d8 avoid compiler warning 2024-06-04 08:55:48 +02:00
Jane Tournois bb0c3f22f6 use typedefs 2024-06-04 08:52:08 +02:00
Laurent Rineau 212c6bc5ce Merge pull request #8241 from lrineau/Mesh_3-add_a_scope_after_if-GF
Mesh_3: add a scope after if(...)
2024-06-03 17:40:24 +02:00
Jane Tournois b2a679ee78 typedefs 2024-05-31 19:05:38 +02:00
albert-github 36c8b7589d Spelling corrections
Last batch (for now) of spelling corrections in doxygen and normal comments
2024-05-31 19:05:34 +02:00
Jane Tournois 5b1a406dcc use c++17 to simplify code 2024-05-31 09:38:20 +02:00
Jane Tournois fe6e71724b replace tuple with struct to improve readability 2024-05-30 15:33:29 +01:00
Jane Tournois c0f53c4a3e avoid using the get<i>(tuple) API, hardly readable 2024-05-30 15:33:22 +01:00
Laurent Rineau c538ff16c2 Mesh_3: add a scope after if(...) 2024-05-30 15:24:19 +02:00
Mael Rouxel-Labbé 4ba0ec0421 Merge remote-tracking branch 'cgal/master' into Mesh_3-update_benchmark-jtournois 2024-05-29 12:57:39 +02:00
Sebastien Loriot d06a57a292
Mesh_3 edge_distance criterion : an upper bound for the distances of the feature edge to the input feature (#7532)
## Summary of Changes

Fixes issue #5110.
Adds a edge_distance criteria to the mesh generation process.
This criteria is an upper bound for the distance from the edge to the 1D
feature.

## Release Management

* Affected package(s): Mesh_3
* Issue(s) solved (if any): fix #5110
* Link to small feature page :
[Mesh_3_edge_distance_criteria](https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Mesh_3_edge_distance_criteria)
* Link to compiled documentation
[*here*](https://cgal.github.io/7532/v1/Manual/index.html):
*
[Mesh_edge_criteria_3](https://cgal.github.io/7532/v1/Mesh_3/classCGAL_1_1Mesh__edge__criteria__3.html)
  * [Mesh_criteria_3](https://cgal.github.io/7532/v1/Mesh_3)
2024-05-27 10:58:15 +02:00
Laurent Rineau 022b19d3ca Merge pull request #8057 from sloriot/AABB_tree-2d_and_3d
Updating the AABB-tree to work in both 2D and 3D
2024-05-15 16:12:19 +02:00
ange-clement 8575f53583 Doc upgrades + simplified initial_points_generator parameter + fixed memory leaks 2024-05-02 17:29:23 +02:00
ange-clement 50dfc18d4a Merge branch 'Mesh-3-rework-make-mesh-point-initialization-2-aclement' of https://github.com/ange-clement/cgal into Mesh-3-rework-make-mesh-point-initialization-2-aclement 2024-05-02 17:19:57 +02:00
ange-clement fa6e044414 Merge branch 'master' of https://github.com/CGAL/cgal into Mesh-3-rework-make-mesh-point-initialization-2-aclement 2024-05-02 14:47:50 +02:00
Laurent Rineau 2813d53c7f other changes I forgot to commit 2024-04-29 16:47:15 +02:00
Laurent Rineau d7ea101231 improve the doc sentences 2024-04-29 16:19:52 +02:00
Jane Tournois 1bbcc40ee3 Merge branch 'Mesh-3-edge-distance-criterium-aclement' of https://github.com/ange-clement/cgal into Mesh-3-edge-distance-criterium-aclement 2024-04-29 15:16:42 +02:00
Jane Tournois fe09beb53e fix template parameters doc 2024-04-29 15:15:46 +02:00
Laurent Rineau da893f8f8b minor changes 2024-04-29 14:58:10 +02:00
Laurent Rineau 67466144bb Merge pull request #8139 from janetournois/Mesh_3-revert_encroachment_loop-jtournois
Mesh_3 - revert encroachment rule modification, and fix infinite refinement
2024-04-22 14:53:50 +02:00
Jane Tournois 7a8075ebd9 comments 2024-04-16 16:54:21 +02:00
Jane Tournois 973f8a1f66 make default edge distance be 0 for consistency with other criteria (instead of DBL_MAX)
rename check_distance_field() to has_distance_field()
2024-04-16 15:32:59 +02:00
Laurent Rineau cf01bdc179 simplify the snippets 2024-04-15 15:37:26 +02:00
Jane Tournois a8debb0d2d Revert "Fix sometimes creating holes in the C3T3"
This reverts commit 06d272169f.

There may be an inconsistency between exact and inexact computations,
in the facet encroachment rule

This code was leading to a local infinite refinement loop during cells refinement
2024-04-11 14:16:41 +02:00
ange-clement 37798b73d7 Optimisation in refine_balls : added a is_edge_in_complex boolean, the check is processed once instead of twice. 2024-04-04 12:42:41 +02:00
ange-clement e558f43e01 Added check_distance_field in Edge criteria so that refine_balls() only check edge distance when necessary. 2024-04-04 12:08:13 +02:00
ange-clement ae0f8f37c9 Finished Merge 2024-03-29 16:49:33 +01:00
ange-clement 5b0f1fc4c2 Merge branch 'master' of https://github.com/CGAL/cgal into Mesh-3-rework-make-mesh-point-initialization-2-aclement 2024-03-29 16:46:24 +01:00
ange-clement e64e28d5ef Made initial_point parameter work with any Range
With doc and example (
 example "mesh_3D_image_with_initial_points.cpp" has been renamed to  "mesh_3D_image_with_image_initialization.cpp")
2024-03-29 16:29:07 +01:00
ange-clement b2203b4c52 Doc + cleanup 2024-03-28 15:50:53 +01:00
ange-clement 2c9fb5cd4e doc 2024-03-28 14:14:29 +01:00
ange-clement 3cfea618e5 as in PR #7844, removed _sizing_field parameter for edge_distance. 2024-03-28 11:39:33 +01:00
ange-clement 70fd9113e7 Merge branch 'master' of https://github.com/CGAL/cgal into Mesh-3-edge-distance-criterium-aclement 2024-03-28 11:36:39 +01:00
Sven Oesau f0d32fe869
Merge branch 'master' into AABB_tree-2d_and_3d 2024-03-26 16:03:19 +01:00
Sven Oesau 65be6133d8 removing deprecated AABB types 2024-03-26 15:56:45 +01:00
Laurent Rineau bffa8f213e Merge pull request #8072 from janetournois/Mesh_3-use_one_step_loop-jtournois
Mesh_3 - fix mesher using the `one_step()` loop

# Conflicts:
#	Mesh_3/include/CGAL/Mesh_3/Triangulation_helpers.h
2024-03-26 10:21:00 +01:00
Jane Tournois 644d6493eb nearest_power_vertex() does not work on an empty triangulation 2024-03-21 16:33:26 +01:00
Jane Tournois 44e176b88a
unused typedef
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2024-03-21 16:13:30 +01:00
Jane Tournois 80fd8759dd avoid insertion of points inside protecting balls, during initialization step 2024-03-14 16:40:28 +01:00
Jane Tournois 4e81649dd9 use set_surface_only() to be more explicit 2024-03-14 16:32:29 +01:00
Jane Tournois d085faba0c remove duplicate 2024-03-14 16:31:11 +01:00
Jane Tournois 83c88da327 move clear_cells_and_facets_from_c3t3() inside the constructor of Mesher_3
to make sure the input c3t3 is fully clean before starting refinement
2024-03-14 16:28:46 +01:00
Andreas Fabri eb49100a96 Replace deprecated classes 2024-03-05 07:08:51 +00:00
Laurent Rineau a32899f73c Merge pull request #8029 from janetournois/Mesh_3-edge_min_size-jtournois
Mesh_3 with `edge_min_size` - make uses of `curve_segment_length()` consistent
2024-02-16 18:03:13 +01:00
Laurent Rineau d9ebccd627 Merge pull request #8030 from janetournois/Mesh_3-perturber_doc-jtournois
Mesh_3 - fix perturber doc
2024-02-16 18:03:10 +01:00
Laurent Rineau f407ea44ee Merge pull request #8029 from janetournois/Mesh_3-edge_min_size-jtournois
Mesh_3 with `edge_min_size` - make uses of `curve_segment_length()` consistent
2024-02-16 18:02:36 +01:00
Sébastien Loriot 0e3074689b fix warning 2024-02-14 11:03:10 +01:00
Jane Tournois 51ebe945de fix the perturber doc, that was mixed with exuder (in 5.5, doc is valid) 2024-02-12 12:12:10 +01:00
Jane Tournois 34514d33f7 factorize code using curve_segment_length to one function
and use it everywhere
2024-02-12 11:46:33 +01:00
Sebastien Loriot caecbe29c7
Replace boost::mpl (#7813)
- `boost::mpl::if_` --> `std::conditional`
- `boost::enable_if` -> `std::enable_if`
- `boost::mpl::and_` -> `&&`
- `boost::mpl::or_` -> `||`
- `boost::constant::bool_` -> `std::bool_constant`
- ...
2023-12-26 17:33:36 +01:00
Sébastien Loriot 15aa810876 Merge remote-tracking branch 'cgal/5.6.x-branch' 2023-12-22 17:16:49 +01:00
Jane Tournois a66e78a672 when curves topology is valid, use curve_segment_length 2023-12-15 15:52:02 +01:00
Jane Tournois 3ef2ce9163 check_and_repopulate_edges() reactivated with minimal size
disabling it may give too bad results
change the arc_length computation when minimal size is used, instead,
by approximating it by the segment length
2023-12-15 14:44:33 +01:00