Commit graph

5111 commits

Author SHA1 Message Date
Jürg Lehni
878be7962e Merge branch 'refs/heads/master' into solve-cubic
Conflicts:
	src/path/Curve.js
	src/path/PathItem.Boolean.js
	src/util/Numerical.js
2015-01-02 15:33:23 +01:00
hkrish
6c6ad76c94 Handle overlapping intercepts in getIntersection,
In a more robust way. Restricting ranges in parameter is not a nice way
to handle endpoint intersections.
2014-05-17 13:43:46 +02:00
hkrish
e5e2a8d7d4 Revert "Correct boolean condition in getWinding."
This reverts commit fcc2e93daf.
2014-05-13 20:41:48 +02:00
hkrish
fcc2e93daf Correct boolean condition in getWinding.
Also clarify the condition using braces
2014-05-13 20:14:53 +02:00
Jürg Lehni
c64f177583 Simplify linearHandles code changes a bit. 2014-05-08 10:48:22 +01:00
hkrish
4cc2deb3f8 Remove the debug code in curve#solveCubic
The cubic and quadratic solver has been tested with > 2 million
equations as of now. We need more rigorous tests however.
2014-05-05 18:48:30 +02:00
hkrish
1c9d1de380 Boolean: handle linear segments correctly.
Earlier implementation was unfinished and did not reset some handles to
linear, this caused the winding to be miscalculated.
2014-05-05 18:46:39 +02:00
hkrish
10c5b389c7 Pre-condition the coefficients in quadratic solver
We need well conditioned quadratics to guarantee numerical accuracy.
2014-05-05 18:44:15 +02:00
hkrish
6662209e15 Update the Machine Epsilon parameter.
Used in numerical routines.
2014-05-05 18:40:56 +02:00
Jürg Lehni
0168e41be0 Add old cubic solver code for comparison, and use console.log() in Curve.solveCubic() to log values with different results. 2014-04-29 00:11:13 +02:00
Jürg Lehni
ab8ef47d68 Switch to new cubic solver code by @hkrish. 2014-04-28 16:44:46 +02:00
Jürg Lehni
a9618b50f8 Small fix in Segment#linear. 2014-04-28 16:43:11 +02:00
Jürg Lehni
42ab9bbda7 Improve unit tests for CompoundPath#contains() 2014-04-28 16:42:34 +02:00
Jürg Lehni
ad4f74a872 Fix bugs when dynamically loading paper.js source code in Node. 2014-04-28 16:42:06 +02:00
Jürg Lehni
e851090c81 Fix bug in item object literal constructor when providing parent as property after other values that depend on hierarchy being defined already. 2014-04-28 15:12:55 +02:00
Jürg Lehni
364c31b0f6 Remove TODOs for already implemented functions. 2014-04-28 14:25:15 +02:00
Jürg Lehni
42945825e8 Fix all argument assignment TODOs. 2014-04-28 14:22:50 +02:00
Jonathan Puckey
af84a52af8 Move around Item#isInserted() code so it shows up in the Tests group section in the docs. 2014-04-27 23:59:01 +02:00
Jonathan Puckey
12d7756892 Add more matching docs. 2014-04-27 23:40:43 +02:00
Jonathan Puckey
f0db48a77f More work on Project#getItems(match) docs. 2014-04-27 23:08:42 +02:00
Jonathan Puckey
c1dda3c2a3 Update Project#getItems test to reflect new functionality. 2014-04-27 23:06:07 +02:00
Jürg Lehni
320caa56d1 Add support for line dash to ProxyContext. 2014-04-27 17:36:31 +02:00
Jürg Lehni
c5b317600a Support comparing colors with string values in Color#equals(). 2014-04-27 11:16:22 +02:00
Jonathan Puckey
46ef242e46 Documentation for Project#getItems(match) 2014-04-25 17:00:48 +02:00
Jürg Lehni
19630d6229 Fix spelling mistakes. 2014-04-24 19:34:49 +02:00
Jürg Lehni
28e759a28a fix spelling mistakes. 2014-04-21 10:30:38 +02:00
Jürg Lehni
28871534c2 Always use tolerance 0 in mouse event hit-tests.
Mouse events should imitate native events, so they can also be partly replaced by them on some backends (e.g. SVG).
2014-04-21 10:30:38 +02:00
Jonathan Puckey
db4a24fa38 Fix spelling mistake in README 2014-04-15 17:37:40 +02:00
Jonathan Puckey
4aaf689c1e Add tests for Item#getItems, Item#match & Project#getItems. 2014-04-15 17:10:47 +02:00
Jürg Lehni
9ccba17fbe Clean up white-space, comments and jshint errors. 2014-04-14 18:29:26 +02:00
Jürg Lehni
d0d4b29856 Fix bugs in bounds caching algorithm. 2014-04-13 18:31:01 +02:00
Jürg Lehni
93a97c7446 Reflect recent change in Item#hitTest() options. 2014-04-13 18:12:40 +02:00
Jürg Lehni
6af797bbad Optimize handling of property object in Item constructor.
Only check for values if it is a plain object, and avoid inserting into DOM twice if parent is specified.
2014-04-13 18:12:19 +02:00
Jürg Lehni
ee729622e0 Correctly handle Raster#setImage(null) 2014-04-13 18:11:34 +02:00
Jürg Lehni
ea81df6572 Fix spelling mistakes. 2014-04-13 17:03:44 +02:00
Jürg Lehni
db2bdf84af Allow the JS optimizer to better do its thing by creating local references to repeatedly used class variables. 2014-04-13 16:44:49 +02:00
Jürg Lehni
dafdd0ae28 Avoid double-insertion of root layer when importing JSON directly into it. 2014-04-13 16:44:00 +02:00
Jürg Lehni
397c81e060 Switch from options.type to options.class in Item#hitTest(), to reflect recent change in Item#getItems(). 2014-04-13 16:43:20 +02:00
Jürg Lehni
a931a2530c Implement options.curvesoption for hit-testing curves regardless of stroke settings. 2014-04-11 14:57:58 +02:00
Jürg Lehni
d12607dd44 Use a Base object for PaperScope#settings and update straps.js to version that offers Base#set(). 2014-04-11 13:32:06 +02:00
Jürg Lehni
1f7cb30fa5 Correctly transform Item#pivot when #matrix is applied to an item's contents.
Closes #452 and defines unit tests to cover this bug.
2014-04-11 13:18:27 +02:00
Jürg Lehni
86277f0578 Reversing path direction needs to trigger a GEOMETRY change. 2014-04-10 22:37:11 +02:00
Jürg Lehni
8ab4df1979 Fix a bug where the selection of compound path children doe not get drawn when the ctx.currentPath optimisation is in use. 2014-04-10 22:28:21 +02:00
Jürg Lehni
1bede6f7ec Implement tests for hit-testing compound-paths. 2014-04-10 22:27:29 +02:00
Jürg Lehni
eea4e533a4 Support type: Class filters in hit-testing code too. 2014-04-10 22:27:03 +02:00
Jürg Lehni
61c2b11938 Serialize #applyMatrix before #matrix, because in deserialization its setting will affect how #matrix is read.
Closes #451.
2014-04-09 11:57:25 +02:00
Jürg Lehni
59d0402bf0 Have publish.sh commit updated version of paper.js to paperjs.org 2014-04-09 11:44:12 +02:00
Jürg Lehni
60f6eca6c4 Do not keep the view's matrix baked into _globalMatrix, since we might allow multiple views soon. 2014-04-07 17:35:17 +02:00
Jürg Lehni
66b1087d33 Have boolean operation result inherit styles from the left-hand item in the operation.
Closes #445.
2014-04-07 12:18:04 +02:00
Jürg Lehni
8edcf3b219 Have IE9 display SVG inlined in SVG export examples. 2014-04-07 12:01:56 +02:00