Jürg Lehni
|
390ef324f2
|
Find a better implementation for exclude() boolean operations, requiring only one pass instead of two.
|
2015-01-04 01:50:24 +01:00 |
|
hkrish
|
3781aedb22
|
Small but critical fix on getSignedDistance method
when the line is perfectly vertical, return the difference between x values depending on the side. The earlier "l1y" is a silly mistake.
|
2015-01-03 23:41:47 +01:00 |
|
Jürg Lehni
|
b6a4815d03
|
Remove Curve#isHorizontal() as its implementation and precision is specific to boolean operations.
|
2015-01-03 21:02:12 +01:00 |
|
Jürg Lehni
|
46d7717812
|
Use standard values for tMin / tMax when calling getTangentAt() tracePaths()
|
2015-01-03 20:59:20 +01:00 |
|
Jürg Lehni
|
6bb6002d1a
|
No need to double tolerances here.
|
2015-01-03 20:35:51 +01:00 |
|
Jürg Lehni
|
68c53534d6
|
Use the same precision in PathItem#getIntersections() when handling curve time parameters as in the rest of the library.
TOLERANCE instead of EPSILON.
|
2015-01-03 20:25:57 +01:00 |
|
Jürg Lehni
|
3e67f72393
|
Some code clean-up.
|
2015-01-03 20:25:12 +01:00 |
|
Jürg Lehni
|
51ec3325e3
|
Remove the need to store winding samples in array and sort.
Calculating the average winding value instead yields the same results.
|
2015-01-03 11:25:10 +01:00 |
|
Jürg Lehni
|
26f209c835
|
Implement better strategy for handling edge cases in winding samples.
|
2015-01-03 11:24:27 +01:00 |
|
Jürg Lehni
|
a854c55914
|
Split off code from Path.Clockwise() into Curve.getEdgeSum()
|
2015-01-03 01:46:22 +01:00 |
|
Jürg Lehni
|
80e1a54171
|
Dirty temporary fix for new median winding code that struggles with circles.
|
2015-01-03 01:17:48 +01:00 |
|
Jürg Lehni
|
5da0ae5c3c
|
Better handle of edge values in Path#split().
Closes #515 & #538
|
2015-01-03 01:07:51 +01:00 |
|
Jürg Lehni
|
98686ef888
|
Fix endless recursion in CompoundPath#reduce()
|
2015-01-03 00:51:06 +01:00 |
|
Jürg Lehni
|
5e654ca64e
|
Reducing an empty CompoundPath should replace it with an empty Path.
|
2015-01-03 00:46:45 +01:00 |
|
Jürg Lehni
|
e195db2567
|
Handle empty paths in Path#reorient()
Closes #548
|
2015-01-03 00:46:24 +01:00 |
|
Jürg Lehni
|
001561decb
|
Remove the dependency of Math.random() from boolean operation code.
Closes #473
|
2015-01-03 00:32:06 +01:00 |
|
Jürg Lehni
|
bb2fece225
|
Restructure code that determines median winding contribution.
|
2015-01-03 00:26:13 +01:00 |
|
Jürg Lehni
|
538eac6dc7
|
Use smaller tolerances in winding code, to address edge cases.
Closes #559
|
2015-01-02 23:47:26 +01:00 |
|
Jürg Lehni
|
477527f8ec
|
Implement more intuitive version of clipConvexHull(), outlined in #570 by @iconexperience
Code further shortened using a sub-routine.
|
2015-01-02 22:36:04 +01:00 |
|
Jürg Lehni
|
232739fae9
|
Add comments to fat-line clipping code linking to issues #568 and #571.
|
2015-01-02 22:34:09 +01:00 |
|
Jürg Lehni
|
8ad067ec6c
|
Use tolerance when comparing curve locations by parameter.
|
2015-01-02 21:20:28 +01:00 |
|
Jürg Lehni
|
4ed9ef54f2
|
Fix bug in Curve.filterIntersections() and clean up code a bit.
|
2015-01-02 21:19:18 +01:00 |
|
Jürg Lehni
|
b2261fd512
|
Introduce Curve.filterIntersections() and use it both in PathItems#getIntersections() and Curve#getIntersections()
|
2015-01-02 21:00:05 +01:00 |
|
Jürg Lehni
|
3302a7dff5
|
Increase recursion threshold to 4 when checking for fatline convergence.
|
2015-01-02 20:49:09 +01:00 |
|
Jürg Lehni
|
fbd026ea0d
|
Bring back code removed by @hkrish in commit 5fb75593c2
Relates to issue #570, still required to figure out why it is still needed.
|
2015-01-02 20:02:45 +01:00 |
|
Jürg Lehni
|
e3e3d13fa5
|
Add comment regarding issue #565
|
2015-01-02 16:33:15 +01:00 |
|
Jürg Lehni
|
b75def3f3a
|
Implement optimal values in fat line clipping code for maximum recursion and curve time difference, as determined by @iconexperience.
Closes #565
|
2015-01-02 16:29:12 +01:00 |
|
Jürg Lehni
|
45c86a3035
|
Switch to suggested new implementation of Line.getSignedDistance() by @iconexperience
Closes #554
|
2015-01-02 16:17:19 +01:00 |
|
Jürg Lehni
|
1de750bc77
|
Check for Path#closed in Path#equals()
|
2014-12-28 18:10:14 +01:00 |
|
Jürg Lehni
|
28538d8a43
|
Clean up code from #597 a bit.
|
2014-12-26 06:42:46 +01:00 |
|
louisremi
|
a9bf0b097e
|
Handle closed path in PathFitter
|
2014-12-15 14:56:25 +01:00 |
|
Jürg Lehni
|
318209e9e9
|
Replace compareNumbers() with equals() and improve numerical tolerance handling in test helpers.
|
2014-11-30 11:27:14 -08:00 |
|
Jürg Lehni
|
ebdc63fbfa
|
Use correct formula in Curve#getTangentAt() for end-points when there is no handle.
Closes #553.
|
2014-11-08 17:16:22 -08:00 |
|
Jürg Lehni
|
782bde238c
|
Find a more general implementation for Item#intersects(item).
|
2014-10-20 18:00:07 +02:00 |
|
Jürg Lehni
|
5ddbc5b07f
|
Implement Item#intersects(item)
|
2014-10-20 17:00:18 +02:00 |
|
Jürg Lehni
|
b3c7be67fc
|
Support optional hidden matrix argument in #getIntersections()
...in order to provide an alternative matrix for the passed path to check against.
|
2014-10-20 16:53:49 +02:00 |
|
Jürg Lehni
|
0894e625b0
|
Fix documentation issues with Path#get*At()
Closes #537.
|
2014-10-15 13:00:50 +02:00 |
|
Jürg Lehni
|
e5714584ff
|
Fix return type of #getCurvatureAt() methods.
Closes #535 properly this time.
|
2014-10-15 12:02:21 +02:00 |
|
Jürg Lehni
|
b71e2c69d6
|
Fix documentation of Curve#getCurvatureAt(), as well as Path#getCurvatureAt() & co.
Closes #535
|
2014-10-14 13:52:57 +02:00 |
|
Jürg Lehni
|
6a11532322
|
Clean up and simplify code a bit further.
|
2014-09-28 11:49:46 +02:00 |
|
Jürg Lehni
|
7462fe0b70
|
Fix Curve.getParameterAt() for negative values of offset, and implement unit test.
Closes #524.
|
2014-09-28 11:44:38 +02:00 |
|
Jürg Lehni
|
2dce6c4efa
|
Some code clean-up in Segment#_changed()
|
2014-09-27 22:09:25 +02:00 |
|
Jürg Lehni
|
cc8b23894c
|
Some clean up related to hidden _uncached parameter.
|
2014-09-27 22:03:54 +02:00 |
|
Jürg Lehni
|
b8530935a7
|
Streamline CurveLocation#getTangent/Normal/Curvature getter definitions to align with definitions in Curve, Path and PathIterator.
|
2014-09-27 22:03:20 +02:00 |
|
Jürg Lehni
|
dd99db8d2d
|
Allow 'false' as well as 'off' for hidpi attribute, since that's what's in use for other attributes as well.
|
2014-09-26 18:03:37 +02:00 |
|
Jürg Lehni
|
5046a6a64c
|
Fix naming of PathIterator#get*At functions.
|
2014-09-24 12:32:07 +02:00 |
|
Jürg Lehni
|
4adab91a18
|
Remove unused argument.
|
2014-09-23 17:51:29 +02:00 |
|
Jürg Lehni
|
ee27fe820f
|
Check for valid parameter range in Curve#getLocationAt() and delegate to it in #getLocationOf()
|
2014-09-20 11:09:09 +02:00 |
|
Jürg Lehni
|
c94fb3038f
|
Use valid parameter range [0,1] in calls to Curve.solveCubic().
|
2014-09-20 11:08:20 +02:00 |
|
Jürg Lehni
|
c2465b60fa
|
Transform the correct amount of points in Curve.getValues() when a matrix is provided.
|
2014-09-20 11:06:25 +02:00 |
|