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 | 003e2a179cad743b26a4c5ca5636b1c783370631 (patch) | |
tree | 9db968caf5907cfc9679ed1c5c5408c9e8e2495d /svx | |
parent | 0a10dd5257f045a3ec7f1387c16f20d7e2b6bb48 (diff) |
#i111715# corrected numerical cases for polygon clipper and geometry creator
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/svdraw/svdocirc.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/svx/source/svdraw/svdocirc.cxx b/svx/source/svdraw/svdocirc.cxx index 12cdeac9ef85..4c600cba821f 100644 --- a/svx/source/svdraw/svdocirc.cxx +++ b/svx/source/svdraw/svdocirc.cxx @@ -239,8 +239,9 @@ basegfx::B2DPolygon SdrCircObj::ImpCalcXPolyCirc(const SdrObjKind eCicrleKind, c else { // mirror start, end for geometry creation since model coordinate system is mirrored in Y - const double fStart(((36000 - nEnd) % 36000) * F_PI18000); - const double fEnd(((36000 - nStart) % 36000) * F_PI18000); + // #i111715# increase numerical correctness by first dividing and not using F_PI1800 + const double fStart((((36000 - nEnd) % 36000) / 18000.0) * F_PI); + const double fEnd((((36000 - nStart) % 36000) / 18000.0) * F_PI); // create circle segment. This is not closed by default aCircPolygon = basegfx::tools::createPolygonFromEllipseSegment( |