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
Laurent Rineau
c5176ef327
Merge pull request #7166 from MaelRL/SLS-Memorize_trisegments-GF
...
Fix seed computation in SLS offset computation
2023-01-27 20:52:10 +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é
46ba764a8e
Reorganise skeleton_HDS::halfedge model accessors
2023-01-27 18:10:01 +01:00
Mael Rouxel-Labbé
a72c871bf9
Distinguish between Protector usage and split filtering
2023-01-27 18:08:27 +01:00
Mael Rouxel-Labbé
d3e8fadb33
Cache's get / is_cached are const
2023-01-27 18:06:55 +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é
aa1cb4b664
Add missing include
2023-01-05 12:39:58 +01:00
Mael Rouxel-Labbé
6b5954d2cf
Remove another unused function which isn't part of the concept
2023-01-04 22:11:13 +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
Mael Rouxel-Labbé
2410d8e304
Reduce the (large) delta between SLS HDS concepts and models...
2023-01-04 16:36:34 +01:00
Mael Rouxel-Labbé
c38ff2b4e2
Move Segment_2_with_ID to aux
2023-01-04 16:26:31 +01:00
Mael Rouxel-Labbé
b1b7cacf42
Minor debug improvements
2023-01-04 16:26:09 +01:00
Mael Rouxel-Labbé
e2f1940747
Fix spelling
2023-01-04 16:17:15 +01:00
Mael
0ff7882997
Merge branch 'master' into feature/bug_documentation_spell_20221113
2022-12-06 22:21:06 +01:00
Mael Rouxel-Labbé
b5c21e1f5d
Http -> https + update some dead links
2022-11-23 18:54:37 +01:00
albert-github
c32b1f4127
spelling corrections
...
Some spelling corrections (Directories starting with `S` rest - `W`),
2022-11-16 13:22:39 +01:00
albert-github
45478184de
spelling corrections
...
Some spelling corrections (Directories starting with `E`-` L`),
some backward work
some forward work
2022-11-15 13:39:40 +01:00
Guillaume Damiand
d1eed1dc0f
start straight skeleton 2, NYF
2022-10-18 16:14:23 +02:00
Guillaume Damiand
24a8004ee0
Merge branch 'master' into gsoc2022-EBVs-Mostafa-ashraf19
2022-10-14 08:53:12 +02:00
Mostafa-ashraf19
68b031e113
Uses overloading functions instead of different fill_buffer names.
2022-10-04 18:43:14 +02:00
Andreas Fabri
9b357c6aff
Reintroduce the runtime switch to enable/disable assrtions
2022-10-04 10:35:05 +01:00
Mostafa-ashraf19
796ec13391
Modified GraphicBuffer class name to snake case.
2022-10-03 13:27:22 +02:00
Mostafa-ashraf19
273ead7ab4
Added two versions of add in SS2
2022-10-01 19:07:09 +02:00
Andreas Fabri
15c0ead499
Straight_skeleton_2
2022-09-27 09:34:25 +01:00
Mostafa-ashraf19
fcdad212b5
Applied new APIs version on Straight skeleton 2.
2022-09-24 00:50:13 +02:00
Sébastien Loriot
861588abe1
Merge 'sloriot/CGAL-std_type_traits' into master
2022-08-03 20:19:51 +02:00
Sébastien Loriot
12795ba29c
Merge remote-tracking branch 'cgal/5.4.x-branch' into HEAD
2022-07-12 18:21:16 +02:00
Sébastien Loriot
45b5fd43f8
fix more warnings
2022-07-12 18:18:34 +02:00
Sébastien Loriot
6462cac12e
move back functions \o^o/
2022-06-23 16:29:11 +02:00
Sébastien Loriot
ccb0db385b
make create_exterior_skeleton_and_offset_polygons_with_holes_2 ignore the offset of the outer frame
2022-06-23 14:00:16 +02:00
Sébastien Loriot
f6680b793f
move function in right header
2022-06-23 14:00:16 +02:00
Sébastien Loriot
79693c5674
add exterior offset parts of polygon with holes
2022-06-23 14:00:16 +02:00
Sébastien Loriot
1b5ad071ff
move function in right header
2022-06-23 14:00:16 +02:00
Sébastien Loriot
3fa436459d
BOOST_MPL_ASSERT -> static_assert
2022-06-10 08:46:01 +02:00
Sébastien Loriot
ac8b6d4731
boost::is_same --> std::is_same
2022-06-10 08:18:20 +02:00
Sébastien Loriot
4f5f8341cc
use std::enable_if_t
2022-06-10 07:37:53 +02:00
Laurent Rineau
6e114b31ae
Merge pull request #6107 from efifogel/Polygon-fixes-efif
...
Polygon fixes efif
# Conflicts:
# Installation/CHANGES.md
2022-03-18 15:59:58 +01:00
Andreas Fabri
2a513a0195
Clean up Straight_skeleton as Unique_hash_map is not used at all
2022-03-09 13:23:07 +00:00
Sébastien Loriot
5f23e76911
Merge remote-tracking branch 'efifogel/Polygon-fixes-efif' into HEAD
2022-02-01 20:08:56 +01:00
Guillaume Damiand
2bbcabe71b
The size of argv array is now 2, ending with nullptr.
2021-11-11 17:23:37 +01:00
Guillaume Damiand
ee11c858b5
The size of argv array is changed to 1 in all basic viewers.
2021-11-10 09:59:48 +01:00
Efi Fogel
4dbf509f7c
Fixed GeneralPolygonWithHoles_2 concept: requires now nested Polygon_2 type instead of General_polygon_2
2021-11-03 18:16:40 +02:00
Sébastien Loriot
74c029cc68
Merge remote-tracking branch 'sloriot/CGAL-restore_rounding_mode-5.3'
2021-09-09 11:44:36 +02:00
Sébastien Loriot
6bae0e3939
Merge remote-tracking branch 'sloriot/CGAL-restore_rounding_mode'
2021-09-09 11:09:16 +02:00
Sébastien Loriot
c8624ee0b3
check that the rounding mode when doing exact computation is to-nearest
2021-09-09 11:01:03 +02:00
Sébastien Loriot
106645ec2e
make sure the rounding mode is to nearest when doing exact computations
...
Thoses changes should have been done when the code was modified for
CGAL_CFG_FPU_ROUNDING_MODE_UNWINDING_VC_BUG
2021-09-09 09:55:16 +02:00
Maxime Gimeno
a3d1765ab4
Merge remote-tracking branch 'cgal/master' into CGAL-Clean_up_boost_versions-maxGimeno
2021-07-19 14:18:40 +02:00
Laurent Rineau
2c4a5db3ce
Merge pull request #5631 from GilesBathgate/STL_ext-fix_uncaught_exceptions_cleanup-GilesBathgate
...
Fix uncaught exceptions cleanup
2021-05-18 18:14:14 +02:00
Maxime Gimeno
393ae7dae6
Clean-up boost_version reqs
2021-05-12 15:03:53 +02:00
Sébastien Loriot
cfc0fee1c4
add missing IO namespace
2021-05-04 14:58:55 +02:00
Sébastien Loriot
fb6f703b55
IO namespace for files in IO directories
2021-05-04 14:36:06 +02:00
Giles Bathgate
5ecd85248a
Fix capitalisation of macro name.
2021-04-28 21:03:45 +01:00
Giles Bathgate
0ef8127c71
The CGAL_NOEXCEPT macro is no longer needed
2021-04-28 21:03:00 +01:00
Sébastien Loriot
1e249afdb3
remove some boost::bind
2021-01-06 12:59:11 +01:00
Giles Bathgate
a7abec0a42
Add noexcept to Ref_counted_base in Straight_skeleton_aux.h
2020-11-29 15:21:49 +00:00
Laurent Rineau
21755b1123
Merge pull request #5245 from GilesBathgate/create-assertions-fix
...
Allow -DNDEBUG and CGAL_nnn_assertions at the same time
2021-03-24 15:05:41 +01:00
Mael Rouxel-Labbé
5efa544734
Merge remote-tracking branch 'cgal/master' into SDG-Fix_doc-GF
2021-02-22 17:19:40 +01: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
Giles Bathgate
07120b82fa
Add missing header includes
2020-12-04 19:42:21 +00:00
Giles Bathgate
5a36ff89b5
Drop NDEBUG it is already visible through CGAL_NO_ASSERTIONS
2020-12-04 19:42:21 +00:00
Mael Rouxel-Labbé
b43e578322
Misc cleaning
2020-11-27 14:01:41 +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
Jane Tournois
29b6963b98
add missing include and namespace
2020-11-06 12:28:30 +01:00
Sébastien Loriot
314db57a38
disable polygon assertion
...
allow strictly simple polygons and epick construction issues
2020-11-06 12:03:15 +01:00
Sébastien Loriot
e1dd96414d
use non-protected interval type and use protector
...
guarantee that the same rounding mode will be used when approximating
the exact value to interval
2020-11-06 10:43:08 +01:00
Sébastien Loriot
dd49cb6035
remove unused variable
2020-11-06 10:10:11 +01:00
Sébastien Loriot
3d6e976770
add extra checks to make sure we do not use intervals with the wrong rounding mode
2020-11-03 11:40:24 +01:00
Sébastien Loriot
1d2af01102
add missing protector
2020-11-03 11:09:15 +01:00
Sébastien Loriot
d493dfce88
exclude speed harmonization at compile time
2020-11-03 11:09:15 +01:00
Mael Rouxel-Labbé
7fccb08191
Fix disabling harmonization for everything instead of just EPECK_w_SQRT
2020-11-02 18:47:41 +01:00
Sébastien Loriot
6221751bf1
fix warning
2020-11-02 15:27:39 +01:00