Jürg Lehni
|
04452730dd
|
Simplify CurveLocation data structures.
Directly creating and linking intersections simplifies things a lot.
|
2015-09-09 17:17:49 +02:00 |
|
Jürg Lehni
|
78e0bae6aa
|
Activate code that handles self-intersection directly now.
Relates to #765, #761
|
2015-09-09 08:24:02 +02:00 |
|
Jürg Lehni
|
abf70378fe
|
Some more code fixes.
One was breaking unit tests.
|
2015-09-09 08:15:43 +02:00 |
|
Jürg Lehni
|
155442e706
|
Increase readability of convex-hull check in self-intersection code.
|
2015-09-09 08:12:03 +02:00 |
|
Jürg Lehni
|
70f8f1912f
|
Some code clean-up.
|
2015-09-09 08:06:59 +02:00 |
|
Jürg Lehni
|
332b09c534
|
More curve interesection optimizations.
Only evaluate points if locations are actually added.
|
2015-09-09 07:46:48 +02:00 |
|
Jürg Lehni
|
dae8bb630b
|
Avoid checking curves if completely out of control bounds.
This leads to a huge speed increase! Relates to #765
|
2015-09-09 07:34:28 +02:00 |
|
Jürg Lehni
|
1c1e19614e
|
Avoid matching connected start- and end points when self-intersecting curves.
Partial fix for #765.
|
2015-09-09 07:28:08 +02:00 |
|
Jürg Lehni
|
3f53aa78ce
|
Do not access curve objects for geometry since they might be subdivided.
Partial fix for #765
|
2015-09-09 07:26:39 +02:00 |
|
Jürg Lehni
|
b96036fb03
|
Fix strange curve check.
Something went wrong in prior refactoring here. Also, no need to check curve beginnings and ends again, just handles.
|
2015-09-09 06:25:37 +02:00 |
|
Jürg Lehni
|
98d7703b5c
|
Finish implementing Curve#isStraight and #isLinear()
Closes #652
|
2015-09-06 18:02:15 +02:00 |
|
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 |
|