diff options
author | Armin Le Grand <Armin.Le.Grand@cib.de> | 2015-11-12 11:45:58 +0100 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2015-11-13 09:25:11 +0000 |
commit | b701bd8cbd46644e28d0dbcae94d5098b72036d8 (patch) | |
tree | c2916d9e1bce6da76a047464d2f48a692dc7bbe9 /include | |
parent | 6b5e4c1f548f459e2d81963efdd4eb661de1fe89 (diff) |
tdf#88352 correct triangulator numerical problem
The basegfx Triangulator is used in slideshow with canvas to triangulate
the mask geometres. This uses tools::isPointInTriangle which uses
basegfx::tools::arePointsOnSameSideOfLine. This uses the cross product
to solve and for tests against zero the fTools::equalZero call. The
triangulator then uses the more precise rtl::math::approxEqual to test
if one of the points of the triangle is equal to the test point.
In rare cases this can lead to a position where a point is seen as inside
the triangle wrongly because it is not detected as equal to one of the
triangle points. To solve, use increased accuracy.
Change-Id: I73e12b711f14d4c48e829d5db1cadefa0917c19b
Reviewed-on: https://gerrit.libreoffice.org/19925
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions