Jürg Lehni
|
3234975e46
|
Include comment about methods produced on the fly.
For easier searching.
|
2015-12-31 18:32:56 +01:00 |
|
Jürg Lehni
|
0e427c16a2
|
Fix some white-spaces in comments and HTML.
|
2015-12-30 21:55:20 +01:00 |
|
Jürg Lehni
|
a7a07fb6d5
|
Update JSDoc and do some documentation spring-cleaning.
- Convert from {@code ...} to shorter `...`
- Reformat some documentation comment blocks
- Update copyright notices
|
2015-12-30 21:55:19 +01:00 |
|
Jürg Lehni
|
7d25096de6
|
Fix new failing #isCrossing() test-case.
|
2015-12-30 21:55:19 +01:00 |
|
Jürg Lehni
|
08d75a48ff
|
Fix issue again with param.overlapping in #getItems()
This time, properly!
Closes #751
|
2015-12-30 21:55:18 +01:00 |
|
Jürg Lehni
|
93a5e2d18c
|
Refine some code comments.
|
2015-12-30 21:55:18 +01:00 |
|
Jürg Lehni
|
7592895445
|
Big overhaul of CurveLocation#isCrossing()
Improved to better handle touching curves and edge cases involving straight curves.
Closes #865
|
2015-12-30 21:55:18 +01:00 |
|
Jürg Lehni
|
c61cb804cb
|
Implement boolean operations intersect() and subtract() for open path with closed paths.
Closes #757
|
2015-10-24 22:41:51 +02:00 |
|
Jürg Lehni
|
c8cc653004
|
Merge Path#_getOffset() with CurveLocation#getOffset()
|
2015-10-23 19:57:25 +02:00 |
|
Jürg Lehni
|
813ea48932
|
Remove unused local reference.
|
2015-10-22 14:46:17 +02:00 |
|
Jürg Lehni
|
7a95625a13
|
Remove debug code and TODO from CurveLocation#isCrossing()
|
2015-10-21 02:36:43 +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
|
3aa7507ce1
|
Avoid issues with imprecision in CurveLocation#getCurve() / trySegment()
|
2015-10-20 22:04:04 +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
|
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
|
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
|
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
|
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
|
7aed221801
|
Some refactoring in static methods of CurveLocation.
|
2015-10-11 09:18:50 +02:00 |
|
Jürg Lehni
|
939a9fe034
|
Improve overlap handling by actually storing overlap curves on intersections objects.
And properly comparing against them in tracePaths().
|
2015-10-08 23:54:00 +02:00 |
|
Jürg Lehni
|
3ac3df8d32
|
Rewrite method for linking and choosing multiple intersections in the same location.
The special handling of overlaps reduces the amount of remaining glitches substantially.
Relates to #784.
|
2015-10-06 21:09:35 +02:00 |
|
Jürg Lehni
|
05bc6afdbb
|
Always give intersection segment priority over current segment if valid.
Fixes example 22 in #784, doesn't seem to introduce new issues, unlike last time I tried this approach.
|
2015-10-05 05:34:22 +02:00 |
|
Jürg Lehni
|
5601e21996
|
Make sure the two locations are actually part of the same path before comparing index / parameter values.
|
2015-10-04 10:14:04 +02:00 |
|
Jürg Lehni
|
ebc956353f
|
Move code to adjust segments after split to CurveLocation.
|
2015-10-04 02:25:33 +02:00 |
|
Jürg Lehni
|
79cb216684
|
Define CurveLocation#isOverlap() and improve documentation of various related methods.
|
2015-10-03 17:15:45 -04:00 |
|
Jürg Lehni
|
50c7473337
|
Improve CurveLocation#add() and #equals() to better merge locations.
Before, very close locations over curve boundaries where not merged.
|
2015-10-03 10:40:13 -05:00 |
|
Jürg Lehni
|
53ff973f06
|
Perform the faster check first.
|
2015-10-01 03:38:35 -05:00 |
|
Jürg Lehni
|
d385d25a51
|
Include comment regarding CurveLocation#equals() modification.
|
2015-09-30 13:48:28 -05:00 |
|
Jürg Lehni
|
2a7d1c5728
|
Improve CurveLocation#equals()
Relates to #784, described in https://github.com/paperjs/paper.js/issues/784#issuecomment-143161586
|
2015-09-30 12:47:02 -05:00 |
|
Jürg Lehni
|
fd927cbe22
|
Properly solve issues with self-intersecting special case.
(e.g. shapes resembling the infinity sign)
|
2015-09-24 12:49:39 -04:00 |
|
Jürg Lehni
|
812ac63e60
|
Compare points instead of curve time paramters for better precision and reliability.
|
2015-09-21 10:53:53 -04:00 |
|
Jürg Lehni
|
1ad95c9020
|
Improve CurveLocation.add() to always merge duplicates.
We nee to check neighbors of the found location too.
|
2015-09-21 07:06:41 -04:00 |
|
Jürg Lehni
|
1302df0cb8
|
Fix variable leackage.
|
2015-09-20 23:22:31 +02:00 |
|
Jürg Lehni
|
a95ba12bc3
|
isCrossing() needs parameter checks on both curves.
|
2015-09-18 22:26:09 +02:00 |
|
Jürg Lehni
|
73a9989261
|
Fix CurveLocation#isCrossing() for locations in the middle of curves.
|
2015-09-18 17:32:19 +02:00 |
|
Jürg Lehni
|
17356637ac
|
Clean up new CurveLocation code.
|
2015-09-17 10:18:45 +02:00 |
|
Jürg Lehni
|
2750c34090
|
Improve the way intersections are sorted and merged.
Use a binary search to determine insertion index and compare with neighbours to eliminate doubles.
|
2015-09-17 01:03:13 +02:00 |
|