diff options
author | Armin Le Grand <Armin.Le.Grand@Sun.COM> | 2010-05-27 12:34:12 +0200 |
---|---|---|
committer | Armin Le Grand <Armin.Le.Grand@Sun.COM> | 2010-05-27 12:34:12 +0200 |
commit | f02b283bb7a6264f33cbfc106ff8f93a19ad4d6f (patch) | |
tree | 9141f707cd08823fa749baee44a2f82474565e9f /basegfx | |
parent | 8a7501fdc4dce26a4be91eef144b6bae48e55845 (diff) |
#i111715# corrected numerical cases for polygon clipper and geometry creator
Diffstat (limited to 'basegfx')
-rw-r--r-- | basegfx/source/polygon/b2dpolygoncutandtouch.cxx | 6 |
1 files 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 |