Commit graph

177 commits

Author SHA1 Message Date
Jürg Lehni
4ed9ef54f2 Fix bug in Curve.filterIntersections() and clean up code a bit. 2015-01-02 21:19:18 +01:00
Jürg Lehni
b2261fd512 Introduce Curve.filterIntersections() and use it both in PathItems#getIntersections() and Curve#getIntersections() 2015-01-02 21:00:05 +01:00
Jürg Lehni
782bde238c Find a more general implementation for Item#intersects(item). 2014-10-20 18:00:07 +02:00
Jürg Lehni
5ddbc5b07f Implement Item#intersects(item) 2014-10-20 17:00:18 +02:00
Jürg Lehni
b3c7be67fc Support optional hidden matrix argument in #getIntersections()
...in order to provide an alternative matrix for the passed path to check against.
2014-10-20 16:53:49 +02:00
Jürg Lehni
dd99db8d2d Allow 'false' as well as 'off' for hidpi attribute, since that's what's in use for other attributes as well. 2014-09-26 18:03:37 +02:00
Jürg Lehni
48cb05a181 Replace tabs with 4 white-spaces. 2014-08-16 19:24:54 +02:00
hkrish
ccbf4579fd Don't remove the only intersection.
The previous code wrongly compared an intersection with itself while checking for duplicates.
2014-06-21 10:31:07 +02:00
Jürg Lehni
9d7ec13724 Update prepro.js to version that can evaluate whole expressions, and fix a newly introduced issue with it. 2014-05-14 15:14:03 +02:00
Jonathan Puckey
04e90ec3f4 Improve PathItem#getIntersections(path, sorted) docs. 2014-04-28 18:58:19 +02:00
Jürg Lehni
19630d6229 Fix spelling mistakes. 2014-04-24 19:34:49 +02:00
Jürg Lehni
f002c633a7 Remove trailing white spaces and ensure newlines at the end. 2014-04-06 13:48:03 +02:00
Jürg Lehni
59da291d54 Remove tabs in examples in favor of 4 spaces.
To remove all these annoying JSHint complaints.
2014-04-02 21:03:35 +02:00
Jürg Lehni
fa9786b344 Switch to new simpler convention for control of beans creation in straps.js 2014-04-02 20:53:18 +02:00
Jürg Lehni
4108e9487b Add optional joining behavior to PathItem#closePath() again and use it in #setPathData(). 2014-03-31 19:33:38 +02:00
Jürg Lehni
7c447c8c5a Move segment merging logic from Path#closePath() to Path#join()
Closes #435
2014-03-31 18:14:58 +02:00
Jonathan Puckey
400bc69159 Remove unnecessary commas.
Found using jscritic.com.
2014-03-28 14:02:39 +01:00
Jürg Lehni
438de7013a Correctly handle groups as clipping masks.
Closes #370.
2014-03-17 14:51:47 +01:00
Jürg Lehni
2a08a88461 Avoid calling #moveTo() twice in SVG 'zm' path data sequence. 2014-03-16 22:44:46 +01:00
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