Mael Rouxel-Labbé
70ac415808
Fix warnings
2023-04-06 00:40:52 +02:00
Mael Rouxel-Labbé
a0ed8938d6
Fix warnings
2023-03-27 12:54:56 +02:00
Mael Rouxel-Labbé
66fe07936a
Clean include guards
2023-03-23 11:49:18 +01:00
Mael Rouxel-Labbé
a936b6d2d1
Rename enter_weights > enter_countour_weights
2023-03-23 11:49:01 +01:00
Mael Rouxel-Labbé
298440062f
Update weighted skeleton construction, offsetting, and extrusion to new API
2023-03-18 21:33:40 +01:00
Mael Rouxel-Labbé
8078541f0f
Don't store trisegments in the VertexData as it's already in the Vertex
2023-03-07 01:04:08 +01:00
Mael Rouxel-Labbé
d609a64b0f
Debug code cleaning
2023-03-07 01:03:52 +01:00
Mael Rouxel-Labbé
7b3ef62746
v2 of simply-connected enforcement + extrude for wsls of pwh
2023-03-06 20:44:14 +01:00
Mael Rouxel-Labbé
0404a616a2
Replace boost::intrusive_ptr and its machinery by a simple shared_ptr
2023-03-06 13:24:07 +01:00
Mael Rouxel-Labbé
99671f7867
Use kernel functor
2023-03-04 20:47:36 +01:00
Mael Rouxel-Labbé
8125fb62e1
Avoid needless copies
2023-03-04 20:47:16 +01:00
Mael Rouxel-Labbé
3003518ae9
Fix missing header includes
2023-03-03 23:22:53 +01:00
Mael Rouxel-Labbé
302dfd8846
Add a postprocessing step to ensure that all skeleton faces are simply connected
2023-03-03 15:41:54 +01:00
Mael Rouxel-Labbé
6893d831e3
Remove dangling bisectors ASAP to keep a valid (and printable) SLS HDS
...
Safe because it's a list-based HDS, and we're keeping handles left and
right already anyway.
2023-03-03 02:13:48 +01:00
Mael Rouxel-Labbé
63b7f9cb33
Replace archaic traits usage with _object() (which the concept requires)
2023-03-03 02:10:43 +01:00
Mael Rouxel-Labbé
8782d12930
Implement split event filtering for weighted SLS
2023-02-22 14:30:22 +01:00
Mael Rouxel-Labbé
23a9ab5a49
Improve debug messages
2023-02-22 10:39:54 +01:00
Mael Rouxel-Labbé
d031add9d8
Misc debug improvements
2023-02-20 12:23:27 +01:00
Mael Rouxel-Labbé
62be888c48
Fix precondition
2023-02-13 17:29:20 +01:00
Mael Rouxel-Labbé
15cafdf72c
Clean debug messages
2023-02-13 16:10:21 +01:00
Mael Rouxel-Labbé
80311b730c
Enforce adjacent collinear segments not having different weights
2023-02-13 16:05:10 +01:00
Mael Rouxel-Labbé
f6579ecb2c
Misc minor cleaning
2023-02-11 17:34:02 +01:00
Mael Rouxel-Labbé
090084af98
Fix warning
2023-02-09 23:27:42 +01:00
Mael Rouxel-Labbé
182d693e49
Avoid point copy
2023-02-09 23:27:31 +01:00
Mael Rouxel-Labbé
cb40b63bb3
weighted SLS: weights in trisegment, fix degenerate cases, weighted outer frame
2023-02-09 23:25:52 +01:00
Mael Rouxel-Labbé
ad4b82383d
Debug code improvements
2023-02-09 23:22:21 +01:00
Mael Rouxel-Labbé
fd627e141c
Misc minor fixes
2023-01-27 18:22:28 +01:00
Mael Rouxel-Labbé
114db88652
Add weighted (interior) straight skeletons
2023-01-27 18:17:04 +01:00
Mael Rouxel-Labbé
f767612b24
Merge branch 'SLS-Memorize_trisegments-GF' into SLS-Weighted_skeleton-GF
2023-01-26 10:53:11 +01:00
Mael Rouxel-Labbé
b2d562e582
Store trisegments within SLS vertices
...
This violates the concept, but it replaces storage of triedges, which
was also violating the concept...
2023-01-04 20:41:03 +01:00
Sébastien Loriot
4f5f8341cc
use std::enable_if_t
2022-06-10 07:37:53 +02:00
Mael Rouxel-Labbé
1f45360d7a
Merge remote-tracking branch 'cgal/master' into SDG-Fix_doc-GF
2021-01-26 09:05:24 +01:00
Mael Rouxel-Labbé
6b87fe393d
Fix various grammar issues
2020-12-05 11:11:33 +01:00
Mael Rouxel-Labbé
7d311d3ad5
Fix taking the middle of the gap between e2 and e0 as seed of the bissector
...
See code for more information.
2020-11-27 13:56:17 +01:00
Mael Rouxel-Labbé
c502e935f9
Misc minor improvements
2020-11-27 13:56:17 +01:00
Mael Rouxel-Labbé
7385ebb806
Refresh priority queues before calling top() if simultaneous events are present
2020-11-09 18:22:33 +01:00
Mael Rouxel-Labbé
9c8aeb0242
Fix strict ordering's asymmetry condition not being satisfied in Split Event PQ
2020-11-06 17:27:43 +01:00
Mael Rouxel-Labbé
d609a9607e
Fix Split Queue Comparer in edge case of two invalid pseudo-splits
2020-11-06 17:26:59 +01:00
Sébastien Loriot
d493dfce88
exclude speed harmonization at compile time
2020-11-03 11:09:15 +01:00
Mael Rouxel-Labbé
05e4c44216
Misc minor fixes
2020-10-16 14:38:11 +02:00
Mael
c5326a4832
Commit fixes from @sloriot's review
...
Co-authored-by: Sebastien Loriot <sebastien.loriot@cgal.org>
2020-10-13 09:56:32 +02:00
Mael Rouxel-Labbé
145f204517
Misc minor fixes
2020-10-09 18:36:53 +02:00
Mael Rouxel-Labbé
6bba0da37f
Various minor fixes
2020-10-06 17:54:24 +02:00
Mael Rouxel-Labbé
75137526b6
Misc tiny fixes
2020-10-05 18:35:08 +02:00
Mael Rouxel-Labbé
b6333ed459
Harmonize speeds of collinear input segments + caching for non-filtered kernels
2020-10-05 18:29:34 +02:00
Mael Rouxel-Labbé
2930624d7f
Prevent tangleness in multisplits using certified angle-based local queue sorts
...
The goal is to prevent multi splits that can cross each other without noticing.
such as a square with four square holes, and two diagonal splits
in the middle.
Local split queues are sorted to give priority to the smallest angle among possible split
events, we forbid diagonal splits and thus a later split cannot have
a triedge with two different subparts of the polygon.
The exact criterion for sorting is the angle within a triedge,
between the bisector and the supporting line of e2 (possibly swapped
in case of pseudo-splits, see code).
2020-09-29 20:02:06 +02:00
Mael Rouxel-Labbé
4d85f845e7
Enhance debug output
2020-09-29 20:00:55 +02:00
Mael Rouxel-Labbé
655d4275f6
Add missing header includes in SS2
2020-09-11 15:00:27 +02:00
Mael Rouxel-Labbé
79378f6871
Do multiple passes to remove multi nodes
...
Fix for https://github.com/CGAL/cgal/issues/4533
In a configuration like in Issue 4533, there are a lot of faces
with multi-nodes, with all degenerate halfedges being
the same vertex (the origin). Because of locks in the current implementation,
it is not possible to (combinatorially) collapse all degenerate halfedges
at once.
With this fix, the algorithm attempts to collapse multiple times, until
nothing can be done.
A better fix would be to rewrite the way halfedges are collapsed,
but this is a lot of work, so this quick fix will be used for now.
In theoretical degenerate cases, the complexity could be quadratic,
but it should never happen in real life (the norway data set
or example does not even have multi-nodes)
2020-09-02 18:15:02 +02:00
Sébastien Loriot
587d402452
use local lists instead of a global one for lookup on SLAV
2020-08-19 17:20:19 +02:00