Kaydet (Commit) 9069e26d authored tarafından Caolán McNamara's avatar Caolán McNamara

we need these old equal methods again

i.e. revert 5c3615c1

Change-Id: I7bafaabaf5b8337c3ef4fe0d9ea687924045114e
üst 5d8f48c8
......@@ -3133,6 +3133,50 @@ namespace basegfx
return aRetval;
}
//////////////////////////////////////////////////////////////////////
// comparators with tolerance for 2D Polygons
bool equal(const B2DPolygon& rCandidateA, const B2DPolygon& rCandidateB, const double& rfSmallValue)
{
const sal_uInt32 nPointCount(rCandidateA.count());
if(nPointCount != rCandidateB.count())
return false;
const bool bClosed(rCandidateA.isClosed());
if(bClosed != rCandidateB.isClosed())
return false;
const bool bAreControlPointsUsed(rCandidateA.areControlPointsUsed());
if(bAreControlPointsUsed != rCandidateB.areControlPointsUsed())
return false;
for(sal_uInt32 a(0); a < nPointCount; a++)
{
const B2DPoint aPoint(rCandidateA.getB2DPoint(a));
if(!aPoint.equal(rCandidateB.getB2DPoint(a), rfSmallValue))
return false;
if(bAreControlPointsUsed)
{
const basegfx::B2DPoint aPrev(rCandidateA.getPrevControlPoint(a));
if(!aPrev.equal(rCandidateB.getPrevControlPoint(a), rfSmallValue))
return false;
const basegfx::B2DPoint aNext(rCandidateA.getNextControlPoint(a));
if(!aNext.equal(rCandidateB.getNextControlPoint(a), rfSmallValue))
return false;
}
}
return true;
}
// snap points of horizontal or vertical edges to discrete values
B2DPolygon snapPointsOfHorizontalOrVerticalEdges(const B2DPolygon& rCandidate)
{
......
......@@ -734,6 +734,32 @@ namespace basegfx
return false;
}
//////////////////////////////////////////////////////////////////////
// comparators with tolerance for 3D Polygons
bool equal(const B3DPolygon& rCandidateA, const B3DPolygon& rCandidateB, const double& rfSmallValue)
{
const sal_uInt32 nPointCount(rCandidateA.count());
if(nPointCount != rCandidateB.count())
return false;
const bool bClosed(rCandidateA.isClosed());
if(bClosed != rCandidateB.isClosed())
return false;
for(sal_uInt32 a(0); a < nPointCount; a++)
{
const B3DPoint aPoint(rCandidateA.getB3DPoint(a));
if(!aPoint.equal(rCandidateB.getB3DPoint(a), rfSmallValue))
return false;
}
return true;
}
// snap points of horizontal or vertical edges to discrete values
B3DPolygon snapPointsOfHorizontalOrVerticalEdges(const B3DPolygon& rCandidate)
{
......
......@@ -420,6 +420,10 @@ namespace basegfx
*/
BASEGFX_DLLPUBLIC B2DPolygon createWaveline(const B2DPolygon& rCandidate, double fWaveWidth, double fWaveHeight);
//////////////////////////////////////////////////////////////////////
// comparators with tolerance for 2D Polygons
BASEGFX_DLLPUBLIC bool equal(const B2DPolygon& rCandidateA, const B2DPolygon& rCandidateB, const double& rfSmallValue);
/** snap some polygon coordinates to discrete coordinates
This method allows to snap some polygon points to discrete (integer) values
......
......@@ -113,6 +113,10 @@ namespace basegfx
// and a line given by start and end point
BASEGFX_DLLPUBLIC bool getCutBetweenLineAndPlane(const B3DVector& rPlaneNormal, const B3DPoint& rPlanePoint, const B3DPoint& rEdgeStart, const B3DPoint& rEdgeEnd, double& fCut);
//////////////////////////////////////////////////////////////////////
// comparators with tolerance for 3D Polygons
BASEGFX_DLLPUBLIC bool equal(const B3DPolygon& rCandidateA, const B3DPolygon& rCandidateB, const double& rfSmallValue);
/** snap some polygon coordinates to discrete coordinates
This method allows to snap some polygon points to discrete (integer) values
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment