Commit graph

76 commits

Author SHA1 Message Date
Jürg Lehni
db82f41151 Update year, author email addresses and links 2020-05-23 22:24:42 +02:00
Jürg Lehni
2ef8175cb8 Boolean: No need to actually check for fill 2019-06-23 04:47:34 +02:00
Jürg Lehni
192437dbe2 Boolean: Avoid winding edge cases
Stay clear from testing winding on actual segments.
Closes #1619
2019-06-23 04:19:20 +02:00
Jürg Lehni
14ce1dc011 Boolean: Correctly handle open filled paths
Closes #1647
2019-06-23 03:24:13 +02:00
Jürg Lehni
978cd94a9e Boolean: Add check for paths with only one segment
Closes #1351
2019-06-22 18:48:16 +02:00
Jürg Lehni
ef8ba35911 Implement unit tests for 3ff5560c0c
Closes #1419, closes #1263
2019-06-22 18:21:47 +02:00
Jürg Lehni
2cb55a839d Update dependencies 2019-06-05 18:13:22 +02:00
sapics
be4199b6eb Update copyright year to 2019 2018-12-27 16:13:01 +09:00
sapics
cfc5a912da Replace url to avoid redirection
Replace http://jonathanpuckey.com to https://puckey.studio
2018-11-14 11:24:32 +01:00
sasensi
9a8aae00bd Fix #1506 #1513 by checking winding quality in boolean subtraction 2018-09-26 14:05:29 +02:00
Jürg Lehni
10f464edfc Boolean: Check that overlaps are on the right path
Closes #1321
2017-10-04 17:52:09 +02:00
Jürg Lehni
a43db8427a Boolean: update documentation and optimize #divide()
#divide() with options.trace = false can call splitBoolean() just once without removing any split sub-paths.

Relates to #1221
2017-03-22 23:45:11 +01:00
Jürg Lehni
3c9d2eea1d Boolean: Implement options.trace, and add unit tests for options.trace = false
Relates to #1221
2017-03-22 15:03:11 +01:00
Jürg Lehni
e354bccf69 Include note about compiling for Electron.
And some smaller forgotten changes.

Closes #1276
2017-03-19 14:38:24 +01:00
Jürg Lehni
cbc873cfd8 Merge pull request #1265 from iconexperience/new-unite-tests
Add some unit tests for boolean unite operations
2017-03-08 15:47:54 +01:00
Jürg Lehni
fd797425e0 Tests: Fix unit test for #1239.
Adjust for increase of found intersections since ecc1edb6ea.
2017-03-07 20:15:59 +01:00
iconexperience
5359bc428e Add some unit tests for boolean unite operations 2017-03-01 14:07:17 +01:00
Jürg Lehni
5c86330d6e Tests: Implement unit test for #1261. 2017-02-26 01:03:35 +01:00
Jürg Lehni
357ff0dd43 Reduce epsilon in fat-line clipping to 1e-12 and adjust unit tests.
These results make much more sense and the algorithm finds less false positives while still behaving reliably in all edge cases.
2017-02-16 14:05:05 +01:00
Jürg Lehni
69c124c36c Merge remote-tracking branch 'origin/improved-reorient' into develop
; Conflicts:
;	src/path/PathItem.Boolean.js
2017-02-04 20:20:21 +01:00
Jürg Lehni
535607931c Unit tests for boolean operations without crossings.
Closes #1113
2017-02-04 20:15:23 +01:00
Jürg Lehni
cf2ebbaaf8 Partly revert 09785a504b
To make the edge-case in #1239 work again. Also add unit tests for edge-case.
2017-01-15 11:34:02 +01:00
Jürg Lehni
2145efb29b Implement more unit tests for #1109
Closes #1109
2017-01-08 15:14:47 +01:00
Jürg Lehni
46fce16bff Fix handling of overlapping paths for subtract and exclude operations.
Closes #1139
2017-01-03 00:50:22 +01:00
Jürg Lehni
80f6dbb5e3 Implement unit test for #1091
Closes #1091
2016-09-24 14:53:36 -04:00
Jürg Lehni
3a49ac4015 Handle paths with only one segment in #resolveCrossings()
Closes #1167
2016-09-20 18:13:47 -04:00
Jürg Lehni
6e7fe67a8d Implement unit tests for #1109. 2016-08-09 10:01:35 +02:00
Jürg Lehni
bcd02129a3 Implement additional unit test for #1054. 2016-07-27 20:12:29 +02:00
Jürg Lehni
14b2d76450 Boolean: Improve handling of visited segments in intersect() operations.
Closes #1123
2016-07-27 19:35:19 +02:00
Jürg Lehni
e643338422 Add options object to boolean operations and improve handling of open paths.
This closes #1036, closes #1072, closes #1089 and closes #1121
2016-07-27 17:09:52 +02:00
Jürg Lehni
a0417040f8 Improve handling of sub-path orientation in CompoundPath.
Remove automatic orientation on insertion, as it caused more troubles than solved problems, in favor of the new PathItem#reorient() method, or the even-odd fill-rule.

Closes #590, #1029
2016-07-21 15:21:45 +02:00
Jürg Lehni
a683486ff5 Some code cleanup for previous commits, and shorten boolean tests a bit. 2016-07-20 16:32:21 +02:00
Jürg Lehni
f988445dad Boolean: Implement optimization for operands without crossings.
Closes #1113
2016-07-20 16:15:10 +02:00
Jürg Lehni
e7c53b904c Implement unit test for #973. 2016-07-18 14:11:34 +02:00
Jürg Lehni
ac97b9d9d7 Implement unit test for #1075 2016-07-17 21:16:52 +02:00
Jürg Lehni
1914e64e4b Fix boolean tests to compare with improved results.
Disovered thanks to @sapics' improved solveCubic() in #1087
2016-07-08 23:05:50 +02:00
Jürg Lehni
0cb9c50e8f Implement unit test for #1054
Closes #1054
2016-06-13 14:54:13 +02:00
Jürg Lehni
ea5a635edf Implement unit tests for #964
Closes #964.
2016-06-13 14:51:38 +02:00
Jürg Lehni
83a20b4c11 Implement unit test for #1059.
Closes #1059.
2016-06-10 12:04:08 +02:00
Jürg Lehni
0e2498bdce Switch to PathItem.create() in unit tests. 2016-02-14 23:22:39 +01:00
Jürg Lehni
8d5c922c50 Simplify code from #971 and activate unit test for it again. 2016-02-14 22:15:55 +01:00
Jürg Lehni
fa6c1f47b4 Hit-Test: Pass viewMatrix as argument instead of in options object. 2016-02-14 13:34:35 +01:00
Jürg Lehni
9c9f43d2c9 Implement failing test for #968 2016-02-14 12:44:03 +01:00
Jürg Lehni
009761d13c Boolean: Only compare segments when determining if paths are identitcal. 2016-02-13 22:58:42 +01:00
Jürg Lehni
3348fb736f Boolean: Implement proper handling of fully overlapping (identical) paths and sub-paths.
Closes #923, closes #958
2016-02-13 22:41:09 +01:00
Jürg Lehni
84a75e375a Remove unnecessary edge-case handling in CurveLocation#isCrossing()
Closes #951, closes #959
2016-02-12 20:52:19 +01:00
Jürg Lehni
8542eb62b4 Gulp: Add test:browser task, to solve CORS issues on Chrome. 2016-02-11 10:05:21 +01:00
Jürg Lehni
0371f66bda Do not snap curve points to t = 0 / 1 with epsilon
Closes #936. Also:
- Reduce CLIPPING_EPSILON to 1e-9 to fix errors that were masked by the snapping
- Implement unit tests for edge cases in #936
2016-02-06 15:12:35 +01:00
Jürg Lehni
4c84c3dad5 Tests: Start getting QUnit tests to work on Node.js
Work in progress…
2016-01-31 12:43:20 +01:00
Jürg Lehni
ab68c5b272 Implement unit tests for #899. 2016-01-12 12:02:27 +01:00