Jürg Lehni
|
d543658c43
|
Remove old version of Curve#getParameterOf()
|
2015-10-21 00:17:05 +02:00 |
|
Jürg Lehni
|
140fba56cc
|
Fix Line#isCollinear() and #isOrthogonal()
|
2015-10-20 23:37:37 +02:00 |
|
Jürg Lehni
|
bcd6520e66
|
Merge handling of self-intersection crossings with normal crossings.
Shorter code and no additional glitches.
|
2015-10-20 23:03:40 +02:00 |
|
Jürg Lehni
|
08122131dc
|
Use isOverlap() instead of _overlap everywhere.
|
2015-10-20 23:02:50 +02:00 |
|
Jürg Lehni
|
6ccd78e8af
|
Go back to simpler code to handle visited segments.
It appears that the imprecisions addressed in 6cdead0e8c have since disappeared.
|
2015-10-20 23:02:19 +02:00 |
|
Jürg Lehni
|
7422e0710f
|
Some changes to boolean debug logging.
|
2015-10-20 22:04:30 +02:00 |
|
Jürg Lehni
|
3aa7507ce1
|
Avoid issues with imprecision in CurveLocation#getCurve() / trySegment()
|
2015-10-20 22:04:04 +02:00 |
|
Jürg Lehni
|
447feea1da
|
Improve Curve#getParameterOf() to first check curve points with zero epsilon.
|
2015-10-20 22:03:45 +02:00 |
|
Jürg Lehni
|
60109e897a
|
Use 'preserve' to protect #getPoint() against overriding.
|
2015-10-20 19:22:33 +02:00 |
|
Jürg Lehni
|
3ae0ca6c94
|
Remove dependency on curve-time comparisons when comparing locations.
Locations on consecutive short curves (< 1e-7) where unable to merge due to diff > 1.
Relates to #805
|
2015-10-20 17:53:40 +02:00 |
|
Jürg Lehni
|
7cea3488c0
|
Remove dependency on curve-time parameter when figuring out which locations to merge.
|
2015-10-20 17:17:31 +02:00 |
|
Jürg Lehni
|
5dac7e9d29
|
Reduce maximum recursion again in addCurveIntersections()
32 has lead to many deadlocks.
|
2015-10-20 16:35:30 +02:00 |
|
Jürg Lehni
|
da43953828
|
For curves with only one segment, pick the smaller diff between the two locations.
Addresses point 1. in https://github.com/paperjs/paper.js/issues/805#issuecomment-147770300
|
2015-10-20 16:34:40 +02:00 |
|
Jürg Lehni
|
93e9e54ae5
|
Make sure we cannot find two intersections between two lines.
Adresses point 2. in https://github.com/paperjs/paper.js/issues/805#issuecomment-148503018
|
2015-10-20 15:34:09 +02:00 |
|
Jürg Lehni
|
f2cce4c84d
|
Rename variable to be less ambiguous.
|
2015-10-20 15:21:03 +02:00 |
|
Jürg Lehni
|
63303a59f4
|
Change PathItem#getIntersections() so that the simply circularity checks in addLocations() work.
This should address the concerns outlined in https://github.com/paperjs/paper.js/issues/805#issuecomment-147850806
|
2015-10-20 15:18:09 +02:00 |
|
Jürg Lehni
|
e0c31e4a50
|
Make static getIntersections() methods 'private'.
|
2015-10-20 10:02:33 +02:00 |
|
Jürg Lehni
|
f1debf401b
|
Streamline overlap handling code.
|
2015-10-20 10:02:00 +02:00 |
|
Jürg Lehni
|
eb2f7e293a
|
Streamline mouse event handling between View and Item.
Consolidating code and making View#onMouseDown/Up/Move/... events work.
|
2015-10-17 18:13:00 +02:00 |
|
Jürg Lehni
|
8d1abf7ee2
|
Merge pull request #806 from sapics/fix-nan-strokebounds
Fix curve evaluate function to finite
|
2015-10-17 18:11:29 +02:00 |
|
sapics
|
8dfb5191fa
|
Fix curve evaluate function to finite
|
2015-10-17 14:38:27 +09:00 |
|
Jürg Lehni
|
3314668a0c
|
Streamline mouse event handling between View and Item.
Consolidating code and making View#onMouseDown/Up/Move/... events work.
|
2015-10-14 16:25:36 +02:00 |
|
Jürg Lehni
|
9762d2c9e6
|
Revert "Simplify circular neighbor checks."
This reverts commit 2bb3df3314 .
|
2015-10-13 09:35:13 +02:00 |
|
Jürg Lehni
|
b5c59c881c
|
Revert "One more simplification."
This reverts commit 0ce825f8c9 .
|
2015-10-13 09:35:08 +02:00 |
|
Jürg Lehni
|
0ce825f8c9
|
One more simplification.
|
2015-10-13 08:34:48 +02:00 |
|
Jürg Lehni
|
2bb3df3314
|
Simplify circular neighbor checks.
Relates to #805.
|
2015-10-13 08:32:05 +02:00 |
|
Jürg Lehni
|
9de6aa97f2
|
Third attempt at correctly handling paths as circular lists.
Relates to #805.
|
2015-10-13 07:59:19 +02:00 |
|
Jürg Lehni
|
f6f6a58fe6
|
Improve handling of paths as circular lists.
|
2015-10-13 07:27:25 +02:00 |
|
Jürg Lehni
|
2e552853fd
|
Handle paths as circular lists in CurveLocation.insert() as well.
Relates to #805
|
2015-10-13 07:23:15 +02:00 |
|
Jürg Lehni
|
0553201de8
|
Add forgotten semi-colon.
|
2015-10-13 00:11:24 +02:00 |
|
Jürg Lehni
|
3d33bbdfa3
|
Clean-up CurveLocation#equals()
|
2015-10-13 00:10:21 +02:00 |
|
Jürg Lehni
|
f77579079e
|
Improve CurveTime#equals() to handle locations that wrap around beginnings / ends of paths.
See https://github.com/paperjs/paper.js/issues/805#issuecomment-147470240 for details.
|
2015-10-13 00:06:34 +02:00 |
|
Jürg Lehni
|
760da612f6
|
Merge pull request #804 from iconexperience/Small-refactoring-in-getConvexHull()
Small refactoring in getConvexHull()
|
2015-10-12 09:04:17 +02:00 |
|
iconexperience
|
f8edf5d8a7
|
Small refactoring in getConvexHull()
Make calculations of distances more concise.
|
2015-10-12 08:42:36 +02:00 |
|
Jürg Lehni
|
588ddbe011
|
Add comments to Curve#getParameterOf()
|
2015-10-11 17:09:04 +02:00 |
|
Jürg Lehni
|
bbc0029252
|
Go back to simple overlap handling.
It appears to produce less glitches.
|
2015-10-11 17:05:23 +02:00 |
|
Jürg Lehni
|
4500e520ea
|
Minor code clean-up.
|
2015-10-11 17:00:23 +02:00 |
|
Jürg Lehni
|
c9f5c02ee4
|
Decrease GEOMETRIC_EPSILON
This appears to be better aligned with the new Curve#getParameterOf() behavior.
|
2015-10-11 17:00:01 +02:00 |
|
Jürg Lehni
|
c1d0bd21b8
|
Improve Curve#getParameterOf() to better handle very small curves.
See #799
|
2015-10-11 16:59:03 +02:00 |
|
Jürg Lehni
|
61db3d9d01
|
Improve handling of boolean debug options.
|
2015-10-11 16:57:43 +02:00 |
|
Jürg Lehni
|
6cdead0e8c
|
Add fallback strategy when ending up in a dead-end in tracePaths().
This simple fix appears to be able to catch quite a few glitches with very small curves.
|
2015-10-11 16:56:41 +02:00 |
|
Jürg Lehni
|
247e80f569
|
Update to latest prepro.js with proper support for strings and scientific numbers.
|
2015-10-11 15:50:25 +02:00 |
|
Jürg Lehni
|
841381f520
|
Reactivate new overlap handling.
It appears to work better with the new Curve.getParameterOf()
|
2015-10-11 10:17:03 +02:00 |
|
Jürg Lehni
|
d20cdf5b73
|
There can only be one self-intersection per curve.
|
2015-10-11 09:48:55 +02:00 |
|
Jürg Lehni
|
8a122e19d8
|
Split self-intersection handling into separate method.
Increasing readability of both methods.
|
2015-10-11 09:26:04 +02:00 |
|
Jürg Lehni
|
7aed221801
|
Some refactoring in static methods of CurveLocation.
|
2015-10-11 09:18:50 +02:00 |
|
Jürg Lehni
|
99909953a8
|
Use colors to distinguish faulty boolean paths.
|
2015-10-09 11:07:43 +02:00 |
|
Jürg Lehni
|
688f580b95
|
Switch to new Curve.getParameterOf()
Simpler code, but improved precision means more glitches to analyze.
|
2015-10-09 10:34:46 +02:00 |
|
Jürg Lehni
|
48bb0a1be4
|
Address old TODO in getWinding()
|
2015-10-09 10:33:43 +02:00 |
|
Jürg Lehni
|
0839dbe1f5
|
New overlap handling is producing new glitches.
Turn it off for now, until further analysis has been done.
|
2015-10-09 10:27:25 +02:00 |
|