From abe0e5e059ca2bed2cb3ae29391edb714f5ed3b5 Mon Sep 17 00:00:00 2001 From: hkrish Date: Fri, 13 Sep 2013 00:08:43 +0200 Subject: [PATCH] Boolean -fix: CurveLocation now keeps track of the correct segment at intersections --- src/path/PathItem.Boolean.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/path/PathItem.Boolean.js b/src/path/PathItem.Boolean.js index 17e1057b..f55a64b5 100644 --- a/src/path/PathItem.Boolean.js +++ b/src/path/PathItem.Boolean.js @@ -59,6 +59,7 @@ PathItem.inject(new function() { if (others) others.push(other); segment._intersection = other; + loc._segment = segment; } return others; } @@ -213,7 +214,7 @@ PathItem.inject(new function() { /** * Merges the geometry of the specified path from this path's * geometry and returns the result as a new path item. - * + * * @param {PathItem} path the path to unite with * @return {PathItem} the resulting path item */ @@ -227,7 +228,7 @@ PathItem.inject(new function() { /** * Intersects the geometry of the specified path with this path's * geometry and returns the result as a new path item. - * + * * @param {PathItem} path the path to intersect with * @return {PathItem} the resulting path item */ @@ -241,7 +242,7 @@ PathItem.inject(new function() { /** * Subtracts the geometry of the specified path from this path's * geometry and returns the result as a new path item. - * + * * @param {PathItem} path the path to subtract * @return {PathItem} the resulting path item */ @@ -253,12 +254,12 @@ PathItem.inject(new function() { }, // Compound boolean operators combine the basic boolean operations such - // as union, intersection, subtract etc. + // as union, intersection, subtract etc. // TODO: cache the split objects and find a way to properly clone them! /** * Excludes the intersection of the geometry of the specified path with * this path's geometry and returns the result as a new group item. - * + * * @param {PathItem} path the path to exclude the intersection of * @return {Group} the resulting group item */ @@ -269,7 +270,7 @@ PathItem.inject(new function() { /** * Splits the geometry of this path along the geometry of the specified * path returns the result as a new group item. - * + * * @param {PathItem} path the path to divide by * @return {Group} the resulting group item */