Commit graph

3865 commits

Author SHA1 Message Date
Jürg Lehni
9540b7f6a9 Use addLineIntersection() in subdivision algorithm as well. 2013-05-26 17:10:29 -07:00
Jürg Lehni
20737c6664 Rename various intersection methods. 2013-05-26 17:06:23 -07:00
Jürg Lehni
da8898abd2 Fix newly introduced bug in Line.getSide() through variable renaming. 2013-05-26 17:05:10 -07:00
Jürg Lehni
bd33446c7c Do not smooth graphs for clearer results. 2013-05-26 16:59:01 -07:00
Jürg Lehni
5d7cc2fb40 Use new Line.getSignedDistance(). 2013-05-26 16:58:49 -07:00
Jürg Lehni
f771233d37 Speed up Line class by removing internal dependance on Point. 2013-05-26 16:58:34 -07:00
Jürg Lehni
c9a669ae37 Improve fat-line charts for better comparison of results. 2013-05-26 16:15:59 -07:00
Jürg Lehni
80f9f6061c Change the way the Line class handles direction vectors and infinite lines.
The beginning of performance improvements in the Line class.
2013-05-26 15:44:52 -07:00
Jürg Lehni
1fb0a3a13c Always provide t parameter for CurveLocations if we know it. 2013-05-25 11:23:59 -07:00
Jürg Lehni
502c76dbce Start merging fat-line clipping code into Curve class.
And add a prepro option for now.
2013-05-24 22:30:13 -07:00
Jürg Lehni
7f00ef8f05 Fix white-spaces. 2013-05-24 22:25:22 -07:00
Jürg Lehni
f28e6ba372 Merge handling of flat curves. 2013-05-24 22:03:42 -07:00
Jürg Lehni
44be94e55e More getConvexHull() clean up. 2013-05-24 21:47:19 -07:00
Jürg Lehni
6374164de7 Remove unused variable dqmin. 2013-05-24 21:32:15 -07:00
Jürg Lehni
b1562d7594 Further clean up clipFatLine() 2013-05-24 21:31:32 -07:00
Jürg Lehni
696887477a Some clean up in clipFatLine() 2013-05-24 21:24:52 -07:00
Jürg Lehni
24f61c854a Merge the two convergence checks to one. 2013-05-24 21:11:10 -07:00
Jürg Lehni
ec1ef905cf Simplify convergence checks. 2013-05-24 21:10:02 -07:00
Jürg Lehni
eeac15ac46 Rename p\d to part\d 2013-05-24 21:05:20 -07:00
Jürg Lehni
9cf6536e5b Rename v\dt to range\d 2013-05-24 21:02:58 -07:00
Jürg Lehni
08245f936b Simplify handling of ranges and curve parts. 2013-05-24 21:01:37 -07:00
Jürg Lehni
1d1375915a Switch to using arrays rather than objects for parameter ranges. 2013-05-24 20:50:28 -07:00
Jürg Lehni
4a53767021 Reverse logic of v1t / _v1t naming and switch to using Numerical constants. 2013-05-24 20:39:40 -07:00
Jürg Lehni
6eab957fce Re-implement Curve.getLocation2() as "hub" for all the different intersection methods. 2013-05-24 20:25:29 -07:00
Jürg Lehni
7ef52b3dd4 Use break; instead of return; and untangle unnecessarily nested conditionals. 2013-05-24 20:12:42 -07:00
Jürg Lehni
d77fc505c7 Define private addLocation() to reduce code redundancy. 2013-05-24 20:04:48 -07:00
Jürg Lehni
be76cf22bb Correctly handle calculation of CurveLocation point in getCurveIntersections(). 2013-05-24 19:56:40 -07:00
Jürg Lehni
7f03ff83af Move Curve.getIntersection2 to private function and better name other private functions. 2013-05-24 19:55:17 -07:00
Jürg Lehni
26d79e6c16 Always use parameter in getCurveLineIntersection() by flipping curve1 / 2 values as well. 2013-05-24 19:53:30 -07:00
Jürg Lehni
d964ca3496 More fat-line refactoring.
Renaming and simple clean ups.
2013-05-24 19:36:26 -07:00
Jürg Lehni
f387d1596e Further simplify fat line code. 2013-05-24 18:00:28 -07:00
Jürg Lehni
7e5f846190 Remove debugging code. 2013-05-24 17:57:13 -07:00
Jürg Lehni
bd3ac02bbe Use Curve instead of this.
Compresses better and allows passing on function as callback.
2013-05-24 17:52:05 -07:00
Jürg Lehni
fb477da0e4 Scope fat-line code, fix variable leakage and rename private functions. 2013-05-24 17:50:10 -07:00
Jürg Lehni
f33d49acc1 Further clean up code. 2013-05-24 17:43:49 -07:00
Jürg Lehni
1eb1580112 More code clean-up.
Keep it all to 80 chars per line, and some more coding convention enforcements.
2013-05-24 17:40:11 -07:00
Jürg Lehni
662736ebf2 Move getIntersections2 to PathItem.prototype. 2013-05-24 17:27:56 -07:00
Jürg Lehni
e359dd038c Add explaining comment. 2013-05-24 17:14:39 -07:00
Jürg Lehni
ed572e7d48 Do not pre-calculate numeric values, count on optimizing JS engines to do that for us. 2013-05-24 17:14:23 -07:00
Jürg Lehni
aac8bf83fd Convert to Paper.js coding conventions. 2013-05-24 17:08:28 -07:00
Jürg Lehni
eb7ff2dc1d Adjust script urls. 2013-05-24 17:01:48 -07:00
Jürg Lehni
c8724aafad Merge 'fatline/master' 2013-05-24 16:59:45 -07:00
Jürg Lehni
8100bb2009 Removing .gitignore 2013-05-24 16:58:24 -07:00
hkrish
239462b5a4 Return only the "valid" intersections, by backtracing, like in paperjs 2013-05-20 19:26:16 +02:00
hkrish
254de9e453 Move the debug helper functions to the test file for now. 2013-05-20 19:21:32 +02:00
hkrish
3e8c6300bc Account for total curves in the random tests. 2013-05-19 18:34:05 +02:00
hkrish
0647792a4f Plot the random test results 2013-05-19 18:22:07 +02:00
hkrish
9806173d3f Increase the recusion depth cut-off. And voilà!! 2013-05-19 18:21:41 +02:00
hkrish
3a881e3a14 Resolve some bad clipping 2013-05-19 16:22:15 +02:00
hkrish
e6a98b4f18 More failure cases 2013-05-16 21:26:20 +02:00