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 |
|
Jürg Lehni
|
b2127a83ad
|
Revert "Do not start with segments with multiple intersections."
This reverts commit 5129fb0050 .
|
2015-10-09 10:22:54 +02:00 |
|
Jürg Lehni
|
514e6651e6
|
Revert "Avoid all intersections as starting points for boolean paths."
This reverts commit 9590578339 .
|
2015-10-09 10:19:05 +02:00 |
|
Jürg Lehni
|
c45ae4b51a
|
Revert "Never starting in intersections allows for further code simplifications."
This reverts commit 892154e8f8 .
|
2015-10-09 10:18:45 +02:00 |
|
Jürg Lehni
|
892154e8f8
|
Never starting in intersections allows for further code simplifications.
|
2015-10-09 00:03:34 +02:00 |
|
Jürg Lehni
|
9590578339
|
Avoid all intersections as starting points for boolean paths.
|
2015-10-08 23:56:18 +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
|
5129fb0050
|
Do not start with segments with multiple intersections.
Simplifies the required checks at the end, and generally reduces number edge cases.
|
2015-10-08 23:38:41 +02:00 |
|
Jürg Lehni
|
c9eba83cc7
|
Improve detection of start segments.
Segments with multiple intersections need to be checked thoroughly to avoid errors.
|
2015-10-08 23:13:37 +02:00 |
|
Jürg Lehni
|
e92a71e8c7
|
Switch to improved version of Line. getSignedDistance()
Based on the error analysis by @iconexperience outlined in #799
|
2015-10-08 22:56:05 +02:00 |
|
Jürg Lehni
|
5c70f47b6f
|
Fix colors in reportWindings code.
|
2015-10-07 23:37:09 +02:00 |
|
Jürg Lehni
|
15d797ac55
|
Improve linkIntersections() to prevent endless recursions in linked intersections.
|
2015-10-07 17:20:08 +02:00 |
|
Jürg Lehni
|
3e9d7593cf
|
Some smaller tweaks in tracePaths()
|
2015-10-07 10:58:29 +02:00 |
|
Jürg Lehni
|
4fac3ee6fc
|
Rename getIntersection() -> getBestIntersection()
|
2015-10-07 10:57:43 +02:00 |
|
Jürg Lehni
|
bfa0459c52
|
Go back to using Group for divide() results.
As they may contain multiple CompoundPaths.
|
2015-10-07 10:57:09 +02:00 |
|
Jürg Lehni
|
1103c7036f
|
Remove unnecessary isValid() check on segments without intersections.
It was only causing issues without solving anything.
|
2015-10-07 02:02:27 +02:00 |
|
Jürg Lehni
|
8c56a1a110
|
Include _visited checks in isValid() calls.
This magically reduces the remaining glitches in @iconexperience's test-suite to half.
Relates to #784.
|
2015-10-06 22:23:43 +02:00 |
|
Jürg Lehni
|
896b068266
|
Switch from recursion to a simple loop in getIntersection()
|
2015-10-06 21:30:51 +02:00 |
|
Jürg Lehni
|
8e4bef217a
|
Change Curve.getParameterOf() to accept a point instead of x, y arguments.
|
2015-10-06 21:24:58 +02:00 |
|
Jürg Lehni
|
525e35518d
|
No need to default to 0 anymore.
See 1b343d5347 (commitcomment-13622714)
|
2015-10-06 21:16:49 +02:00 |
|
Jürg Lehni
|
bc736f439f
|
Have Numerical.CURVETIME_EPSILON / 10 evaluated at preprocess time.
|
2015-10-06 21:14:43 +02:00 |
|
Jürg Lehni
|
7f4d8d54f0
|
Reduce epsilon in addCurveIntersections()
1/10 of CURVETIME_EPSILON appears to produce good results. It's probably wise to keep it linked.
|
2015-10-06 21:14:04 +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
|
adabe9126a
|
Simplify calculation of tMinNew and tMaxNew.
As suggested by @iconexperience in https://github.com/paperjs/paper.js/issues/795#issuecomment-145918347
|
2015-10-06 20:15:15 +02:00 |
|
Jürg Lehni
|
1b343d5347
|
Rewrite 04cab797db to only use one return statement.
|
2015-10-06 16:31:30 +02:00 |
|
Jürg Lehni
|
99d969e962
|
Merge pull request #798 from iconexperience/Improve-clipConvexHullPart
Improve clipConvexHullPart()
|
2015-10-06 16:21:41 +02:00 |
|
Jürg Lehni
|
3a65c87843
|
Some code formatting and a fix for a typo in new getConvexHull()
|
2015-10-06 16:09:35 +02:00 |
|
Jürg Lehni
|
6b421d5f72
|
Merge pull request #797 from iconexperience/New-getConvexHull
Faster simpler and more reliable implementation of getConvexHull()
|
2015-10-06 16:03:45 +02:00 |
|
Jan
|
04cab797db
|
Improve clipConvexHullPart()
Separately handle special cases
|
2015-10-06 15:25:40 +02:00 |
|
Jan
|
ea035bd9e4
|
New getConvexHull()
|
2015-10-06 15:19:33 +02:00 |
|
Jürg Lehni
|
b3d45b6624
|
Some code clean-up in addCurveIntersections()
|
2015-10-05 19:32:13 +02:00 |
|
Jürg Lehni
|
c8132584b9
|
Pass on original curves to addLocation(), to correctly determine p1 and p2.
This fixes one glitch in @iconexperience's test suite.
|
2015-10-05 19:31:38 +02:00 |
|
Jürg Lehni
|
fcdf916863
|
Some tweaks to debugging code.
Leave open path artifacts clearly visible for now, so they can be more easily detected.
|
2015-10-05 17:42:01 +02:00 |
|
Jürg Lehni
|
aa3f527ca6
|
Minor code clean-up.
|
2015-10-05 17:35:54 +02:00 |
|