Jürg Lehni
|
2cf637d13b
|
Merge remote-tracking branch 'origin/boolean-fix' into develop
|
2015-10-21 01:44:15 +02:00 |
|
Jürg Lehni
|
43cf20096a
|
Implement Curve.getNearestParameter()
|
2015-10-21 01:43:14 +02:00 |
|
Jürg Lehni
|
8c3d9df06c
|
Further fine-tune the various EPSILON values based on edge-case tests.
|
2015-10-21 01:42:26 +02:00 |
|
Jürg Lehni
|
5d6b761d3a
|
Introduce separate WINDING_EPSILON and improve GEOMETRIC_EPSILON.
New values are based on a lot of testing.
|
2015-10-21 01:16:52 +02:00 |
|
Jürg Lehni
|
eb62530958
|
Improve CurveLocation#equals().
|
2015-10-21 01:15:46 +02:00 |
|
Jürg Lehni
|
1f476c2107
|
Improve CurveLocation#isTouching() to better handle straight lines.
|
2015-10-21 01:10:24 +02:00 |
|
Jürg Lehni
|
1073340eeb
|
Do not use GEOMETRIC_EPSILON in Curve.getParameterAt()
This caused issues in some rare edge-cases.
|
2015-10-21 01:09:03 +02:00 |
|
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 |
|