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 |
|
Jürg Lehni
|
7fc029d98b
|
More quality related tweaks in getWinding()
|
2017-02-04 21:55:44 +01:00 |
|
Jürg Lehni
|
fb4a0b1fe0
|
No need to change the winding values here.
But onPath is crucial. Relates to #1073
|
2017-02-04 21:38:56 +01:00 |
|
Jürg Lehni
|
4d6ebe2f3f
|
Switch to absolute winding values in getWinding()
That’s what the previous code was already doing, but cryptically so. Relates to #1073
|
2017-02-04 21:38:17 +01:00 |
|
Jürg Lehni
|
0e8b304715
|
Improve handling of quality value in getWinding()
Relates to #1073
|
2017-02-04 21:37:05 +01:00 |
|
Jürg Lehni
|
bbcfa644d9
|
Bring back accidentally removed winding object fallback.
|
2017-02-04 20:50:22 +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
|
9af936514e
|
Minor code cleanups.
|
2017-02-04 20:14:35 +01:00 |
|
Jürg Lehni
|
6ad5bfafee
|
Implement unit test for #1073
Closes #1073, closes #1074
|
2017-01-25 07:55:37 -05:00 |
|
Jürg Lehni
|
d18fa8bb03
|
Support multiple gradient offsets at 0
Closes #1241
|
2017-01-24 18:14:56 -05:00 |
|
Jürg Lehni
|
4833c588e5
|
Improve comments.
|
2017-01-24 08:22:03 -05:00 |
|
Jürg Lehni
|
1806b5959e
|
Improve tangent direction handling in isCrossing()
Find unambiguous vectors by taking inception points and “peaks” into account.
Relates to #1073, #1074
|
2017-01-24 07:50:40 -05: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 |
|
Jürg Lehni
|
4e215b0eab
|
Unify naming of bezier coordinates in internal calculations.
|
2017-01-17 12:05:32 +01:00 |
|
Jürg Lehni
|
6e96fd6be5
|
Replace accidental substitution of Numerical.CURVETIME_EPSILON.
|
2017-01-17 11:24:33 +01:00 |
|
Jürg Lehni
|
da52f1f685
|
Remove Numerical.TOLERANCE
|
2017-01-16 17:48:26 +01:00 |
|
Jürg Lehni
|
13accee9fd
|
Some code optimizations in PathFitter.
|
2017-01-16 17:47:28 +01:00 |
|
Jürg Lehni
|
12f12da21b
|
Minor code cleanup.
|
2017-01-15 18:53:23 +01:00 |
|
Jürg Lehni
|
77cb04154a
|
Reduce CURVETIME_EPSILON to 1e-8.
|
2017-01-15 18:44:02 +01:00 |
|
Jürg Lehni
|
2ca34cddac
|
Prevent rare case where we get excluded intersections without valid curves at the start.
|
2017-01-15 18:43:47 +01:00 |
|
Jürg Lehni
|
3d4430f8af
|
Improve CurveLocation#equals() to only compare path offsets.
Relying solely on GEOMETRIC_EPSILON when comparing intersections instead of CURVETIME_EPSILON improves reliability.
|
2017-01-15 18:43:14 +01:00 |
|
Jürg Lehni
|
f996f035ca
|
Rename local epsilon in addCurveIntersections() to fatLineEpsilon.
|
2017-01-15 18:41:40 +01:00 |
|
Jürg Lehni
|
a101183fba
|
Remove EPSILON constants that are only used in one place in the code.
CLIPPING_EPSILON and WINDING_EPSILON are too specific to be in Numerical.
|
2017-01-15 11:47: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
|
fa43e28b7a
|
Slightly improve documentation for #1235
|
2017-01-11 15:16:22 +01:00 |
|
Jürg Lehni
|
e7b53c8a22
|
Implement Curve#classify() based on Loop and Blinn.
And use it to simplify curve self-intersection handling.
Relates to #773, #1074, Closes #1235
|
2017-01-11 15:01:10 +01:00 |
|
Jürg Lehni
|
36f5b314d9
|
Update JSDoc and a minor documentation fix.
|
2017-01-11 14:45:52 +01:00 |
|
Jürg Lehni
|
9cb45157b9
|
Use the correct term for renormalization of curve-time after splitting.
|
2017-01-10 16:51:53 +01:00 |
|
Jürg Lehni
|
acd6b143db
|
Sample winding at t = 0.5 before trying 0.25 at 0.75
This partly reverts commit 50c910b03a .
|
2017-01-10 13:34:50 +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
|
673d157f31
|
Implement unit tests for #1116
Closes #1116
|
2017-01-08 15:07:40 +01:00 |
|
Jürg Lehni
|
0ae2ded9cc
|
Fix handling of hit-test tolerance on scaled items with #applyMatrix = false
Closes #1195
|
2017-01-08 14:34:58 +01:00 |
|
Jürg Lehni
|
50c910b03a
|
Switch back to sampling winding at t = 1/4, 2/4, 3/4
Due to curve-time clamping, this should now be OK.
Relates to #1073
|
2017-01-06 14:23:27 +01:00 |
|
Jürg Lehni
|
8ba6e19a2c
|
Bring back handling of onPath edge cases in getWinding()
Relates to #1073
|
2017-01-06 14:22:20 +01:00 |
|
Jürg Lehni
|
1c7d19bba0
|
Improve getWinding() reliability by clamping curve-time to tMin <= t <= tMax
|
2017-01-06 14:17:38 +01:00 |
|
Jürg Lehni
|
31aa68b2d1
|
Some further code cleanup for 3c2588fdec
|
2017-01-06 14:15:32 +01:00 |
|