Commit graph

77 commits

Author SHA1 Message Date
Jürg Lehni
3d2b53789c Move _getMonoCurves() definitions to PathItem.Boolean.js 2014-02-20 20:00:46 +01:00
Jürg Lehni
9c09be90f3 Fix white-space mix-up. 2014-02-20 19:52:09 +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
81b3b756c9 Remove need for private scope in boolean operations code. 2014-02-20 19:35:11 +01:00
Jürg Lehni
2a4696b865 More clean-up in computeBoolean() code. 2014-02-20 19:10:46 +01:00
Jürg Lehni
ec621eef81 Cleanup computeBoolean() code. 2014-02-20 18:44:38 +01:00
Jürg Lehni
4ec3daf4d1 Merge PathItem#getIntersections() and #getSelfIntersections() 2014-02-20 16:26:47 +01:00
Jürg Lehni
f790ede7a8 Use Path#reduce() to make sure there are no curves with zero length in boolean code. 2014-02-20 02:51:35 +01:00
Jürg Lehni
4e5644f264 Simplify intersection sort function. 2014-02-20 00:32:15 +01:00
Jürg Lehni
56bf87ce84 Rename _getMonotoneCurves() to _getMonoCurves()
Shorter is better...
2014-02-20 00:24:09 +01:00
Jürg Lehni
1a0eead28c Various code and comment clean-ups in new bool-op code. 2014-02-19 23:18:14 +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
74a153dd88 Some code clean-up.
More to come.
2014-02-17 20:59:38 +01:00
hkrish
92c13ae48b Resolve selfIntersections if both operands to a boolean op is the same path 2014-02-16 19:02:07 +01:00
hkrish
87ded4dcff Merge master 2014-02-15 00:02:02 +01:00
hkrish
cc2e1921f9 Remove checks from boolean path operations 2014-02-14 22:51:34 +01:00
hkrish
acaf637f26 Keep exclude as a compound boolean operator for now. 2014-01-27 21:32:25 +01:00
hkrish
85736d4e84 Remove debug helpers 2014-01-26 05:44:55 +01:00
hkrish
aea9a5cd6c Minor Fixes 2014-01-26 05:39:51 +01:00
hkrish
24cbf3b079 Correct winding contribution calculation for horizontal curves 2014-01-16 20:02:26 +01:00
hkrish
df7e8e43b2 More explanation and indentation fixes 2014-01-05 15:59:21 +01:00
hkrish
bcdec37b1a Do a much simpler but thorough check for winding contribution, instead of trying to be clever :) 2014-01-05 14:38:15 +01:00
Jürg Lehni
ea63d4c288 Merge branch 'refs/heads/master' into v8-optimizations
Conflicts:
	src/core/Base.js
	src/style/Color.js
2014-01-05 05:01:13 +01:00
Jürg Lehni
e22fa3a664 Update copyright notice. 2014-01-04 01:47:16 +01:00
Jürg Lehni
35890383d8 Merge branch 'refs/heads/paperscript-refactoring' into v8-optimizations 2013-12-29 15:54:54 +01:00
hkrish
f2168b48cb new Boolean operator functions 2013-12-29 13:40:22 +01:00
hkrish
3b85d3d990 Remove TestOnCurve method 2013-12-29 13:38:33 +01:00
hkrish
9831720c9c New computeBooleean method 2013-12-29 13:38:04 +01:00
hkrish
7af091ca5b Dont alter the winding direction for paths within compoundPaths if they are not completely contained 2013-12-29 13:36:43 +01:00
hkrish
d02e0dcecf Remove old SplitPath method 2013-12-29 13:32:12 +01:00
Jürg Lehni
58bd3aa444 Sorting CurveLocation by path index produces the correct sequence in compound paths too. 2013-12-28 21:01:44 +01:00
Jürg Lehni
451ff4fd03 Docs: Add group title to boolean path operations. 2013-12-28 20:56:30 +01:00
Jürg Lehni
3dbad9c477 Replace delete in favor of setting to undefined to prevent V8 deoptimization. 2013-12-17 23:27:48 +01:00
Jürg Lehni
516b9d040f Apply matrices before calculating boolean path operations. 2013-12-08 21:39:56 +01:00
Jürg Lehni
5f24bf8da5 Implement Rectangle#getArea() and use it in reorientPath() 2013-12-03 21:54:36 +01:00
Jürg Lehni
4926e2c8da Fix Array#sort() call in reorientPath(path) for IE.
IE expects integer values in the compare function, not boolean. Closes #350 again.
2013-12-03 21:49:49 +01:00
hkrish
274f1a4b55 Sort sub-paths before 'reorienting' during boolean calculations 2013-11-24 13:32:01 +01:00
Jürg Lehni
509ac48951 Fix indentation levels. 2013-09-22 18:18:22 -07:00
hkrish
8434b4bebe Fix: Syntax error! 2013-09-22 17:49:10 +02:00
hkrish
0a22211393 Conform to paperjs coding style. 2013-09-21 15:26:14 +02:00
hkrish
4f54ac1f4c Boolean -fix: Correctly perform boolean operations regardless of the input paths' winding direction 2013-09-17 19:50:13 +02:00
hkrish
abe0e5e059 Boolean -fix: CurveLocation now keeps track of the correct segment at intersections 2013-09-13 00:08:43 +02:00
Jürg Lehni
93c90d0cd8 Do not insert boolean operation clones into DOM. 2013-07-19 18:46:28 -07:00
Jürg Lehni
cd7db56249 Remove all create() constructors for basic types since new constructors are now faster.
Woop!
2013-05-27 23:57:31 -07:00
Jürg Lehni
acb3d6f5f9 Update package.json for publishing to NPM. 2013-05-05 19:22:13 -07:00
Jürg Lehni
0fc4b9f28d Remove intersection caching code. 2013-05-05 16:38:18 -07:00
Jürg Lehni
83b68cdb8e Restore full validation check for resulting paths. 2013-05-05 16:36:25 -07:00
Jürg Lehni
c006b081f6 Fix issue that broke "Maximum possible intersections between 2 cubic bezier curve segments - 9" test. 2013-05-05 16:23:41 -07:00
Jürg Lehni
6da97b894f Improve code comments a bit. 2013-05-04 11:13:38 -07:00
Jürg Lehni
d911c7b12a Write documentation for boolean path operations. 2013-05-04 10:58:50 -07:00