From f02b283bb7a6264f33cbfc106ff8f93a19ad4d6f Mon Sep 17 00:00:00 2001 From: Armin Le Grand Date: Thu, 27 May 2010 12:34:12 +0200 Subject: [PATCH] #i111715# corrected numerical cases for polygon clipper and geometry creator --- basegfx/source/polygon/b2dpolygoncutandtouch.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/basegfx/source/polygon/b2dpolygoncutandtouch.cxx b/basegfx/source/polygon/b2dpolygoncutandtouch.cxx index 11955ceb22f9..e03aadfe1577 100644 --- a/basegfx/source/polygon/b2dpolygoncutandtouch.cxx +++ b/basegfx/source/polygon/b2dpolygoncutandtouch.cxx @@ -364,7 +364,8 @@ namespace basegfx if(fTools::moreOrEqual(fCutB, fZero) && fTools::less(fCutB, fOne)) { // cut is in both ranges. Add points for A and B - if(fTools::equalZero(fCutA)) + // #i111715# use fTools::equal instead of fTools::equalZero for better accuracy + if(fTools::equal(fCutA, fZero)) { // ignore for start point in first edge; this is handled // by outer methods and would just produce a double point @@ -379,7 +380,8 @@ namespace basegfx rTempPointsA.push_back(temporaryPoint(aCutPoint, a, fCutA)); } - if(fTools::equalZero(fCutB)) + // #i111715# use fTools::equal instead of fTools::equalZero for better accuracy + if(fTools::equal(fCutB, fZero)) { // ignore for start point in first edge; this is handled // by outer methods and would just produce a double point