Jürg Lehni
|
52c0e3e225
|
Fix boolean test to adress shifted segment sequence.
We really need a circular check for closed path geometry.
|
2015-09-13 13:26:08 +02:00 |
|
Jürg Lehni
|
d84a84c67f
|
Change the way winding contributions are propagated
The new approach preserves segment sequence.
Relates to #777
|
2015-09-13 13:06:01 +02:00 |
|
Jürg Lehni
|
19c9a0e722
|
Use the correct points on curve2 when checking intersections at beginnings and ends.
|
2015-09-13 11:52:17 +02:00 |
|
Jürg Lehni
|
d62caf6faa
|
Introduce CURVETIME_EPSILON, to be used when handling curve time parameters.
Relates to #777
|
2015-09-12 22:55:58 +02:00 |
|
Jürg Lehni
|
4f04dae20f
|
Use the correct GEOMETRIC_EPSILON when matching beginnings and ends of curve in Curve.getParameterOf()
Relates to #777
|
2015-09-12 22:26:16 +02:00 |
|
Jürg Lehni
|
8047f90ccf
|
Switch to using GEOMETRIC_EPSILON in getWinding() code.
|
2015-09-12 22:20:31 +02:00 |
|
Jürg Lehni
|
ef45a5f62c
|
Clean up tMin / tMax uses.
|
2015-09-12 22:14:04 +02:00 |
|
Jürg Lehni
|
a0730756c1
|
Use correct term for curve parameter renormalization.
|
2015-09-12 22:13:18 +02:00 |
|
Jürg Lehni
|
085cdd74a2
|
Use GEOMETRIC_EPSILON when comparing curve start / end points.
Relates to #777
|
2015-09-12 21:56:53 +02:00 |
|
Jürg Lehni
|
2fb203ddd1
|
Adjust notes since we now support boolean operations on self-intersecting Paths items
|
2015-09-12 11:58:17 +02:00 |
|
Jürg Lehni
|
3da921a0b0
|
Improve CompoundPath#reduce() to properly reduce suppaths.
Relates to #779
|
2015-09-12 11:43:41 +02:00 |
|
Jürg Lehni
|
fb5f8c0115
|
Introduce GEOMETRIC_EPSILON, for isOrthogonal(), isCollinear() and overlap checks.
Relates to #777
|
2015-09-12 10:35:47 +02:00 |
|
Jürg Lehni
|
cdd0cee623
|
Activate resolving of self-intersections in boolean code.
Relates to #779
|
2015-09-12 10:24:19 +02:00 |
|
Jürg Lehni
|
35f3ac87bf
|
Change checks for startConnected / endConnected to support compound-paths.
Closes #778
|
2015-09-12 10:12:17 +02:00 |
|
Jürg Lehni
|
86f404123e
|
Minor code tweaks.
|
2015-09-11 12:07:27 +02:00 |
|
Jürg Lehni
|
c69ea345da
|
Correctly handle self-intersections when deciding to switch segments.
Closes #765
|
2015-09-10 05:21:47 +02:00 |
|
Jürg Lehni
|
4770cfe2f8
|
Minor intersection refactoring clean up.
|
2015-09-10 05:18:56 +02:00 |
|
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 |
|