Commit graph

158 commits

Author SHA1 Message Date
Jürg Lehni
c84c019990 Add TODO and DOC for new #arcTo(to, radius, rotation, clockwise, large) 2014-03-13 17:46:31 +01:00
Jürg Lehni
42558fa057 Changes to new #arcTo(): Rename sweep -> clockwise and change argument sequence, as clockwise is more often used than large. 2014-03-13 16:35:56 +01:00
Jürg Lehni
6c7c4d0798 Close previous paths if followed by a new M command. 2014-03-13 03:28:46 +01:00
Jürg Lehni
10c28a301e Fix compare statements. 2014-03-13 01:04:31 +01:00
Jürg Lehni
e80991658b Fix issue with relative commands after Z.
Closes #413.
2014-03-13 00:52:24 +01:00
Jürg Lehni
afcabea1a7 Fix issue with Z in the middle of SVG path data, not followed by a M command.
Closes #413.
2014-03-12 23:24:09 +01:00
Jürg Lehni
56335ae5f5 Implement SVG-style #arcTo() version.
This should fix the arc related part of issue #413.
2014-03-12 23:00:47 +01:00
Jürg Lehni
dc76ef144e Remove accidentally committed console.log() 2014-03-12 21:34:52 +01:00
Jürg Lehni
2f5a9bb70d Fix SVG issues with reflected control points in the commands 'SsTt'
Relates to issue #413
2014-03-03 08:57:33 +01:00
Jürg Lehni
f4baf690f8 Fix issue introduced in 0ce89fa47c 2014-02-24 21:30:12 +01:00
Jürg Lehni
3e49e3a5f1 Find better names for constants that represent almost 0 and almost 1. 2014-02-24 20:30:20 +01:00
hkrish
9e799d09eb Self-Intersections: Restore the logic issues while cleaning up 2014-02-23 16:44:07 +01:00
hkrish
49ddfafe4d Handle stationary points in #getWinding method. 2014-02-22 18:56:19 +01:00
Jürg Lehni
b4bc16330a Remove redundant comment. 2014-02-20 20:59:54 +01:00
Jürg Lehni
daa4c12b46 Revert bdcfb60a9a
Since it broke the last example of BooleanOperations.html
2014-02-20 20:58:39 +01:00
Jürg Lehni
64fa328f65 Move all winding related code to PathItem.Boolean and introduce __options.booleanOperations switch.
Fall back to __options.nativeContains if __options.booleanOperations is not included.
2014-02-20 19:50:37 +01:00
Jürg Lehni
b48321e78d Some more code and comments clean-up. 2014-02-20 18:00:56 +01:00
Jürg Lehni
bdcfb60a9a Improve handling of tMin and tMax in self-intersection code in PathItem#getIntersections() 2014-02-20 17:55:39 +01:00
Jürg Lehni
f782abd0d7 Some more clean-up in PathItem#getIntersections() 2014-02-20 17:49:19 +01:00
Jürg Lehni
5d2ff7e9ff Merge PathItem#getIntersections() and PathItem. _filterIntersections() 2014-02-20 17:03:18 +01:00
Jürg Lehni
0ce89fa47c Simplify self-intersecting code in PathItem#getIntersections() by passing on tMin, tMax, uMin & uMax to Curve#getIntersections(). 2014-02-20 17:02:32 +01:00
Jürg Lehni
4ec3daf4d1 Merge PathItem#getIntersections() and #getSelfIntersections() 2014-02-20 16:26:47 +01:00
Jürg Lehni
e11b6138bd Rename PathItem. _conditionIntersections() to _filterIntersections() and clean up code. 2014-02-20 15:38:31 +01:00
Jürg Lehni
5e7b15c64e Remove need for sorted list of intersection curves, use variables instead. 2014-02-20 15:17:39 +01:00
Jürg Lehni
b960cbc07b Further simplifications in PathItem._tracePaths() 2014-02-20 15:17:08 +01:00
Jürg Lehni
abb2b0dec9 Simplify and merge conditions for path removal in _tracePaths() 2014-02-20 14:16:04 +01:00
Jürg Lehni
50433400f0 More clean-up and some variable renaming. 2014-02-20 14:13:43 +01:00
Jürg Lehni
de6650a6ca More simplifications in PathItem._getWinding() 2014-02-20 13:46:10 +01:00
Jürg Lehni
a2941472b5 More PathItem._tracePaths() streamlining.
Work in progress.
2014-02-20 10:16:00 +01:00
Jürg Lehni
2a58828e81 Fix issue with curve tangents in rare edge-cases.
We should fix Curve.evaluate() for these instead.
2014-02-20 03:22:38 +01:00
Jürg Lehni
b89fc84789 Start simplifying PathItem#_tracePaths() code by using improved Curve#evaluate() and relying on Path#reduce(). 2014-02-20 02:52:20 +01:00
Jürg Lehni
4453f68cfa Revert handling of linear segment reseting, as it broke some rare boolean tests. 2014-02-20 02:13:55 +01:00
Jürg Lehni
d730b75073 Simplify and clean-up PathItem._splitPath() code. 2014-02-20 01:56:49 +01:00
Jürg Lehni
56bf87ce84 Rename _getMonotoneCurves() to _getMonoCurves()
Shorter is better...
2014-02-20 00:24:09 +01:00
Jürg Lehni
36394c4c56 Simplify and clean-up PathItem._getWinding() code. 2014-02-20 00:19:44 +01:00
Jürg Lehni
8726a3f082 Reformat documentation comments and change wording to follow existing documentation convention. 2014-02-19 23:17:59 +01:00
Jürg Lehni
19d84a8a8d Rename Path._getWindingNumber to _getWinding (to reflect the naming of the existing Path#_getWinding). 2014-02-19 22:18:51 +01:00
Jürg Lehni
9de4189233 Minor simplification. 2014-02-19 14:28:35 +01:00
Jürg Lehni
74a153dd88 Some code clean-up.
More to come.
2014-02-17 20:59:38 +01:00
Jürg Lehni
73627346c0 Remove unnecessary paper namespace prefixes inside the library. 2014-02-17 20:36:41 +01:00
hkrish
e88ae54a22 _tracePaths: support self-intersections 2014-02-16 18:47:11 +01:00
hkrish
16ecbbafad Remove debug notes and helpers 2014-02-15 23:19:27 +01:00
hkrish
83eaf70ee4 Fix regression: getLength has been split to getLength and getPartLength in master branch 2014-02-15 00:04:05 +01:00
hkrish
87ded4dcff Merge master 2014-02-15 00:02:02 +01:00
hkrish
a798b553a2 Remove old tracePaths method 2014-02-14 22:52:32 +01:00
hkrish
ea29e65e6b _tracePaths: Switch contours only if necessary 2014-02-14 22:50:55 +01:00
hkrish
26ef85930d _tracePaths: Calculate correct entry&exit tangents. 2014-02-11 19:18:54 +01:00
hkrish
099f2d411e _tracePaths: Optimize contour selection a bit. 2014-02-10 22:13:03 +01:00
hkrish
2121b564d0 _tracePaths: Avoid traversing to visited segments 2014-02-10 22:12:32 +01:00
hkrish
dfd1c97a4f Bug fixes in the tracePath method to work with self-Intersection resolution 2014-02-10 22:12:13 +01:00