To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=103259
User aw changed the following:
What |Old value |New value
================================================================================
Assigned to|aw |hdu
--------------------------------------------------------------------------------
------- Additional comments from [email protected] Mon Aug 3 16:21:05 +0000
2009 -------
AW->HDU: I think i found the problem. You are using
basegfx::B2DPolyPolygon aClippedPolygon( aOuterPolygon );
basegfx::B2DPolyPolygon
aInnerPolyPoly(basegfx::tools::solveCrossovers(aClippedPolygon));
in vcl/unx/source/gdi/salgdi.cxx in X11SalGraphics::drawPolyPolygon. This only
solves crossovers between the contained single polygons, but not directly the
self-intersections of them. This is done only implicitely when more than one
sub-polygon exists and the polygons need to be processed anyways (see
description in b2dpolypolygoncutter.cxx). To solve the self-intersections of a
single sub-polygon, the version for a single polygon needs to be used.
This is misleading, and maybe we should change this in basegfx. To do the right
thing You need to:
if(aClippedPolygon.count() > 1)
aInnerPolyPoly = basegfx::tools::solveCrossovers(aClippedPolygon);
else if(aClippedPolygon.count() == 1)
aInnerPolyPoly =
basegfx::B2DPolyPolygon(basegfx::tools::solveCrossovers(aClippedPolygon.getB2DPolygon(0));
This should do it.
---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]