Jürg Lehni
|
1fad295600
|
Facilitate minification.
|
2017-03-07 12:34:59 +01:00 |
|
Jürg Lehni
|
1ca23a681a
|
Change Log: Add Path#divideAt(location)
|
2017-03-07 11:45:13 +01:00 |
|
Jürg Lehni
|
7448aedf67
|
Tests: Show SVG path data when boolean results are different.
|
2017-03-07 11:04:11 +01:00 |
|
Jürg Lehni
|
2a090bc0d1
|
Some Change Log cleanups.
|
2017-03-06 23:25:27 +01:00 |
|
Jürg Lehni
|
11f7388611
|
Update change-log for upcoming release.
|
2017-03-06 17:50:03 +01:00 |
|
Jürg Lehni
|
d6c1ce2458
|
Make sure calls are always counted in addCurveIntersections()
recursions only need to be increased if we're not aborting.
See https://github.com/paperjs/paper.js/issues/1239#issuecomment-284265520
|
2017-03-06 11:32:18 +01:00 |
|
Jürg Lehni
|
b680ec05b9
|
Fix calls counting in addCurveIntersections() when dealing with straight curves.
See https://github.com/paperjs/paper.js/issues/1239#issuecomment-284340550
|
2017-03-06 10:13:14 +01:00 |
|
iconexperience
|
5359bc428e
|
Add some unit tests for boolean unite operations
|
2017-03-01 14:07:17 +01:00 |
|
Jürg Lehni
|
b85fc988de
|
Minor comment cleanup.
|
2017-03-01 12:37:08 +01:00 |
|
Jürg Lehni
|
47364f88a6
|
Merge pull request #1264 from iconexperience/addWinding-fix
Fix addWinding and improve performance slightly
|
2017-03-01 12:33:05 +01:00 |
|
iconexperience
|
9f5f3192b7
|
Set curve time to 1 for curves completely right or left of point for better performance. Note that we cannot set the time to 0, because this would invoke special handling for crossing at the curve's start point.
|
2017-03-01 09:39:44 +01:00 |
|
iconexperience
|
86d05624c0
|
Fix addWinding() for special cases
|
2017-03-01 09:04:46 +01:00 |
|
Jürg Lehni
|
32db1eb005
|
Boolean: Some code and comment cleanup.
|
2017-02-26 01:11:33 +01:00 |
|
Jürg Lehni
|
5c86330d6e
|
Tests: Implement unit test for #1261.
|
2017-02-26 01:03:35 +01:00 |
|
Jürg Lehni
|
4d3ca746ab
|
Reduce windingEpsilon to 1e-9.
this address the issue outlined in https://github.com/paperjs/paper.js/issues/1261#issuecomment-282520748
|
2017-02-26 00:45:22 +01:00 |
|
Jürg Lehni
|
7b73ec238d
|
Remove onPath winding hack again.
See #1073
|
2017-02-26 00:22:49 +01:00 |
|
Jürg Lehni
|
86478b6873
|
Boolean: Improve handling of branching at crossings.
|
2017-02-25 18:55:11 +01:00 |
|
Jürg Lehni
|
919c42af27
|
Implement Segment#isSmooth() and use it in handling of stroke-joins.
|
2017-02-25 15:45:58 +01:00 |
|
Jürg Lehni
|
f19a50093b
|
Simplify handling of strokeJoin / strokeCap geometries.
|
2017-02-22 22:22:23 +01:00 |
|
Jürg Lehni
|
b40efbf6db
|
Fix Line#getSide() imprecisions when points are on the line.
|
2017-02-22 17:41:51 +01:00 |
|
Jürg Lehni
|
6a4347e75b
|
Optimize Curve#hasLength()
Only check the handles that are actually part of the curve.
Closes #1260
|
2017-02-22 17:29:23 +01:00 |
|
Jürg Lehni
|
919615f168
|
Remove CurveLocation#getOffsetTo() again.
|
2017-02-22 17:05:23 +01:00 |
|
Jürg Lehni
|
e3828d810b
|
When aborting fat-line clipping, attempt an approximation with line intersections.
|
2017-02-22 13:58:27 +01:00 |
|
Jürg Lehni
|
ba2b18c7dc
|
Small improvement in Path#arcTo() to reduce segment account in edge cases.
|
2017-02-22 13:57:51 +01:00 |
|
Jürg Lehni
|
d204175d39
|
Improve and optimize fat-line clipping algorithm.
By checking if subdivided curves are straight and falling back on line-line / line-curve approach if they are.
|
2017-02-21 23:09:30 +01:00 |
|
Jürg Lehni
|
caac1c18e3
|
Implement CurveLocation#getOffsetTo(location)
|
2017-02-21 22:19:38 +01:00 |
|
Jürg Lehni
|
ee48e6cd03
|
Implement caching for CurveLocation#curveOffset.
|
2017-02-21 22:19:17 +01:00 |
|
Jürg Lehni
|
f089c3c620
|
Improve handling of new segments in CurveLocation#divide() and #split()
|
2017-02-21 22:16:55 +01:00 |
|
Jürg Lehni
|
f16b91e0fe
|
Tests: Implement unit test for #1233
|
2017-02-21 22:10:08 +01:00 |
|
Jürg Lehni
|
ed57b82b19
|
Boolean: Improve handling of multiple crossings on the same curve.
|
2017-02-21 22:05:38 +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
|
2343ed5ca9
|
Remove checks for begin- and end-points in getCurveIntersections()
See #1239
|
2017-02-16 14:00:18 +01:00 |
|
Jürg Lehni
|
4f9d23da81
|
Use consistent boundary policy when dealing with curve-time.
|
2017-02-16 13:41:53 +01:00 |
|
Jürg Lehni
|
e3c6245979
|
Docs: Improve description of option.class value in #hitTest()
See #632
|
2017-02-15 16:11:33 +01:00 |
|
Jürg Lehni
|
1ff4bc9665
|
More cleanup in curve intersection code.
|
2017-02-12 15:52:56 +01:00 |
|
Jürg Lehni
|
2ead16ca89
|
Rename Curve.getCurvesIntersections() to Curve. getIntersections()
|
2017-02-12 15:47:01 +01:00 |
|
Jürg Lehni
|
bd98e067c3
|
Docs: Some cleanup in Curve.
|
2017-02-12 15:42:12 +01:00 |
|
Jürg Lehni
|
df7323da32
|
Improve handling of excludeStart / excludeEnd in curve intersections.
|
2017-02-12 15:27:59 +01:00 |
|
Jürg Lehni
|
45f5bf84e8
|
Enforce creation of Curve#values getter despite hidden parameter.
|
2017-02-12 12:15:59 +01:00 |
|
Jürg Lehni
|
286765f4b0
|
Further optimizations in getOverlaps()
|
2017-02-11 21:32:11 +01:00 |
|
Jürg Lehni
|
23202d0c80
|
Some code optimizations and cleanup.
|
2017-02-11 21:25:42 +01:00 |
|
Jürg Lehni
|
1b50355585
|
Improve getCurveIntersections() for use with neighboring curves.
As needed by bezier offsetting code.
|
2017-02-11 21:19:47 +01:00 |
|
Jürg Lehni
|
5736ebaa19
|
Merge pull request #1253 from iconexperience/LineGetDistance
Add Line.getDistance() and use it in Curve.getOverlaps()
|
2017-02-11 21:18:31 +01:00 |
|
iconexperience
|
af7b22a708
|
Add Line.getDistance() and use it in Curve.getOverlaps()
|
2017-02-07 16:15:41 +01:00 |
|
Jürg Lehni
|
13f4773985
|
Fix documentation of Project#hitTestAll()
Relates to #536
|
2017-02-06 18:36:00 +01:00 |
|
Jürg Lehni
|
b23c272d69
|
Minor code cleanup.
|
2017-02-06 16:46:22 +01:00 |
|
Jürg Lehni
|
4588a90952
|
Expose Curve.getCurvesIntersections()
To be used in offsetting code to check for self-intersections.
|
2017-02-06 16:37:05 +01:00 |
|
Jürg Lehni
|
fafbd9ad36
|
Expose Curve. getCurveLineIntersections() for curve offsetting.
|
2017-02-05 21:59:56 +01:00 |
|
Jürg Lehni
|
8c3c771891
|
Streamline handling of abscissa and ordinate flipping.
|
2017-02-05 21:59:29 +01:00 |
|
Jürg Lehni
|
1f768c69d2
|
Move private getPeaks() to Curve.getPeaks()
It will be of use in the offsetting code as well.
|
2017-02-05 14:20:43 +01:00 |
|