Commit Graph

529 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé e5f18d66f2 Fix set-but-unused-variable warning 2023-04-27 11:58:19 +02:00
Mael Rouxel-Labbé 78362cb7a9 Fix getting wrong split event L/R halfedges after closing a strait 2023-04-20 15:49:44 +02:00
Mael Rouxel-Labbé a67fe59678 Fix ordering of articial events in presence of non-canonical split halfedges 2023-04-19 12:17:29 +02:00
Mael Rouxel-Labbé 4f923e5c4e Add namespace 2023-04-12 17:28:04 +02:00
Mael Rouxel-Labbé 70ac415808 Fix warnings 2023-04-06 00:40:52 +02:00
Mael Rouxel-Labbé 5e1231c8db Add missing crucial part of 5372f67 which somehow got lost in the void 2023-04-06 00:02:00 +02:00
Mael Rouxel-Labbé c95cbe559e Misc minor comments 2023-03-31 12:49:10 +02:00
Mael Rouxel-Labbé 5372f6737d Do not break harmonization by mistakenly resetting coeff caches
Resetting is only for trisegment IDs!!
2023-03-31 12:49:10 +02:00
Mael Rouxel-Labbé fbd4d2aac4 Remove unused function with obsolete implementation 2023-03-27 15:57:53 +02:00
Mael Rouxel-Labbé d62f376d63 Fix resetting wrong edge caches
Not only is it useless, it's harmful if coeff harmonization has been performed!
2023-03-27 15:55:59 +02:00
Mael Rouxel-Labbé 607e987809 Sprinkle preconditions 2023-03-27 12:59:19 +02:00
Mael Rouxel-Labbé 73029183f3 Fix compilation error 2023-03-27 12:59:07 +02:00
Mael Rouxel-Labbé a0ed8938d6 Fix warnings 2023-03-27 12:54:56 +02:00
Mael Rouxel-Labbé 228db6b3ef Fix missing license / namespace 2023-03-25 00:15:48 +01: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é d55d6c8f01 Factorize print.h into SLS's IO 2023-03-23 11:44:45 +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é 2317fe5d31 Remove useless function `create_weighted_offset_2` (just use the weightless one) 2023-03-17 00:12:39 +01:00
Mael Rouxel-Labbé 68c7bd1e61 Add missing include headers 2023-03-17 00:12:17 +01:00
Mael Rouxel-Labbé 4d609af19f Improve comments detailing equations 2023-03-15 18:41:47 +01:00
Mael Rouxel-Labbé a4110be446 Misc tiny code improvements 2023-03-15 18:41:36 +01:00
Mael Rouxel-Labbé fb348a12ac Fix wrongly detecting events for parallel but not collinear contour edges 2023-03-15 18:40:38 +01:00
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