Commit Graph

4577 Commits

Author SHA1 Message Date
Sebastien Loriot 9ded34f6dd
Mesh_3 - bug fixes for `edge_distance` and `edge_min_size` (#8405)
## Summary of Changes

While experimenting on self-intersecting polyhedral surfaces, I met two
bugs:
* `edge_min_size` was not enough taken into account in
`Protect_edges_sizing_field`,
* `edge_distance` was missing the information of which `curve_id` the
edge belongs to (available using internal code)
causing crashes.

## Release Management

* Affected package(s): Mesh_3
* License and copyright ownership: unchanged
2024-08-26 15:24:29 +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
Sebastien Loriot 862a3b6539
Update CMakeLists.txt for recent VTK to fix CMake Warning (#8279)
## Summary of Changes

Versions >= 9 of VTK trigger the following CMake warning using CGAL's
CMakeLists
```
CMake Deprecation Warning at C:/dev/VTK-9.2.2/build/lib/cmake/vtk-9.2/vtk-use-file-deprecated.cmake:1 (message):
  The `VTK_USE_FILE` is no longer used starting with 8.90.
Call Stack (most recent call first):
  CMakeLists.txt:32 (include)
```

I suggest this modification of the CMakeLists of Mesh_3 examples, that
also requires moving to VTK 9 (9.0 was released in 2020).
If this modification and new requirement are validated, I can apply the
change everywhere.

## Release Management

* Affected package(s): Mesh_3 for now
* License and copyright ownership: unchanged
2024-08-19 11:14:31 +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
Laurent Rineau 089cb17bcf
Poisson: fix dependencies (#8282) 2024-06-13 12:55:34 +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
Sébastien Loriot 86866e232e remove Surface_mesher from doc deps 2024-06-12 20:34:54 +02:00
Laurent Rineau 32893b91c0 Merge pull request #8263 from lrineau/CGAL-update_minimal_cmake-GF
cmake_minimum_required(VERSION 3.12...3.29)
2024-06-12 10:06:12 +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
Laurent Rineau f3b409a807 require VTK version 9.0 or later 2024-06-11 15:57:25 +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
Jane Tournois 05c3fc9e94 update CMakeLists.txt for recent VTK 2024-06-11 10:00:36 +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 4d486527d2 fix doc 2024-06-07 15:18:57 +02:00
Laurent Rineau 3a223ebd1e cmake_minimum_required(VERSION 3.12...3.29) 2024-06-06 20:19:44 +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
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
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
Sebastien Loriot abe1bba8bd
CGAL improvement backported from CDT_3 branch (#8170)
## Summary of Changes

Important various fixes and improvements, from an experimental branch of
mine about CDT_3.

- <s>remove CMake warnings about `VTK_USE_FILE`</s> (our testsuite tests
with [VTK-8.2](https://docs.vtk.org/en/latest/release_details/8.2.html),
whereas
[VTK-9.0](https://docs.vtk.org/en/latest/release_details/9.0.html) was
released four years ago).
- make `Circulator_from_container` compatible with ranges (instead of
just containers)
- `Hash_map` is move-constructible and -assignable
- add preliminary support for C++20 concepts and `<format>`
- [x] add `Compare_angle_3(Point_3, Point_3, Point_3, Point_3, Point_3,
Point_3)` (with six points) **TODO: needs doc**... will be handled later
in issue #8219
- [x] **breaking changes:** add `Compare_xy_2` to
`TriangulationTraits_2` <s>TODO: needs announcement</s>
- fix `Compact_container` time stamp feature
- [x] commits from #7410 **That is probably a problem, to be fixed.**
**fixed in #7410 and then my the merge
70464ea107**
- add `CGAL::Scope_exit`, `CGAL::make_scope_exit`, for CGAL developers
(undocumented)
- add an overload of `make_sorted_pair` with only one pair-like argument
- improve `CGAL::IO::Output_ref` and `oformat`
- perf improvements in
`TDS_3/include/CGAL/Triangulation_data_structure_3.h` (`is_edge` is 7
times faster)
- <s>perf improvement in
`Triangulation_2/include/CGAL/Triangulation_2/internal/Polyline_constraint_hierarchy_2.h`
(with the use of `unordered_flat_map` from Boost>=1.80</s>
- less filter failures in `Triangulation_segment_cell_iterator_3`
- add `Triangulation_3::is_facet(u, v, w)` (without `, c, i, j, k`)

## Release Management

* Affected package(s): Installation, T_2, TDS_2, T_3, TDS_3, SMDS_3,
Kernel, STL_Extension, Stream_support
* Feature/Small Feature (if any):
* License and copyright ownership: maintenance by GeometryFactory
2024-05-26 17:48:10 +02:00
Sebastien Loriot afe7f90a73
Mesh_3::Add handling of *.nii files in one example (#7823)
## Summary of Changes

While the Polyhedron demo can read `*.nii` files there is no example in
`examples/Mesh_3/`.
This PR adds the functionality to the example that uses vtk to read
DICOM data.

This is triggered by [this
question](https://stackoverflow.com/questions/77331075/is-there-an-easy-way-to-convert-from-nifti-nii-image-format-to-inr)
on stackoverflow.

- [ ] Support of `*.nrrd` format
- [ ] example for segmented images
- [ ] Add example data for the file formats.

## Release Management

* Affected package(s): Mesh_3
* License and copyright ownership: unchanged
2024-05-26 17:45:48 +02:00
Laurent Rineau 0c0b22ba92 add tests and assertions for the timestamper 2024-05-23 16:35:54 +02:00
Laurent Rineau df28ddc43a Revert "Fix CMake warning: remove usage of VTK_USE_FILE"
This reverts commit f39b90670b.
2024-05-22 12:55:43 +02:00
Laurent Rineau 70464ea107 Merge remote-tracking branch 'afabri/STL_extension-Fix_Prevent_deref-GF' into pr/lrineau/8170 2024-05-21 18:55:11 +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
Jane Tournois 47b74e419d the nb of vertices in parallel mode has a pretty large variability
(from 745 to 893 in my experiments)
so testing their number wrt a reference value does not make much sense

This commit changes to test not to test meshing without comparing nbv and nbf
in parallel mode
2024-05-10 16:00:15 +02:00
Jane Tournois 1638c4b6fa warning unused parameters 2024-05-07 10:22:42 +02:00
Jane Tournois 29de7aceaa fix compilation of test 2024-05-03 14:28:21 +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 f39b90670b Fix CMake warning: remove usage of VTK_USE_FILE
Backport: master, 5.5.x, 5.4.x
2024-04-26 13:54:44 +02:00
Laurent Rineau 07eb230ed8 Merge pull request #8149 from lrineau/cgallab-cont
Rename Polyhedron demo to CGAL Lab everywhere
2024-04-25 11:30:08 +02:00
Laurent Rineau 2a2031df3b Rename cgallab to CGALlab
@janetournois (see https://github.com/CGAL/cgal/pull/8149#issuecomment-2066444180
2024-04-23 15:09:51 +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
Laurent Rineau 621859b526 Rename Polyhedron demo to CGAL Lab
And announce it in the `CHANGES.md`.
2024-04-18 12:39:30 +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
Jane Tournois 3d8346c8e0 fix concept : edge criteria do not belong to MeshCriteria_3 but to MeshCriteriaWithFeatures_3 2024-04-16 14:39:56 +02:00
ange-clement 3cb583ade7 Added nii image "squircle.nii" +
Updated example to work with a default dataset.
2024-04-12 12:16:25 +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 6e8dacff2b Fixed test 2024-04-05 14:21:39 +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