Mael Rouxel-Labbé
f2299f844f
Use plural for the all-vertices function
2024-12-07 23:42:49 +01:00
Mael Rouxel-Labbé
693fd25174
Use a capital 'G'
2024-12-07 23:42:31 +01:00
Mael Rouxel-Labbé
0fe940555d
Fix namespace
2024-12-07 23:41:38 +01:00
Mael Rouxel-Labbé
e9de7e88ad
Fix test pretty much never testing envelope tests + read all formats
2024-12-07 23:34:58 +01:00
Mael Rouxel-Labbé
eb668da9ea
Misc cleaning
2024-12-07 23:34:23 +01:00
Mael Rouxel-Labbé
fda7b1ae6a
Avoid a lot of useless shape predicate calls
...
Here are some changes:
- Avoid a lot of redundant calls of is_it_a_needle / is_it_a_cap
- Do not test for cap-ness if it's already a needle
- Do not fill both ranges at the beginning, but fill
with everything: on the first round, needle-ness will
be tested, and the exit towards cap-ness will happen
- Wait for a needle to no longer be a needle, or not be
treatable to actually test cap-ness
- When the mesh is modified, do not test everything immediately,
just put them in the queue of the next iteration
Result: Fewer calls to shape predicates
- master -
needle calls = 828 668
cap calls = 803 330
- PR -
needle calls = 803 554
cap calls = 795 317
Should be fewer but two effects are balacing each other for the calls:
- much fewer calls to shape predicates (is_it_a_needle, is_it_a_cap)
by not calling until absolutely necessary (but still checking at pop time).
- when we modify the mesh, I no longer fill the CURRENT cap and needle
ranges, but the next ones. The point is to really prioritize all caps
BEFORE treating needles, whereas otherwise we would treat some needles
at the current iteration while there are still caps to treat.
So there are more iterations which add more useless calls (see below)
2024-12-07 23:31:57 +01:00
Mael Rouxel-Labbé
a4cb48a145
Fix never trying again a user-rejected cap
2024-12-07 23:29:04 +01:00
Mael Rouxel-Labbé
eb5ff9b33e
Fix collect_badly_shaped_triangles not actually filling both ranges
2024-12-07 23:28:20 +01:00
Sébastien Loriot
cac285d097
no need to redo new node propagation if it was already been done once
2024-12-06 17:19:01 +01:00
albert-github
36f6a36dac
Errors in bibliography and incorrect usage of `\f[` command
...
- The `&` in the bibliography has to be escaped
- the doxygen command `\f[` should not be used to directly change the environment, for this the doxygen command `\f{` exists.
2024-12-02 15:48:48 +01:00
Sébastien Loriot
0b3c27e584
swap the parameters also here
2024-11-21 09:04:17 +01:00
Sébastien Loriot
41d37ac2a9
split badly shaped triangle check and delay the check calls
2024-11-20 09:40:13 +01:00
Sébastien Loriot
b60b203c56
add missing cap collection in case of non-collapsed edge
2024-11-20 09:11:48 +01:00
Jane Tournois
21e1ff113a
vertex is constrained if NOT allowed to move
2024-11-18 16:17:19 +01:00
Sébastien Loriot
c9c1770c18
in case an edge is both a cap and a needle but that is not collapsable try to flip
2024-11-14 11:54:48 +01:00
albert-github
1320a1d497
Spelling correction
...
Spelling correction
2024-11-14 10:22:43 +01:00
Jane Tournois
7462b70bec
remove unused
2024-11-12 14:01:30 +01:00
Jane Tournois
b8165f62de
add is_move_allowed(v) and use it in tangential_relaxation_impl()
2024-11-08 16:57:42 +01:00
Jane Tournois
ec1d43afbe
add constrained vertices to pmap
2024-11-08 16:11:11 +01:00
Andreas Fabri
fcf062bf48
PMP: Initialize to avoid warning
2024-11-08 10:13:26 +00:00
Laurent Rineau
96cd3e6f09
Merge remote-tracking branch 'cgal/master' into pr/afabri/8528
2024-10-17 00:25:24 +02:00
Andreas Fabri
95616154d5
More PRIVATE in LCC and Generalized_map
2024-10-09 07:19:52 +01:00
Andreas Fabri
527569346e
CGAL: Modernize CMakeLists.txt
2024-10-08 17:02:41 +01: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
Laurent Rineau
e1c1582c08
Merge pull request #8210 from janetournois/PMP-allow_move_example-jtournois
...
PMP isotropic_remeshing - add example using `allow_move_functor`
# Conflicts:
# Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt
2024-09-27 11:49:59 +02:00
Laurent Rineau
5a06283647
Merge pull request #8418 from sloriot/PMP-isorem_deg_faces
...
[isotropic_remeshing] do no flip if creating a degenerate face
2024-09-27 10:59:52 +02:00
albert-github
f7320ae1c1
Spelling corrections
...
Spelling corrections
2024-09-13 17:53:05 +02:00
Sebastien Loriot
abd0a58338
Installation - update `FindOpenMesh.cmake` ( #8332 )
...
## Summary of Changes
This PR updates CGAL's `FindOpenMesh.cmake`, accordingly with the one
provided by OpenMesh 11.0, and introducing the target
`OpenMesh::OpenMesh`
## Release Management
* Affected package(s): Installation
* License and copyright ownership: unchanged
2024-09-06 13:26:41 +02:00
Sébastien Loriot
4cf1f4b214
CONFIG options is only needed if a FindXXX.cmake exists
2024-09-04 14:48:07 +02:00
Jane Tournois
3f6083e6ff
use CGAL::OpenMesh_support in examples and tests
2024-08-27 14:06:16 +02:00
Jane Tournois
eabb4dc756
remove border degenerate faces, fixed
2024-08-26 10:21:41 +02:00
Jane Tournois
c7ce0e43b8
remove boundary degenerate faces
2024-08-26 10:06:08 +02:00
Sébastien Loriot
152fd4d74e
do no flip if creating a degenerate face
2024-08-20 17:25:32 +02:00
Sebastien Loriot
47c417a785
Deal with duplicate lines ( #8396 )
...
## Summary of Changes
Deal with Issue #8348
## Release Management
* Affected package(s): Triangulation_2 and Periodic_triangulation_2
* Issue(s) solved (if any): fix #8348
* License and copyright ownership: unchanged
2024-08-19 11:17:50 +02:00
Andreas Fabri
12468ccf4a
Address #8401
2024-08-09 11:32:26 +01:00
Sébastien Loriot
2577ecea27
fix initialization
...
bug introduced #7712
2024-07-05 13:01:45 +02:00
Sébastien Loriot
e95ea7cde7
unused variable
2024-07-04 18:36:55 +02:00
Jane Tournois
8905201e21
replace pig (not closed) by triceratops
2024-07-01 15:15:34 +02:00
Laurent Rineau
a800918665
Merge pull request #8276 from sloriot/PMP-split_visitor_fwd
...
Forward the visitor for split
2024-06-13 12:48:47 +02:00
Laurent Rineau
21bc6c669f
Merge pull request #8277 from afabri/PMP-normals-GF
...
PMP: Change the string of the property
2024-06-13 12:48:45 +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
212a323e4d
Merge pull request #8276 from sloriot/PMP-split_visitor_fwd
...
Forward the visitor for split
2024-06-13 12:48:22 +02:00
Laurent Rineau
96d91fa2bd
Merge pull request #8277 from afabri/PMP-normals-GF
...
PMP: Change the string of the property
2024-06-13 12:48:20 +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
ff6e9d262b
Merge pull request #8272 from sloriot/PMP-coref_use_size_type
...
Fix iteration on dynamic bit set
2024-06-12 10:06:06 +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
Andreas Fabri
8a6b86b9ae
PMP: Change the string of the property
2024-06-11 08:18:34 +01:00
Sébastien Loriot
4cd04080b3
forward the visitor
2024-06-11 09:08:33 +02:00
Sébastien Loriot
a99ebc30eb
test several polygon types
2024-06-10 15:44:17 +02:00
Sébastien Loriot
174a1d68e0
avoid potentially infinite loop
2024-06-10 15:07:25 +02:00
Laurent Rineau
3a223ebd1e
cmake_minimum_required(VERSION 3.12...3.29)
2024-06-06 20:19:44 +02:00
Jane Tournois
8613b04e93
add to examples list
2024-06-04 09:48:40 +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
Sebastien Loriot
596fa09e20
Kinetic Shape Partition ( #7198 )
...
PR for Kinetic Partitioning and Reconstruction feature.
* Affected package(s): Kinetic Partitioning and Reconstruction
* Issue(s) solved (if any):
* Feature/Small Feature (if any):
[link](https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Kinetic_Shape_Partition_3 )
* Link to compiled documentation:
[link](https://cgal.github.io/7198/v0/Manual/packages.html#PkgKineticSpacePartition )
* License and copyright ownership: GeometryFactory/Inria
**TODO:**
- [x] check branch size (for @sloriot)
2024-05-26 17:51:49 +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
Sébastien Loriot
279ddde799
more to core
2024-05-24 17:03:18 +02:00
Laurent Rineau
81357855d5
Using std::optional for Property_container::get<T> ( #8035 )
...
## Summary of Changes
Switching from `std::pair<Property_map<T>, bool>` to `std::optional` in
`Property_container::get<T>`
Introducing `Pair_optional_adaptor` for backward compatibility which
extends `std::optional<T>` to interface of `std::pair`
using `Pair_optional_adaptor` for `Surface_mesh` and `Point_set_3`
## Release Management
* Affected package(s): Point_set_3, Surface_mesh, STL_Extension
2024-05-22 12:12:56 +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
Jane Tournois
de9eccf316
functor is not unary!
2024-05-17 15:41:29 +02:00
Jane Tournois
12455fbd55
add example using allow_move_functor
2024-05-17 10:19:49 +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
Laurent Rineau
0dcb83bff8
Merge pull request #8142 from sloriot/PMP-coref_nm_out
...
Add extra parameters to the corefinement visitor to handle non-manifold output
2024-05-15 16:12:16 +02:00
Laurent Rineau
02ad5d6003
Merge pull request #8150 from janetournois/PMP-isotropic_remeshing_with_allow_move_functor-jtournois
...
PMP::isotropic_remeshing() - add NP `allow move functor`
2024-05-15 16:12:14 +02:00
Laurent Rineau
f260a22a64
Merge pull request #8160 from sloriot/PMP-coref_with_less_bbox
...
PMP corefinement: only allocate necessary bboxes
2024-05-15 16:12:09 +02:00
Laurent Rineau
87fe13fcf6
Merge pull request #8168 from sloriot/PMP-remesh_doc
...
Update parameter description
2024-05-15 16:12:07 +02:00
Laurent Rineau
76809fa947
Merge pull request #8178 from sloriot/PMP-shorten_params
...
Rename parameters
2024-05-15 16:06:06 +02:00
Sven Oesau
ab2ca20aac
some more cases
2024-05-14 16:38:47 +02:00
Sébastien Loriot
6291a4f62d
also rename input nps
2024-05-06 09:50:18 +02:00
Sébastien Loriot
1be3e1d3f2
shorten parameters for better doc readibility
2024-05-02 14:36:18 +02:00
Laurent Rineau
127163fda3
cosmetic changes in debug messages
2024-04-26 16:10:23 +02:00
Laurent Rineau
4bf1c438af
Add a tool to list non triangulated off files
2024-04-26 16:10:23 +02:00
Sébastien Loriot
4525eeb988
do not modify the map if not the default one
2024-04-25 19:29:48 +02:00
Sébastien Loriot
be81f15b95
update description: it is also an input parameter
2024-04-25 18:35:25 +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
Sébastien Loriot
05c0625bce
only allocate necessary bboxes
2024-04-24 21:27:29 +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
c4165fe5f9
Merge pull request #7439 from MaelRL/PMP-Remove_degen_faces-no-clear-GF
...
Introduce remove_all_elements(Graph)
2024-04-22 14:54:18 +02:00
Laurent Rineau
3e3eed7f05
Merge pull request #8129 from sloriot/PMP-deterministic_triangulate_faces
...
Make triangulate_faces deterministic
2024-04-22 14:54:08 +02:00
Sven Oesau
ffba6279c9
Merge remote-tracking branch 'cgal/master' into AABB_tree-2d_and_3d
2024-04-19 08:47:54 +02:00
Jane Tournois
96d8e1a5f6
document NP allow_move_functor
2024-04-18 13:01:07 +02:00
Jane Tournois
9a27b92a7d
NP allow_move_functor from tangential_relaxation to isotropic_remeshing
...
this NP exists in tangential_relaxation() and we want to be able to
use it in the relaxation step, from the named parameters of isotropic_remeshing()
2024-04-18 12:50:20 +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
Sébastien Loriot
bf6af35d42
address review comments
2024-04-15 18:34:45 +02:00
Sébastien Loriot
05f4cf6106
add doc and make implementation generic
2024-04-15 17:32:22 +02:00
Sven Oesau
d9cd44e30c
AABBGeomTraits -> AABBGeomTraits_3
2024-04-15 11:59:00 +02:00
Sébastien Loriot
0e06536bf1
use a template parameter for the id in the triangle
2024-04-15 09:23:51 +02:00
Sébastien Loriot
3f147fb06a
show how to create the mesh from the soup
2024-04-15 09:23:51 +02:00
Sébastien Loriot
07580f1a58
fix filename
2024-04-15 09:23:51 +02:00
Sébastien Loriot
04a58f9e53
prevent isolated vertices in the soup
2024-04-15 09:23:51 +02:00
Sébastien Loriot
d796c06cae
add test
2024-04-15 09:23:51 +02:00
Sébastien Loriot
3fbd0fd886
handle several operations
2024-04-15 09:23:37 +02:00
Sébastien Loriot
5583f42fce
do no unmark edges as the soup does not need them + allow several operations
2024-04-15 09:23:12 +02:00
Sébastien Loriot
9d6c4dcd8a
handle existing vertices that are intersection points
2024-04-15 09:23:12 +02:00
Sébastien Loriot
13e2adf130
First draft of using a visitor to extract non-manifold soups
2024-04-15 09:23:12 +02:00
Sébastien Loriot
cfec3bb0cc
fix values due to the diagonal change in degenerate triangulation
2024-04-11 11:44:35 +02:00
Sébastien Loriot
147b313cc8
also apply deterministic fix to polygon soup function
2024-04-11 09:36:16 +02:00
Sébastien Loriot
ebe6d6719c
precompute vectors
2024-04-11 08:55:10 +02:00
Laurent Rineau
8d5984bd1b
Merge pull request #8108 from lrineau/CGAL-simplify_cmake-GF
...
CMake: simplify, now that C++17 is required
2024-04-10 18:04:20 +02:00
Andreas Fabri
4015b2b5c5
fixes after review
2024-04-10 11:52:33 +01:00
Laurent Rineau
49ca51275a
Fix typos ( #8118 )
2024-04-08 16:10:23 +02:00