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
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é
3b57f6c4f5
Add missing header include
2020-10-12 11:01:10 +02:00
Mael Rouxel-Labbé
145f204517
Misc minor fixes
2020-10-09 18:36:53 +02:00
Mael Rouxel-Labbé
6601a5ec93
Extract CGAL::Trisegment_2 from _aux.h (needs to be documented for concepts)
2020-10-09 14:35:29 +02:00
Mael Rouxel-Labbé
9051fc1d23
Overhaul & enhance SLS's free functions to provide & complete the advertised API
2020-10-08 22:54:11 +02:00
Mael Rouxel-Labbé
e9c3531145
Fix missing namespace
2020-10-08 22:36:36 +02:00
Mael Rouxel-Labbé
7309da88c1
Misc minor fixes
2020-10-07 19:36:32 +02:00
Mael Rouxel-Labbé
14644c4ae6
Fix false positive assertions in offset construction:
...
If the constructions are not exact, you might get a degenerate polygon
even if predicate-wise it is not a degenerate polygon (Hook inside).
Let's ignore degenerate polygons in that case.
2020-10-07 19:33:36 +02:00
Mael Rouxel-Labbé
13f19c4ff1
Template Trisegment_2 with the inner Segment type
...
Needed because it is now documented
2020-10-07 19:28:54 +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é
e3679d1441
Print vertex and halfedge IDs in the basic drawers
2020-09-25 09:08:15 +02:00
Mael Rouxel-Labbé
a7af1ab048
Add some more debug dumps
2020-09-25 09:07:52 +02:00
Mael Rouxel-Labbé
3b584d1167
Add a convenience function to get the other collinear edge
2020-09-25 09:06:57 +02:00
Mael Rouxel-Labbé
9c80bf709c
Check for non-degenerate edges in the skeleton's validity functions
2020-09-25 09:06:10 +02:00
Mael Rouxel-Labbé
250b0628e8
Fix some bisectors sometimes being left marked as visited
2020-09-16 19:21:12 +02:00
Mael Rouxel-Labbé
7fb8cd8b80
Always exit faces ASAP when constructing offset to handle nm configurations
2020-09-16 19:19:49 +02:00
Mael Rouxel-Labbé
9e2085e030
Fix offset time conversions missing an intermediate conversion
2020-09-16 12:56:11 +02:00
Mael Rouxel-Labbé
2a10bdb3d6
Fix taking an extra prev()
2020-09-15 17:37:58 +02:00