Mael Rouxel-Labbé
e8602e1f4e
Use modern typedefs
2024-12-07 23:50:02 +01:00
Mael Rouxel-Labbé
25cd25c477
Tiny indentation fix
2024-12-07 23:49:55 +01:00
Mael Rouxel-Labbé
a0e319e67b
Re-attach convenience overloads to their respective main function
2024-12-07 23:43:07 +01:00
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é
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
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
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
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
Sébastien Loriot
2577ecea27
fix initialization
...
bug introduced #7712
2024-07-05 13:01:45 +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
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
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
Sébastien Loriot
4cd04080b3
forward the visitor
2024-06-11 09:08:33 +02:00
Sébastien Loriot
174a1d68e0
avoid potentially infinite loop
2024-06-10 15:07:25 +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
Sébastien Loriot
279ddde799
more to core
2024-05-24 17:03:18 +02:00
Jane Tournois
de9eccf316
functor is not unary!
2024-05-17 15:41:29 +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
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
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
Sébastien Loriot
05c0625bce
only allocate necessary bboxes
2024-04-24 21:27:29 +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
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
04a58f9e53
prevent isolated vertices in the soup
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
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
49ca51275a
Fix typos ( #8118 )
2024-04-08 16:10:23 +02:00
Sébastien Loriot
16782d1e8b
do not depend on vertex order when opposite angles are identical
2024-04-08 15:46:48 +02:00
Laurent Rineau
4677ece3da
Merge pull request #7712 from sloriot/BGL-dynamic_with_default
...
Adding a default to dynamic property maps
2024-04-05 14:25:20 +02:00
Laurent Rineau
708711e7a7
Merge pull request #8018 from janetournois/PMP-add_bbox_to_face_graph-jtournois
...
New function `PMP::add_bbox(face_graph)` that adds bbox to face graph
2024-04-05 14:25:17 +02:00
Sébastien Loriot
68bc4a4bbc
typos
2024-04-03 15:59:34 +02:00
Andreas Fabri
caa8aaaa21
merge master
2024-04-03 14:09:39 +01:00
Sébastien Loriot
a34120d817
fix warning
2024-03-27 08:21:34 +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
Sébastien Loriot
baf084950b
use default value for dynamic maps
2024-03-25 11:05:55 +01:00
Sébastien Loriot
12c80ac512
Merge remote-tracking branch 'cgal/master' into HEAD
2024-03-25 10:21:41 +01:00
Laurent Rineau
7a17b47d9f
Merge pull request #8052 from afabri/Polygon-exact_area-GF
...
Polygon: Avoid stackoverflow when summing exact numbers
# Conflicts:
# Polygon/include/CGAL/Polygon_2_algorithms.h
# Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
2024-03-22 09:18:07 +01:00
Laurent Rineau
9f96166d44
Merge branch '5.5.x-branch' into 5.6.x-branch
...
# Conflicts:
# Polygon/include/CGAL/Polygon_2_algorithms.h
# Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
2024-03-22 09:09:57 +01:00
Sébastien Loriot
b855194fba
add missing include directive
2024-03-15 09:20:44 +01:00
Sébastien Loriot
f34745c4d8
use a functor for collapsing the DAG to not depend on Filtered_kernel
...
nor inclusion order
2024-03-14 10:02:30 +01:00
Andreas Fabri
19725c0b08
Fix PMP testsuite
2024-03-08 08:40:02 +00:00
Jane Tournois
f786b86432
Merge remote-tracking branch 'cgal/master' into PMP-add_bbox_to_face_graph-jtournois
2024-03-06 16:04:58 +00:00
Jane Tournois
bb2335a86e
early exit already is in Bbox_3::scale() so we can remove this condition
2024-03-06 14:50:32 +01:00
Jane Tournois
15310c93ef
copy_face_graph is not needed anymore
2024-03-06 14:48:31 +01:00
Jane Tournois
ff3db1e0d7
doc suggestions from code review
...
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2024-03-06 11:11:27 +01:00
Jane Tournois
78872aca27
move NP do_not_triangulate to make_hexahedron(isocuboid)
...
and fix nb of faces of hexahedron from 8 to 6
2024-03-05 13:38:14 +00:00
Andreas Fabri
b70a736083
Replace deprecated classes
2024-03-05 07:20:28 +00:00
Andreas Fabri
eb49100a96
Replace deprecated classes
2024-03-05 07:08:51 +00:00
Jane Tournois
c074187836
Merge branch 'PMP-add_bbox_to_face_graph-jtournois' of https://github.com/janetournois/cgal into PMP-add_bbox_to_face_graph-jtournois
2024-03-04 16:05:56 +00:00
Jane Tournois
1fc30afde7
doc simplified (similar to most functions of PMP)
2024-03-04 17:05:08 +01:00
Jane Tournois
685f6e7f84
create an overload of CGAL::make_hexahedron for Iso_cuboid_3
2024-03-04 17:04:06 +01:00
Jane Tournois
272beb678a
move scaling to CGAL::Bbox_3
2024-03-04 16:08:10 +01:00
Laurent Rineau
820465a556
Merge pull request #8023 from sloriot/PMP-soup_autoref_insert_in_edge
...
Autorefinement: insert points in edge to avoid filter failures
2024-02-28 10:57:25 +01:00
Sébastien Loriot
67b330bd5a
do no iterate on a container you modify
2024-02-26 17:45:06 +01:00
Sébastien Loriot
08ab32e14a
missing references
2024-02-26 14:23:09 +01:00
Sébastien Loriot
7a11b642fb
Revert "get rid of extra container"
...
This reverts commit a57800ce07 .
points vector of Triangle_data can be updated when intersecting
new intersection points. If the container is used at the same time
by another thread calling generate_subtriangles, the container might
be in an invalid state while resizing it.
2024-02-26 14:22:46 +01:00
Sébastien Loriot
a57800ce07
get rid of extra container
2024-02-16 12:12:19 +01:00
Sébastien Loriot
5cae5340e9
remove TODO that are not
2024-02-16 11:48:15 +01:00
Sébastien Loriot
7aa4f37b6b
rename macro
2024-02-16 11:39:09 +01:00
Jane Tournois
cb07b0f545
use midpoint from GT (and add precondition on factor)
2024-02-13 15:04:43 +01:00
Jane Tournois
83e80c91e9
doc
2024-02-13 13:48:24 +01:00
Jane Tournois
c23db551f3
make bbox really tight when factor is 1.
2024-02-13 11:50:10 +01:00
Jane Tournois
6191f7de3c
use split_face() instead of triangulate_faces()
...
and remove dependency on T2
2024-02-13 10:31:26 +01:00
Jane Tournois
b48760af26
use do_not_triangulate_faces
...
a NP that already existed before this PR
2024-02-12 17:08:46 +01:00
Jane Tournois
801d7822c6
doc
2024-02-12 16:39:54 +01:00
Jane Tournois
6ed6aa681a
improve add_bbox using make_hexahedron and Iso_cuboid_3
2024-02-12 16:32:52 +01:00
Jane Tournois
62b8e8fb6f
new function add_bbox(face_graph) that adds bbox to face graph
...
the bbox can be :
* triangulated or not
* tight or not
2024-02-06 12:13:03 +01:00
Andreas Fabri
5b187bd79d
Provide a fix for distance.h
2024-01-31 11:10:00 +00:00
Laurent Rineau
47324c1f1c
Merge pull request #7919 from hoskillua/icc-todos
...
Interpolated Curvature remaining TODOs
2024-01-24 16:02:00 +01:00
Sébastien Loriot
6b40f5b189
restore axis aligned projection traits
2024-01-19 12:03:40 +01:00
Andreas Fabri
f520602a0d
Comment #warning and qualify get() with std::
2024-01-19 11:47:05 +01:00
Sébastien Loriot
272a242f1b
restore delaunay in CDT + autoref and deduplicate identical points in no segments case
2024-01-19 11:47:05 +01:00
Sébastien Loriot
0095748cd7
insert points directly on edges
2024-01-19 11:47:04 +01:00
Sébastien Loriot
81d2938910
collect on-edge information and do not collect segments on the same edge
2024-01-19 11:47:04 +01:00
Sébastien Loriot
61461b14b3
more debug and fix indices
2024-01-19 11:47:04 +01:00
Sébastien Loriot
3b003535c7
WIP
2024-01-19 11:47:04 +01:00
Laurent Rineau
b4f360f952
Merge pull request #7962 from sloriot/CGAL-header_fixes
...
Fix license issues
2024-01-11 12:45:40 +01:00
Sébastien Loriot
241e1bf557
add missing license include directives
2024-01-04 11:53:18 +01:00
Sébastien Loriot
9985f9cfa0
autorefinement has its own license file
2024-01-02 14:06:59 +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
6eff89bbc8
Merge pull request #7614 from sloriot/PMP-BF_autorefine
...
Add autorefine for triangle soup
2023-12-26 12:11:04 +01:00
Sébastien Loriot
89d3d74865
Merge remote-tracking branch 'cgal/5.6.x-branch'
2023-12-18 13:31:48 +01:00
Sébastien Loriot
ee1fa58406
Merge remote-tracking branch 'cgal/5.5.x-branch'
2023-12-18 13:31:06 +01:00
Sebastien Loriot
cadc6ed343
Add a convenience IO header ( #7929 )
...
## Summary of Changes
There is:
```
CGAL/boost/graph/IO/polygon_mesh_io.h
CGAL/PMP/IO/polygon_mesh_io.h
CGAL/IO/polygon_soup_io.h
```
The first one is a bit awkward to remember, so this PR adds a
convenience header at `CGAL/IO/polygon_mesh_io.h`.
## Release Management
* Affected package(s): `BGL`
* Issue(s) solved (if any): -
* Feature/Small Feature (if any):
* Link to compiled documentation (obligatory for small feature) [*wrong
link name to be changed*](httpssss://wrong_URL_to_be_changed/Manual/Pkg)
* License and copyright ownership:
2023-12-18 13:22:46 +01:00
Sebastien Loriot
b9696c2f86
Polyhedron Demo: Add sampling plugin ( #7910 )
...
## Summary of Changes
Add a plugin that samples meshes and polygon soups
### Todo
- [x] Add dialog for the various parameters of the sampling function
- [x] Check that the input is triangular.
## Release Management
* Affected package(s): Polyhedron
* License and copyright ownership: unchanged
2023-12-18 13:21:01 +01:00
Sébastien Loriot
93ba75b8a1
add missing not
2023-12-14 08:47:54 +01:00
Laurent Rineau
9a944e563c
Merge remote-tracking branch 'cgal/master' into PMP-BF_autorefine
...
# Conflicts:
# Installation/CHANGES.md
# Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt
2023-12-13 15:57:30 +01:00
Sébastien Loriot
814a92655d
remove non needed typenames + missing ref
2023-12-12 13:12:45 +01:00
Sébastien Loriot
b267b31bea
workaround MSVC 2022 bug
2023-12-12 13:12:21 +01:00
Sébastien Loriot
10f4caa296
add missing ref
2023-12-12 11:53:22 +01:00
Andreas Fabri
62a64ae870
Add check that it faces are triangles
2023-12-12 09:28:01 +00:00
Sébastien Loriot
07acb78d30
add tests for autoref
2023-12-12 09:41:44 +01:00
Mael Rouxel-Labbé
81972df60e
Add a convenience IO header
2023-12-12 09:39:35 +01:00
Sébastien Loriot
d0c224fafb
handle some todos
2023-12-11 16:09:55 +01:00
Laurent Rineau
275c175f15
Merge pull request #5895 from sloriot/PMP-refine_mesh_along_isolevel
...
add function to refine a mesh along an isocurve
2023-12-11 14:00:49 +01:00
Laurent Rineau
721487fded
Merge pull request #7873 from sloriot/PMP-improve_sizing_concept_and_new_ex
...
Isotropic remeshing: add example with custom dummy sizing
2023-12-11 13:56:13 +01:00
Laurent Rineau
0ccf0745ec
Merge pull request #7914 from sloriot/PMP-remesh_planar_faces_missing_remove_const
...
PMP remesh_planar_patches: handle const meshes
2023-12-11 13:54:43 +01:00
Sébastien Loriot
f36bdda9fe
doc thread-safety of output iterators
2023-12-11 13:42:54 +01:00
Sébastien Loriot
93a1549c65
used typedef
2023-12-11 11:34:42 +01:00
Sébastien Loriot
8d0a047685
remote debug code and abandonned alternatives
2023-12-08 14:22:41 +01:00
Sébastien Loriot
d75e4f2f54
Merge remote-tracking branch 'cgal/master' into PMP-BF_autorefine
2023-12-08 13:26:06 +01:00
hoskillua
0e60f7cb77
moving average_edge_length to measure
2023-12-08 09:16:35 +03:00
Sébastien Loriot
dc04e5baa5
use doxygen macro
2023-12-07 11:30:17 +01:00
Sébastien Loriot
63556d4faa
use explicitly const meshes
2023-12-06 15:50:14 +01:00
Sébastien Loriot
560f02c921
add missing remove_const
2023-12-06 15:29:17 +01:00
Sébastien Loriot
c7ab2ba750
fix include
2023-11-30 09:54:27 +01:00
Sebastien Loriot
a207e3af2e
wrong header
...
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2023-11-30 09:35:56 +01:00
Sébastien Loriot
fd37bc3a16
add missing include
2023-11-30 09:25:04 +01:00
Sébastien Loriot
bef0339671
fixes for edges entirely on the isoline
2023-11-29 17:43:17 +01:00
Sébastien Loriot
16de47d1e6
more fixes
2023-11-23 14:55:30 +01:00
Sébastien Loriot
fe32ee586e
at Eigen dependency
2023-11-20 11:36:06 +01:00