Mael Rouxel-Labbé
0e0ec53fd8
Fix overly zealous check: if den is 0, it's not a failure but a non-event
2023-03-15 18:40:05 +01:00
Mael Rouxel-Labbé
cfbb0d3f68
Simplify expression in the case of vertical lines
2023-03-15 18:39:37 +01:00
Mael Rouxel-Labbé
e548ff26eb
Paint input SLS points black
2023-03-13 12:11:00 +01:00
Mael Rouxel-Labbé
113f28a75e
Add accidentally untracked header
2023-03-10 16:43:09 +01:00
Mael Rouxel-Labbé
8b15d03b50
Move extrude_skeleton.h to its own package
2023-03-10 16:40:19 +01:00
Mael Rouxel-Labbé
ede4de77e0
Fix compilation error
2023-03-10 12:23:24 +01:00
Mael Rouxel-Labbé
7a9e011798
Minor debug code improvement
2023-03-10 12:23:24 +01:00
Mael Rouxel-Labbé
9acc2fa605
Use the actual coefficients to determine the collinearity
...
See comment in the commit.
See https://github.com/CGAL/cgal/issues/7284
2023-03-10 12:22:32 +01:00
Mael Rouxel-Labbé
bcc654237e
More or less revert a184569 (use std::hypot) due to regressions
2023-03-10 12:22:12 +01:00
Mael Rouxel-Labbé
6bae386f91
Minor restructuring for clarity
2023-03-10 09:24:57 +01:00
Mael Rouxel-Labbé
fa20e12e55
Add an accessor for Segment_with_ID_2
2023-03-10 09:24:34 +01:00
Mael Rouxel-Labbé
780f0ab9e4
Remove unused functor from traits model
2023-03-10 09:24:16 +01:00
Mael Rouxel-Labbé
59e7dde24c
Fix creation of vertices with height greater than prescribed in SLS extrusion
2023-03-08 19:01:14 +01:00
Mael Rouxel-Labbé
ad4846805f
Fix filtering bound computation; extend it to support weighted skeletons
2023-03-08 15:39:52 +01:00
Mael Rouxel-Labbé
06a08ecf54
Rename function
2023-03-07 01:04:48 +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é
d212269196
Cache points
...
Gain pretty much nothing speedwise (on a quick test on norway.dat),
but it's a little less verbose at least...
2023-03-06 22:36:27 +01:00
Mael Rouxel-Labbé
fb080e2685
Misc tiny fixes / cleaning
2023-03-06 20:45:31 +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é
f635c61475
Fix trisegment print
2023-03-05 21:42:29 +01:00
Mael Rouxel-Labbé
cc26b71886
Fix not setting up slopes on artificial bisectors
2023-03-04 20:49: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é
687e8d0911
Discourage partial weighted skeletons of polygons with holes
2023-03-03 23:35:16 +01:00
Mael Rouxel-Labbé
3003518ae9
Fix missing header includes
2023-03-03 23:22:53 +01:00
Mael Rouxel-Labbé
ac361834db
Restore skeleton reset on failure
...
Revert 1f98344908
2023-03-03 23:21:02 +01:00
Mael Rouxel-Labbé
9779807a40
Clarify some comments describing the algorithm
2023-03-03 16:52:56 +01:00
Mael Rouxel-Labbé
da9674a63e
Fix missing set_halfedge() on right side of split
2023-03-03 16:51:38 +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é
7b87eea95a
Handle reconnection of fictuous fronts
...
Can happen for weighted polygon with holes
2023-03-03 15:40:13 +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é
3c9c0dae52
Remove undocumented functors from traits
2023-03-03 02:10:47 +01:00
Mael Rouxel-Labbé
fd770a9763
Fix debug code + debug code improvements
2023-03-03 02:10:47 +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é
a00b48a3c6
Harmonize regardless of the weight (since unweighted line coeffs are stored)
2023-03-01 13:46:48 +01:00
Mael Rouxel-Labbé
6452ad0e41
Do not take SLS weights (speed ranges) by reference
2023-02-28 16:46:30 +01:00
Mael Rouxel-Labbé
d3398ce00d
Allow downward extrusion
2023-02-28 16:46:30 +01:00
Mael Rouxel-Labbé
baebae65b5
Dump outputs in taper testsuite
2023-02-28 16:46:23 +01:00
Mael Rouxel-Labbé
90877e18b5
Add SLS/extrude_skeleton.h
2023-02-24 18:50:53 +01:00
Mael Rouxel-Labbé
fdf1823336
Fix offset point coordinates
2023-02-23 14:48:45 +01:00
Mael Rouxel-Labbé
39ec19b940
Clarify comment
2023-02-23 11:23:23 +01:00
Mael Rouxel-Labbé
d7eaa7782e
Give more (visual) breathing room by increasing the weights of the outer frame
...
This is purely cosmetic, it makes it so the bisectors of the input polygon
will end closer to the outer frame (a larger weight means one's face
is smaller).
2023-02-23 11:15:09 +01:00
Mael Rouxel-Labbé
b3523fd879
Misc debug improvements
2023-02-23 11:14:48 +01:00
Mael Rouxel-Labbé
f7533877e2
Fix offset point construction not taking weights into account in collinear cases
2023-02-23 11:13:28 +01:00
Mael Rouxel-Labbé
e9e6c35eea
Temporarily disable split event filtering (currently broken for weighted SLS)
2023-02-23 10:37:25 +01:00
Mael Rouxel-Labbé
4952eb2ac7
Remove intrinsic assertions
...
Never used + has false negatives
2023-02-23 10:35:29 +01:00
Mael Rouxel-Labbé
8d5484919a
Fix compilation
2023-02-22 14:47:50 +01:00
Mael Rouxel-Labbé
8782d12930
Implement split event filtering for weighted SLS
2023-02-22 14:30:22 +01:00
Mael Rouxel-Labbé
5ceb8227df
Fix missing namespace
2023-02-22 14:30:02 +01:00
Mael Rouxel-Labbé
732559e80b
Cache unweighted coefficients instead of weighted coefficients
2023-02-22 14:29:39 +01:00
Mael Rouxel-Labbé
2b052e00ea
Use inexact_norm() rather than inexact_sqrt(aLV.aLV)
2023-02-22 11:03:03 +01:00
Mael Rouxel-Labbé
a1845691d5
Use std::hypot rather than explicitely computing sqrt(x²+y²)
2023-02-22 11:01:36 +01:00
Mael Rouxel-Labbé
23a9ab5a49
Improve debug messages
2023-02-22 10:39:54 +01:00
Mael Rouxel-Labbé
1ffde0eeaf
Simplify is_equal + is_smaller into a single compare() call
2023-02-20 16:18:26 +01:00
Mael Rouxel-Labbé
d06f58fc70
Doc improvements
2023-02-20 16:18:05 +01:00
Mael Rouxel-Labbé
a93a083df6
Avoid needless constructions if the midpoint is an input point
2023-02-20 16:16:51 +01:00
Mael Rouxel-Labbé
606bef047b
Do not compute a second SideOfBisector if the first one failed
2023-02-20 16:16:02 +01:00
Mael Rouxel-Labbé
5e56614d03
Fix subtle inconsistency between line displacement representations
...
Rarely resulted in broken skeletons on very regular inputs
See comments in the code.
2023-02-20 15:49:36 +01:00
Mael Rouxel-Labbé
f4c1f204ad
Re-introduce compute_noralized_line_coeffs (useful when weights are not used)
2023-02-20 14:33:58 +01:00
Mael Rouxel-Labbé
d031add9d8
Misc debug improvements
2023-02-20 12:23:27 +01:00
Mael Rouxel-Labbé
8cfbefdcc1
Do not needlessly compare norms, weights are enough
2023-02-16 15:05:47 +01:00
Mael Rouxel-Labbé
4dfd622a64
typename K::Obj rather than Obj<K> since we don't control the traits in theory
2023-02-16 15:05:10 +01:00
Mael Rouxel-Labbé
15c674d5c9
Move helper classes to SLS_aux.h
2023-02-14 14:59:10 +01:00
Mael Rouxel-Labbé
9c5842625b
Add missing defaults in collinear enum switch
2023-02-14 14:42:26 +01:00
Mael Rouxel-Labbé
8dc23b8051
Fix CI compilation errors
2023-02-14 13:30:00 +01:00
Mael Rouxel-Labbé
1f98344908
Temporarily do not abort if the returned skeleton is invalid
...
For polygons with holes
2023-02-14 13:03:38 +01:00
Mael Rouxel-Labbé
68067c039f
Merge remote-tracking branch 'cgal/master' into SLS-Weighted_skeleton-GF
2023-02-14 12:26:50 +01:00
Mael Rouxel-Labbé
38312c1e63
Use 'FT' as template parameter rather than 'Traits'
2023-02-14 10:04:03 +01:00
Mael Rouxel-Labbé
bc9e01a08d
Misc minor fixes
2023-02-14 00:19:22 +01:00
Mael Rouxel-Labbé
6a44bf6244
Simplify outer frame offset removal: the outerframe is always at [0]
2023-02-14 00:18:55 +01:00
Mael Rouxel-Labbé
13cdc1004e
Temp. disable an optimization and an assertion (not yet compatible w/ WSLS)
2023-02-13 23:46:17 +01:00
Mael Rouxel-Labbé
9d43ea40df
Fix weight order in exterior skeletons
2023-02-13 23:44:09 +01:00
Mael Rouxel-Labbé
0582f5fd42
Misc minor debug fixes
2023-02-13 23:43:37 +01:00
Mael Rouxel-Labbé
2d0ba983ba
Align IO precision to 17
2023-02-13 17:42:09 +01:00
Mael Rouxel-Labbé
62be888c48
Fix precondition
2023-02-13 17:29:20 +01:00
Mael Rouxel-Labbé
c6f23d0bc1
Do not generate different weights for adjacent collinear input segments
2023-02-13 17:28:30 +01:00
Mael Rouxel-Labbé
15cafdf72c
Clean debug messages
2023-02-13 16:10:21 +01:00
Mael Rouxel-Labbé
62a2c9745a
Initialize weights to 1 to make it seamless for unweighted SLS
2023-02-13 16:07:32 +01:00
Mael Rouxel-Labbé
3c7339933b
Minor fixes for weighted trisegments
2023-02-13 16:06:37 +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é
b51b4d8713
Fix SLS iterators to actually handle all possible models
2023-02-13 16:04:33 +01:00
Mael Rouxel-Labbé
f6579ecb2c
Misc minor cleaning
2023-02-11 17:34:02 +01:00
Mael Rouxel-Labbé
56fa7b9099
Fix time and intersection computations for collinear segments with != weights
2023-02-10 16:59:08 +01:00
Mael Rouxel-Labbé
4bdd91da80
Specify template to avoid ambiguous call
2023-02-10 16:58:33 +01:00
Mael Rouxel-Labbé
bc7dce7d85
Fix missing semicolon
2023-02-10 16:55:44 +01:00
Mael Rouxel-Labbé
62c3212a6c
Do not call visitor on duplicate offset points
2023-02-10 16:55:33 +01:00
Mael Rouxel-Labbé
dea1a65631
Add weighted SLS offset functions
2023-02-09 23:30:40 +01:00
Mael Rouxel-Labbé
7449c7419a
Do not needless lose precision in outer frame computations
2023-02-09 23:28:52 +01:00
Mael Rouxel-Labbé
c25c407b81
Remove unused trisegment member (EventTriedge was replaced by a Trisegment)
2023-02-09 23:27:56 +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é
7390209a54
Enhance visitor API
2023-02-09 23:27:14 +01:00
Mael Rouxel-Labbé
9d9a51731a
Fix typo
2023-02-09 23:27:01 +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é
f58cd7fb9d
Make Compare_offset_against_event_time() public
2023-02-09 23:16:35 +01:00
Mael Rouxel-Labbé
5b89b81f8b
Deactivate the "is_simple_2" precondition for strictly simple poly orientation
...
Recent changes to set_use_assertions have made it so that you need to also
define a macro to be able to use it, which makes it very unpractical.
2023-02-09 23:12:40 +01:00
Laurent Rineau
5f8930db8c
Merge branch '5.5.x-branch'
...
# Conflicts:
# Convex_hull_2/test/Convex_hull_2/ch_test_CH.cpp
# Convex_hull_2/test/Convex_hull_2/ch_test_SC.cpp
# Convex_hull_2/test/Convex_hull_2/ch_test_SH.cpp
# Convex_hull_2/test/Convex_hull_2/ch_test_SS.cpp
# Straight_skeleton_2/include/CGAL/constructions/Straight_skeleton_cons_ftC2.h
# Straight_skeleton_2/include/CGAL/predicates/Straight_skeleton_pred_ftC2.h
2023-01-27 21:16:14 +01:00