Commit Graph

106 Commits (1c8ca10f73e242a4c31bfdab3152c2ebddb01968)

Author SHA1 Message Date
Michael X. Grey 1c8ca10f73 Print out some paths to see that they're sane 2018-05-10 17:06:16 -07:00
Michael X. Grey 457a054fb8 Improve the way the svg namespace is handled 2018-05-10 17:05:47 -07:00
Michael X. Grey a29b392234 Debugging xml namespace behavior -- needs improvement 2018-05-10 16:45:41 -07:00
Michael X. Grey be675f1b1c Clean up implementation of document classes 2018-05-10 12:55:19 -07:00
Michael X. Grey f5a7fe77d1 Refactoring flatten_paths() into flatten_all_paths() 2018-05-09 17:40:49 -07:00
Michael X. Grey 3512f86968 Beginning to write tests for groups 2018-05-09 17:39:54 -07:00
Michael X. Grey 332e959f52 Finish implementation of flatten_paths 2018-05-08 16:52:36 -07:00
Michael X. Grey 88e21fcbc0 Fix merge conflicts with master 2018-05-08 13:24:50 -07:00
Michael X. Grey 70f6a78288 Implementing a depth-first flattening of groups 2018-05-08 13:22:19 -07:00
Michael X. Grey 8a4801bcde Tweaks to transform parsing implementation 2018-05-08 11:55:37 -07:00
Michael X. Grey 17d283abe0 Iterate on the implementation of the Document class 2018-05-07 18:31:06 -07:00
Michael X. Grey 9370d3f5a2 Add a method to parse transform strings 2018-05-07 18:30:15 -07:00
Michael X. Grey f2897f6b79 Make the Document class available when importing the library 2018-05-07 18:29:19 -07:00
Andy Port 71b4403375
fix typo `joins_smoothl_with` 2018-04-13 14:34:28 -07:00
Andy Port 29a49197a7
Merge pull request #42 from SebKuzminsky/line-line-intersect
Fix Line.intersect(Line) (bug #41)
2018-02-27 22:38:33 -08:00
Andy Port a50c522f86
use np.close to check to check for vanishing denom
Just to offer users some amount of control over the tolerance.
2018-02-27 22:38:01 -08:00
Sebastian Kuzminsky 89d9acf06e Line.intersect(Line): fix a "miss some intersections" bug
Negative numbers are allowed in the denominator, what we really want to
avoid is near-zero denominators.
2018-01-20 20:46:54 -07:00
Sebastian Kuzminsky cc4573ffc7 add a failing Line.intersect(Line) test
I introduced this bug recently, sorry!  The bug is fixed in the following
commit.
2018-01-20 20:45:47 -07:00
Sebastian Kuzminsky de600f9b91 rename test to make room for more 2018-01-20 20:36:06 -07:00
Sebastian Kuzminsky fc34d2c4cf deal with float rounding error in Line.intersect(Line)
This commit fixes #41.

In the test case added in the previous commit, two non-intersecting lines
are very nearly collinear, but float rounding errors lead to incorrect
intersections reported.

This commit makes Line.intersect() treat denominators below 1e-9 as 0,
to make it more accepting of float rounding.
2018-01-06 23:15:43 -07:00
Sebastian Kuzminsky 847b270bc2 add a failing Line.intersect(Line) test
These two lines are parallel but do not intersect.  Line.intersect()
finds an incorrect intersection.
2018-01-06 23:05:55 -07:00
Andy bf95944c49 moved test for checking if `Arc()` throws `acos` domain error due to numerical error 2017-12-26 00:57:48 -05:00
Andy Port 50d7db0352
Merge pull request #31 from andersgb/acos-roundoff-fix
Arc parsing round-off fix
2017-12-25 23:55:26 -05:00
Andy Port c32c7a627b
Merge pull request #34 from SebKuzminsky/fixup-offset-example
README: fix a type error in Offseting Paths example
2017-12-23 02:51:50 -08:00
Sebastian Kuzminsky 2a456b168d README: remove dead code from Offsetting Paths example 2017-12-18 08:22:40 -07:00
Sebastian Kuzminsky 8c93eb0f2f README: fix a type error in Offseting Paths example
Before this commit the `t = k / steps` math is done with integers,
which always results in `t = 0`.

This commit forces the math to be done with floating-point numbers,
which results in the progression of `t` values we want.
2017-12-18 00:07:26 -07:00
Andy b54bf778b4 changed version number in preparation for PyPI update 2017-11-27 15:27:25 -08:00
Andy Port 1f074d5adc
changed setup to auto-install svgwrite + numpy 2017-11-27 15:17:29 -08:00
Anders Granskogen Bjørnstad ec63d0c312 Arc: Handle round-off issue with acos()
math.acos raises outside of valid range [-1, 1]. Handle round-off errors
gracefully by using `round()` here too.
2017-11-10 13:44:24 +01:00
Anders Granskogen Bjørnstad 316dc8bfe9 test_parsing.py: Add test_roundoff example
This test currently fails due to math.acos(1.0000000000001) raising a
ValueError.
2017-11-10 13:43:39 +01:00
Andy 52ffcf1746 made some design changes 2017-09-19 20:47:36 -04:00
Andy 4d18ef885f style changes 2017-09-14 22:17:58 -04:00
Andy 8a44431d5a fixed documentation line-width to be PEP 8 compliant 2017-09-14 22:16:37 -04:00
Andy 5489321203 fixed documentation line-width to be PEP 8 compliant 2017-09-14 22:06:25 -04:00
Andy Port 5d65d575b5 Merge pull request #25 from mathandy/svgwrite-debug-false-by-default
now disvg and wsvg pass `debug=False` into svgwrite.Drawing() by default
2017-07-22 15:04:56 -07:00
Andy 586bccd0f2 now svgwrite debug is false by default 2017-07-18 20:01:37 -07:00
Andy Port f9229ca9bf minor change 2017-07-18 18:36:36 -07:00
Andy 5b1d0dc9cd added CONTRIBUTION.md -- guidelines for contributors 2017-07-18 18:33:00 -07:00
Andy d20ef060aa Some progress (and added CONTRIBUTING.md) 2017-07-13 20:41:55 -07:00
Andy e8367d463a added svg (planning to make unittest in future)
TODO: create unittest for rect element support
2017-04-26 02:21:43 -07:00
Andy 38eeac858c fixed support for rectangles when no x,y attributes are specified
defaults to 0,0
2017-04-26 02:21:01 -07:00
Andy d670547149 added polygon() and polyline() to __init__ 2017-04-26 02:20:11 -07:00
Andy a094f92b3a added polyline and polygon functions (points --> Path of Line objects) 2017-04-26 01:54:44 -07:00
Andy a3a529899c added rect element support to svg2paths 2017-04-26 01:53:34 -07:00
Andy 1d1bec1877 add ellipse/circle option to svg2paths2 and change return_svg_attributes to be second argument. 2017-04-23 01:14:59 -07:00
Andy aa02116e87 prettify svg2paths docstring (Google style) 2017-04-23 01:12:12 -07:00
Andy 900d5ba93b fixed typo and long line in docstrings 2017-04-23 00:45:41 -07:00
Andy Port 9a1b1ff1e5 Merge pull request #21 from jpcofr/ellipse_d_squashed
Added functionality to extract circle and ellipse elements from SVG files.  Circles and ellipses are treated as paths of two `Arc` objects.
2017-04-23 00:33:06 -07:00
Juan Pablo Contreras Franco cf91c95724 Merge 2017-04-23 07:53:10 +02:00
Juan Pablo Contreras Franco 216965e6ab Corrected wrongly deleted docstring line 2017-04-23 07:50:43 +02:00