Commit graph

5677 commits

Author SHA1 Message Date
Jürg Lehni
31d9e1cd6e Implement Curve#isLinear() to check for parametrical linearity.
Along with some unit tests for it.
2015-09-06 17:56:12 +02:00
Jürg Lehni
9d12a0a82c Rename Curve#isLinear() to #isStraight()
Relates to #652
2015-09-06 17:35:27 +02:00
Jürg Lehni
9dab662a1f Clean-up various Segment and Curve tests.
Moving functionality back to Path#toShape() since it was too specific, and missleading as part of the exposed Segment API.
2015-09-06 17:27:33 +02:00
Jürg Lehni
71a7cc37e6 Many documentation clean-ups. 2015-09-06 17:20:01 +02:00
Jürg Lehni
b52d343527 Use same notation for all injection scopes. 2015-09-06 16:48:23 +02:00
Jürg Lehni
cf813faa75 Remove all mention of points and square points as units.
And some other doc clean-ups.
2015-09-06 16:37:10 +02:00
Jürg Lehni
dd1f5ba3d1 Remove Path#isLinear() and use Path#getArea() instaed in boolean code. 2015-09-06 16:35:15 +02:00
Jürg Lehni
3d89cd71bd Some clean-up work on documentation. 2015-09-06 15:54:11 +02:00
Jürg Lehni
3f509ed51b Merge remote-tracking branch 'origin/develop' into boolean-fix 2015-09-06 15:37:25 +02:00
Jürg Lehni
d02f29e2f1 Remove legacy Color constructor tests. 2015-09-06 15:37:03 +02:00
Jürg Lehni
fa9eb8be99 Merge remote-tracking branch 'origin/develop' into boolean-fix
; Conflicts:
;	src/path/PathItem.Boolean.js
2015-09-06 15:36:40 +02:00
Jürg Lehni
cf4e5c2983 Fix typo. 2015-09-06 15:30:38 +02:00
Jürg Lehni
824b0c7e7e Remove legacy Color constructors. 2015-09-06 15:28:46 +02:00
Jürg Lehni
66717868cd Address failing #isLinear() tests. 2015-09-06 14:10:15 +02:00
Jürg Lehni
f91373efd8 Simplify Point#project() 2015-09-06 14:01:04 +02:00
Jürg Lehni
d7fb5cd512 Do not reduce linear curves with handles defined. 2015-09-06 13:21:08 +02:00
Jürg Lehni
26e35322a4 Some reworking of code and comments. 2015-09-06 13:20:57 +02:00
Jürg Lehni
fe5916766a Implement various tests for Curve#isLinear()
Some are currently failing.
2015-09-06 13:20:29 +02:00
Jürg Lehni
8b67d8a1dc Remove #isStraight() in favor of #hasHandles() and implement #clearHandles()
Relates to #652
2015-09-06 12:47:35 +02:00
Jürg Lehni
bfbe0b3147 Fix PointText size test on new Safari... 2015-09-06 12:33:41 +02:00
Jürg Lehni
3fa385ac7c Fix typo in previous commit. 2015-09-05 09:56:37 +02:00
Jürg Lehni
af355dc82c Fix false positives in Curve#isLinear() and Segment#isLinear(). 2015-09-03 09:01:07 +02:00
Jürg Lehni
041c31a88a Prevent variable leackage. 2015-09-02 15:54:14 +02:00
Jürg Lehni
b9a07ca538 Address code comments by @iconexperience in #762. 2015-08-31 22:01:18 +02:00
Jürg Lehni
215bbe2e8e Fix issue in Numerical.solveCubic() / solveQuadratic()
We need to include EPSILON tolerance in the comparison with bounds values.
2015-08-30 22:57:33 +02:00
Jürg Lehni
20222be5c6 Minor clean-up in fat-line code. 2015-08-30 19:59:13 +02:00
Jürg Lehni
0651eee0c2 No more need for special handling of 'subtract' overlaps.
This is now taken care of in the code that handles overlaps itself, and the additional code was causing additional issues.
2015-08-30 19:58:32 +02:00
Jürg Lehni
4379e0b0f0 Improve boolean debug code. 2015-08-30 19:56:17 +02:00
Jürg Lehni
31771aa01d Insert results of boolean operations above whichever of the two paths appear further up in the stack. 2015-08-30 14:47:46 +02:00
Jürg Lehni
b4755ea699 Deactivate debug logging code. 2015-08-30 14:38:18 +02:00
Jürg Lehni
bd61390f9d improve break-off condition in curve interesection code.
To prevent arbitrary incorrect solutions occuring when tDiff is very close to zero.
Closes #762.
2015-08-30 14:37:21 +02:00
Jürg Lehni
27aae8b261 Add support for values array and toString object format to Curve constructor. 2015-08-30 14:14:52 +02:00
Jürg Lehni
8f13fa54fc Remove debugger statement. 2015-08-30 13:52:13 +02:00
Jürg Lehni
0cbce044aa Define Curve#_serialize() 2015-08-28 16:18:28 +02:00
Jürg Lehni
e07d8f55ea Add debug logging for intersections again. 2015-08-28 16:18:14 +02:00
Jürg Lehni
0e26b53053 Improve CurveLocation.sort() to handle more edge cases.
Relates to #648
2015-08-28 16:17:54 +02:00
Jürg Lehni
4ccb53ac68 Remove note about overlapping paths not working.
: D
2015-08-26 18:03:22 +02:00
Jürg Lehni
3ad897c943 Remove all boolean debug code.
Keeping it on the boolean-fix branch for now.
2015-08-26 17:47:18 +02:00
Jürg Lehni
da0d01ee09 More work on main boolean code.
Start addressing self-intersecting paths, and remove resulting open paths for now.
2015-08-26 17:36:20 +02:00
Jürg Lehni
d656c96191 Adjust #isCollinear() tolerance. 2015-08-26 17:09:40 +02:00
Jürg Lehni
86fd33c7d5 User correct tolerance in CurveLocation sorting. 2015-08-26 17:06:02 +02:00
Jürg Lehni
a099377ac6 Remove debug logging for CurveLocation. 2015-08-26 16:58:52 +02:00
Jürg Lehni
d85b4f0c80 Fix issues with wrong sorting of CurveLocation in Curve.filterIntersections() 2015-08-26 16:56:28 +02:00
Jürg Lehni
815991d556 Some minor adjustments and fixes. 2015-08-26 11:43:39 +02:00
Jürg Lehni
2c4dcb96c2 Streamline addOverlap() code a bit. 2015-08-26 11:26:55 +02:00
Jürg Lehni
69a2fcff46 Pass on correct matrix in CompoundPath#getPathData(). 2015-08-26 04:28:30 +02:00
Jürg Lehni
3137843831 Accomodate overlap handling in boolean tests. 2015-08-25 11:45:45 +02:00
Jürg Lehni
fd1f2e56f8 Optimize Item#intersects() by only checking to see if there are at least one intersection. 2015-08-25 11:45:28 +02:00
Jürg Lehni
7ca8ce3cbb Actually use selfOp argument for self operations.
Appears to be working fine.
2015-08-24 21:02:42 +02:00
Jürg Lehni
e242634011 Minor code clean-up. 2015-08-24 12:59:10 +02:00