Mael Rouxel-Labbé
8f409f03ff
Avoid producing a mesh with garbage in the non-manifold case
2023-10-16 16:57:45 +02:00
Mael Rouxel-Labbé
29846572e3
Increment erase counter for cells changing labels during flooding
...
Makes it easier to detect faces that no longer need
to be treated (zombies).
2023-10-16 16:57:20 +02:00
Mael Rouxel-Labbé
c19975bef7
Revert to the previous non-manifold extraction code
...
Neither are able to produce a closed, combinatorial manifold surface
100% of the time, so minimize the diff.
2023-10-16 11:06:36 +02:00
Mael Rouxel-Labbé
da6b202869
Add a function to purge inner (useless) CCs
2023-10-16 11:06:11 +02:00
Mael Rouxel-Labbé
f43c4ec58a
Minor example fix
2023-10-16 11:05:48 +02:00
Mael Rouxel-Labbé
8f3cc5c86b
Simplify volume check in make_manifold()
2023-10-16 10:18:01 +02:00
Mael Rouxel-Labbé
91c679234b
Rename the builder class
2023-10-13 10:56:58 +02:00
Mael Rouxel-Labbé
205fcff141
Make seeds a member of the wrapper
2023-10-13 10:53:56 +02:00
Mael Rouxel-Labbé
1066a9622f
Only flag outside cells during manifold enforcement
...
Otherwise, it creates holes if we reset manifold flags...
2023-10-11 16:51:09 +02:00
Mael Rouxel-Labbé
e031169534
Fix merge issue
2023-10-11 16:50:48 +02:00
Mael Rouxel-Labbé
06005369ac
Merge remote-tracking branch 'mine/AW3-Improve_manifoldness_enforcement-GF' into AW3-Resume_aw3-GF
2023-10-10 13:36:19 +02:00
Mael Rouxel-Labbé
c19799aa59
Move "go_further()" check up
...
So it doesn't purge zombies or print gate info that would not be refined
2023-10-10 13:23:05 +02:00
Mael Rouxel-Labbé
67e1b32c21
Do not recompute the queue when resuming
2023-10-10 13:22:46 +02:00
Mael Rouxel-Labbé
49f26abd65
enum > enum class
2023-10-10 13:15:01 +02:00
Mael Rouxel-Labbé
48d2057f40
Add a third type of cell label to distinguish relabeling for manifoldness
2023-10-10 13:06:56 +02:00
Mael Rouxel-Labbé
0e9da7ab96
Debug code and minor cleaning
2023-10-10 12:20:07 +02:00
Mael Rouxel-Labbé
2f1992f131
Add LIFO queue
...
But keep the old one, because we might need something sorted in the future.
Also it is needed to do interrupting, because the intermediate is really
ugly for a LIFO queue.
2023-10-09 15:16:10 +02:00
Mael Rouxel-Labbé
7de4f442e8
Remove obsolete sort at every iteration
...
There was a need for sorting at every iteration when the sorting
used criteria which were changing with every iteration. This
is no longer the case after c7b9317 .
Also make it deterministic.
2023-10-09 12:12:31 +02:00
Mael Rouxel-Labbé
76add8023e
Add debug code
2023-10-05 14:35:42 +02:00
Mael Rouxel-Labbé
3ff06d5099
Fix return type of function returning smallest circumradius
2023-10-05 14:34:29 +02:00
Mael Rouxel-Labbé
85c53f203d
Add a new function to the AW3 visitor: go_further()
2023-10-05 14:33:47 +02:00
Mael Rouxel-Labbé
8846876476
Check for degenerate segments + add warnings
2023-10-04 22:54:06 +02:00
Mael Rouxel-Labbé
660d620330
Accelerate trees manually to avoid skewing timers in flood_fill()
...
If one day this becomes annoying because one wishes to call
oracle.add_XXX() multiple times AND it's a significant
runtime burden, we can just add a function add_XXXs()
with a single call of accelerate_distance_queries()
2023-10-04 22:52:53 +02:00
Mael Rouxel-Labbé
ad5ae27c42
Factorize code generating filenames out of examples
2023-10-04 22:49:06 +02:00
Mael Rouxel-Labbé
9fa445f217
Change nomenclature to clarify the different types of gate permissiveness
2023-10-02 13:18:14 +02:00
Mael Rouxel-Labbé
c17841356a
Minor error message tweak
2023-10-02 13:10:38 +02:00
Mael Rouxel-Labbé
8ccce4c536
Avoid one useless facet check
...
This doesn't bring any speed-up because it was a very fast exit
in push_facet(): the neighbor was necessarily outside (since we
come from it), and we are done.
2023-09-29 11:19:52 +02:00
Mael Rouxel-Labbé
be42e0fbe8
Minor debug code cleaning
2023-09-29 11:19:39 +02:00
Mael Rouxel-Labbé
7e2386f97e
Use the real circumradius value to sort the facets
...
Meaning, use the value that we compare against alpha, and not
simply the radius of the smallest circumscribing ball.
This strongly changes the order of the queue and thus thus results
are very different, but still the same (same guarantees, same
element quality, only a little bit more elements, etc.)
Also a massive, ~35% speed-up, that needs to be investigated.
2023-09-29 11:14:42 +02:00
Mael Rouxel-Labbé
cfae913d77
Complete the sort functor in AW3's main queue
2023-09-29 11:13:31 +02:00
Mael Rouxel-Labbé
e3854f68e3
Expose useful typedefs from Alpha_wrapper_3
2023-09-29 11:12:31 +02:00
Mael Rouxel-Labbé
53c89475a3
Rename a variable
2023-09-29 11:12:17 +02:00
Mael Rouxel-Labbé
00f167a835
Add benchmarking scripts
2023-09-29 11:02:47 +02:00
Mael
bc8351f156
Fix typo
2023-09-27 11:06:49 +02:00
Mael Rouxel-Labbé
62bb2a58d0
Put the warnings outside of verbosity macros (too important)
2023-09-27 10:13:39 +02:00
Mael Rouxel-Labbé
c82f2a9d9c
Update some variable names to reflect the genericity of the triangulation
2023-09-27 10:11:31 +02:00
Mael Rouxel-Labbé
d3b66037bc
Merge remote-tracking branch 'cgal/master' into AW3-Resume_aw3-GF
2023-09-20 14:23:07 +02:00
Mael Rouxel-Labbé
19cb693a1b
Improve debug code
2023-09-20 12:59:46 +02:00
Mael Rouxel-Labbé
36017331c2
Add an example of successive AW3 restarts
2023-09-20 12:58:30 +02:00
Mael Rouxel-Labbé
5304f739b9
Enable restarting from a previous wrap
2023-09-20 12:57:02 +02:00
Mael Rouxel-Labbé
bff07b2fc9
Simplify the gate comparer: we can also sort artificial facets like normal facets
...
Artificial facets are *not* infinite facets.
2023-09-20 12:55:11 +02:00
Mael Rouxel-Labbé
4d50ec46b3
Consider all cases in facet_status
...
In a normal run of the algorithm, we shall never ask the facet status
of a facet that is already outside, but it's better to be complete
and it costs nothing.
2023-09-20 12:53:12 +02:00
Mael Rouxel-Labbé
4512b0e6f4
Rewrite the extraction of possibly non-manifold wraps
2023-09-20 12:52:20 +02:00
Mael Rouxel-Labbé
88bcd40966
Enable changing the oracle in the AW3 builder
2023-09-20 12:50:25 +02:00
Mael Rouxel-Labbé
86e28d2c85
Change default model
2023-09-13 15:45:15 +02:00
Mael Rouxel-Labbé
70c79da6fc
Merge remote-tracking branch 'cgal/master' into AW3-Tet_remesh_example-GF
2023-09-13 15:31:10 +02:00
Mael Rouxel-Labbé
57fe29fe4f
Add some comments about failed speedup experiments
2023-08-04 11:27:41 +02:00
Mael
330ff2e657
Fix spelling
...
Thanks @albert-github!
2023-08-03 12:30:18 +02:00
Mael Rouxel-Labbé
b4e207ab00
Add some comments on AW3 manifoldness heuristics criteria
2023-08-03 12:30:12 +02:00
Mael Rouxel-Labbé
c7b9317a96
Simplify choice of cells to un-carve while enforcing manifoldness
...
This combinatorial choice seemed like a good idea, but it can have
nasty cascading effects, adding very large tetrahedra. See this
issue: https://github.com/CGAL/cgal/issues/7625
In the end, the only thing we care about is small volumes being added.
I keep the artificial vertex for now, but I am not fully convinced
these should be actually kept too.
2023-08-03 12:30:08 +02:00
Mael Rouxel-Labbé
8076e20b71
Add debug code
2023-08-03 12:30:03 +02:00
Mael Rouxel-Labbé
6949cdb40a
Fix missing default initialization of the AW3 markers in the new Vb/Cb
2023-08-03 12:15:58 +02:00
Mael Rouxel-Labbé
5179c4acb1
Clean examples
2023-08-03 12:06:23 +02:00
Mael Rouxel-Labbé
dab6394215
Introduce AW3 Vb/Cb to avoid using T3_Vb/Cb_with_info_3
2023-08-03 12:05:40 +02:00
Mael Rouxel-Labbé
924f2df492
Add an example: remeshing the (internal) 3D triangulation of an alpha wrap
2023-07-21 16:25:49 +02:00
Mael Rouxel-Labbé
5e8d59c4dd
Make the triangulation a template parameter of the Alpha Wrap builder
...
Advanced users only for now: you need to know what you're doing
as the geom traits need to define the Ball_3 (usually that means
wrapping your Gt with AABB_AW_geom_traits) and you need to have
Vb/Cb contain the AW Vb/Cb in the stack.
2023-07-21 16:22:41 +02:00
Mael Rouxel-Labbé
7f85651e82
Merge remote-tracking branch 'cgal/master' into PMP-Remove_degen_faces-no-clear-GF
2023-07-19 13:55:35 +02:00
albert-github
ad41766454
issue #7395 Improvement of layout of model relations
...
Corrected `cgalModels` to `cgalHasModes` inside `cgalHasNodelsBegin` / `cgalHasModelsEnd`
2023-07-18 13:23:37 +02:00
albert-github
4e5578d469
issue #7395 Improvement of layout of model relations
...
- based on review
2023-07-15 13:12:15 +02:00
albert-github
a0320dd7b4
Merge branch 'master' into feature/issue_7395
...
# Conflicts:
# Polyhedron/doc/Polyhedron/Concepts/PolyhedronItems_3.h
2023-07-13 10:33:18 +02:00
albert-github
ee2a55279d
issue #7395 Improvement of layout of model relations
...
- Completed the cgalHasModel part
- corrected spelling of `Has Model` and `Is Model Of` to `Has model` and `Is model of`
2023-07-06 17:35:34 +02:00
Laurent Rineau
aca86b9d27
Merge pull request #7500 from MaelRL/AW3-Stop_demo-GF
...
Add stop button for AW3 demo
2023-07-05 16:32:39 +02:00
Sébastien Loriot
0ee31a5d4f
remove extra parenthesis
2023-06-19 19:17:49 +02:00
Sébastien Loriot
bbc4d08ee0
Merge remote-tracking branch 'cgal/master' into HEAD
2023-06-15 10:47:07 +02:00
Sébastien Loriot
c8a88b9014
remove CGAL_static_assertion*
2023-06-15 10:42:10 +02:00
Mael Rouxel-Labbé
5c8acef035
Add the possibility to interrupt AW3 (whether iterative visu is used or not)
2023-06-07 10:29:42 +02:00
Mael Rouxel-Labbé
1c646c0db2
Do not take a const& to the oracle in AW3
...
No changes to existing oracles as AW3's oracles use a shared ptr to AABB Tree
2023-06-07 10:28:35 +02:00
Andreas Fabri
609f8ef7f1
Alpha Wrapping: minor cleanup
2023-06-01 10:58:52 +01:00
Mael Rouxel-Labbé
a69a2f54c6
Rename to avoid conflict with STL
2023-05-16 14:21:27 +02:00
Mael Rouxel-Labbé
7a3ad05e05
Replace some calls of clear() by empty() to preserve internal property maps
2023-05-15 12:41:39 +02:00
Andreas Fabri
0d320e48a8
Merge branch 'Number_types-fix_VC2017_boost_mp-GF' into CORE-boost_mp_number-GF
2023-03-17 08:28:10 +01:00
Laurent Rineau
ea016d7f5b
Merge pull request #6702 from soesau/Region_growing-revision-soesau
...
[Small Feature] Region growing revision soesau
2023-03-02 13:42:32 +01:00
Sébastien Loriot
9e72361537
All packages depends now on CGAL_Core (like Kernel)
2023-02-20 15:24:16 +01:00
Sébastien Loriot
9242a810c4
Merge remote-tracking branch 'cgal/master' into Region_growing-revision-soesau
2023-02-07 11:31:55 +01:00
albert-github
57e900b47c
Making description of author(s) of a package consistent
...
- use `\cgalPckAuthor` in case of one author
- use of `\cgalPckAuthors` in case of multiple authors
- using in case of multiple authors always `, and `
- in the 1.9.6 `BaseDoxyfile.in` let the `\cgalPckAuthors` point to `\cgalPckAuthor` to get consistent output (not done for other versions as in the past the `ALIASES` could not call one another).
2023-02-02 18:40:44 +01:00
Sébastien Loriot
411560a33e
add missing default value
2023-01-26 09:56:25 +01:00
Sébastien Loriot
cd76994056
rename property map and deprecated old name
2023-01-18 13:45:37 +01:00
albert-github
014c06fd19
spelling corrections
...
Some spelling corrections (Directories starting with `A`)
2022-11-14 15:32:47 +01:00
Laurent Rineau
3379f9bf9c
Merge pull request #6998 from sloriot/AW_3-AABB_GT
...
Rename traits class to avoid confusion
2022-11-07 10:08:13 +01:00
Mael
9c2d913636
Also update the name of the include guard
2022-11-01 19:48:55 +01:00
Sébastien Loriot
7a8f91b34c
rename traits class to avoid confusion
2022-11-01 16:09:26 +01:00
Mael Rouxel-Labbé
728be94816
Move some input named parameters to in_np
2022-10-12 09:45:31 +02:00
Mael Rouxel-Labbé
25184ee42c
add some extra verbose in example
2022-09-03 14:00:32 +02:00
Mael Rouxel-Labbé
46c9fa19ab
Add clear() to oracles
2022-09-03 14:00:20 +02:00
Sven Oesau
80eb8601e6
Merge branch 'CGAL:master' into Region_growing-revision-soesau
2022-09-02 16:42:41 +02:00
Laurent Rineau
d49ee20965
Merge pull request #6665 from sloriot/CGAL-std_type_traits
2022-08-17 13:56:54 +02:00
Mael Rouxel-Labbé
5cb3d3f101
Add triangle soup wrap example
2022-08-07 10:12:02 -07:00
Sébastien Loriot
cbabc5f0d3
mesh has been renamed
2022-08-04 08:36:12 +02:00
Sébastien Loriot
c9c6b30cf0
Merge sloriot/CGAL-std_type_traits into master
2022-06-23 16:35:37 +02:00
Sébastien Loriot
4f5f8341cc
use std::enable_if_t
2022-06-10 07:37:53 +02:00
Mael Rouxel-Labbé
beeae185a7
Add a basic visitor to AW3
2022-06-08 12:04:02 +02:00
Mael Rouxel-Labbé
965964e8b8
Visualization with a soup, some colors, alpha shading etc.
2022-06-02 14:25:43 +02:00
Mael Rouxel-Labbé
ae581c865a
Iterative visualization
2022-06-02 02:21:26 +02:00
Mael Rouxel-Labbé
964bcd83ec
Fix unused parameter warning
2022-05-25 09:37:37 +02:00
Mael Rouxel-Labbé
3a64952314
Fix using outside information to erroneously filter bboxes during traversal
2022-05-24 14:31:00 +02:00
Mael Rouxel-Labbé
d56584bf28
Misc minor fixes / improvements
2022-05-24 14:30:42 +02:00
Mael Rouxel-Labbé
fd471ebb5c
Update AW3 examples
2022-05-24 10:10:08 +02:00
Mael Rouxel-Labbé
9fbfd9ac39
AW3 oracle improvements (mostly no longer templated by the data)
2022-05-24 10:08:56 +02:00
Mael Rouxel-Labbé
06053d2186
Allow empty oracle levels
2022-05-24 10:02:57 +02:00
Sebastien Loriot
978d83a349
Merge pull request #6573 from sloriot/CGAL-pedantic_warnings
...
Fix pedantic warnings
2022-05-13 15:55:26 +02:00