Jürg Lehni
535607931c
Unit tests for boolean operations without crossings.
...
Closes #1113
2017-02-04 20:15:23 +01:00
Jürg Lehni
9af936514e
Minor code cleanups.
2017-02-04 20:14:35 +01:00
Jürg Lehni
a410aafaf2
Remove unused property.
2017-01-24 06:52:27 -05:00
Jürg Lehni
8bbbe149ea
More simplifications related to reorientPaths()
2017-01-22 12:08:54 -05:00
Jürg Lehni
f77621f67d
Various improvements to new reorient() code
...
- Merge insideWindings object with operators lookup
- Optimize handling of excluded paths
- Improve contour handling in unite operations
2017-01-22 11:44:40 -05:00
iconexperience
61df327bc2
Implement improved reorientation of paths, that can also be used by non-crossing boolean operations.
2016-12-17 18:43:48 +01:00
Jürg Lehni
4281800585
Added missing apostrophe.
...
Closes https://github.com/paperjs/paperjs.org/pull/25
2016-12-01 21:45:38 -05:00
Jürg Lehni
1f822b1faa
Merge pull request #1155 from iconexperience/propagateWinding-pythagoras-fix
...
Use correct value for y 45 degree tangent
2016-11-28 18:50:11 -05:00
Jürg Lehni
63cb7bd536
Merge pull request #1193 from iconexperience/patch-1
...
Fix two issues in PathItem.compare()
2016-11-22 19:05:06 -05:00
Jürg Lehni
d779789b6f
PaperScript: Prevent invalid JavaScript in assignment operators.
...
Closes #1151
2016-11-20 21:12:02 -05:00
Jürg Lehni
3c43a78c53
Properly handle generated IDs in SVG export.
...
Closes #1138
2016-11-20 20:53:41 -05:00
Jürg Lehni
8946f44ed9
Fix curve-bounds check in getIntersections()
...
Closes #1197
2016-11-20 20:19:38 -05:00
Jan
eef2297935
Fix two issues in compare()
...
Variable `count` was never initialized, so incrementing resulted in a NaN.
Creating `paths2` failed if `path._children` was `undefined`.
2016-11-04 15:09:28 +01:00
Jürg Lehni
6dd7cc5b6a
Fix imprecision in Numerical.findRoot()
...
Results can be slightly outside of the range.
Close #1149
2016-09-24 15:39:09 -04:00
Jürg Lehni
80f6dbb5e3
Implement unit test for #1091
...
Closes #1091
2016-09-24 14:53:36 -04:00
Jürg Lehni
7dd0b852c8
Remove further unneeded GEOMETRIC_EPSILON curve-end checks.
2016-09-24 14:48:42 -04:00
Jürg Lehni
287f48a0db
Implement unit test for #1165
...
Closes #1165
2016-09-24 14:34:46 -04:00
Jürg Lehni
b37b8cc495
Improve reliability of Curve.getIntersection()
...
Reduce epsilon when checking against curve end points from GEOMETRIC_EPSILON to EPSILON.
Coses #1174
2016-09-24 14:28:43 -04:00
Jürg Lehni
3eafd5256a
Fix omission in recent renaming.
2016-09-24 14:17:20 -04:00
Jürg Lehni
620cc92379
Include pkg-config dependency on Debian / Ubuntu.
...
See #1173
2016-09-23 18:24:20 -04:00
Jürg Lehni
fbb0c59598
Always use un-scaled curve-time in divideLocations()
...
Fixes #1169
2016-09-23 06:55:12 -04:00
Jürg Lehni
d3ac1b4c94
Prevent CurveLocation#toString() calls in bitwise xor comparison.
...
See https://twitter.com/juerglehni/status/778962612197453824
2016-09-22 10:44:23 -04:00
Jürg Lehni
dbe3aa42ec
Fix typo in error message.
2016-09-22 10:42:47 -04:00
Jürg Lehni
b4f6cde203
Tests: Handle null values when comparing items.
2016-09-20 18:43:02 -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
0af4c5c0f1
Introduce Curve#hasLength() as an optimized check for curve-length.
...
And use it where it make sense.
Relates to https://github.com/paperjs/paper.js/issues/1109#issuecomment-234352266
2016-09-20 17:59:56 -04:00
Jürg Lehni
56cfdd9ab6
Only use precommit and prepush hooks when working on develop branch.
...
This should solve @iconexperience's troubles outlined in https://github.com/paperjs/paper.js/issues/1116#issuecomment-244037792
2016-09-20 17:07:38 -04:00
Jürg Lehni
befac6b8da
Update gulp-qunits to fix build problems on Node.js v4.5.0
2016-09-20 16:25:14 -04:00
Jan
3b8d3cc47d
Use Math..SQRT1_2 instead of 0.7071
...
Makes code easier to understand.
2016-08-31 23:29:35 +02:00
Jan
f160e74936
Use correct value for y 45 degree tangent
...
I got the pythagoras wrong when I wrote this. The length of the tangent vector is 1, therefore the y component is sqrt(0.5) for 45°. This will not make any difference, but still we should use the correct value.
2016-08-31 10:05:47 +02:00
Jürg Lehni
6e7fe67a8d
Implement unit tests for #1109 .
2016-08-09 10:01:35 +02:00
Jürg Lehni
cecd95e039
SVG: Correctly handle multiple sequential move commands.
...
Closes #1134
2016-08-07 21:36:03 +02:00
Jürg Lehni
7a63afc769
Clean up Layer unit tests a bit.
2016-08-07 15:58:54 +02:00
Jürg Lehni
0396446c4c
Boolean: Clean up previous fix.
2016-08-07 15:55:27 +02:00
Jürg Lehni
e3dae5f96f
Merge pull request #1133 from sapics/remove-layer
...
Fix to remove named layer
2016-08-07 15:55:17 +02:00
sapics
31690cb6b6
Fix to remove named layer
2016-08-06 11:00:29 +09:00
Jürg Lehni
75a10fb246
Boolean: Clear branch so we start with a new one on the next contour.
2016-08-04 12:21:58 +02:00
Jürg Lehni
79661c35e6
Some code cleanup in View#setViewSize()
2016-08-03 13:33:58 +02:00
Jürg Lehni
91371c1b47
Keep view.bounds in sync during 'resize' events.
...
Closes #1127
2016-08-03 13:08:08 +02:00
Jürg Lehni
fa3456341c
Fix view flickering during window resizes.
...
Closes #1126
2016-08-01 17:10:00 +02:00
Jürg Lehni
78c5c27bb3
Boolean: More work on new branching code.
...
It now checks all intersections when there are multiple options first.
2016-07-28 12:14:02 +02:00
Jürg Lehni
f4f4b3472f
Minor code optimization.
2016-07-27 22:58:57 +02:00
Jürg Lehni
17cca2984b
Boolean: Make sure we're actually comparing multiple intersections.
2016-07-27 22:57:08 +02:00
Jürg Lehni
4c12f1505c
Clean up previous commit.
2016-07-27 21:48:55 +02:00
Jürg Lehni
445d8ae22f
Boolean: Implement branch structure to be able to go back on traces and try different crossings.
...
Relates to #1073
2016-07-27 21:40:53 +02:00
Jürg Lehni
bcd02129a3
Implement additional unit test for #1054 .
2016-07-27 20:12:29 +02:00
Jürg Lehni
c80c13eb9e
Remove _closed parameter from PathItem#isClockwise() again.
2016-07-27 19:41:23 +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
aee9a3190d
Improve handling of straight closing curves in open path checks.
2016-07-27 19:09:42 +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