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 ...@@ -3133,6 +3133,50 @@ namespace basegfx
return aRetval; 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 // snap points of horizontal or vertical edges to discrete values
B2DPolygon snapPointsOfHorizontalOrVerticalEdges(const B2DPolygon& rCandidate) B2DPolygon snapPointsOfHorizontalOrVerticalEdges(const B2DPolygon& rCandidate)
{ {
......
...@@ -734,6 +734,32 @@ namespace basegfx ...@@ -734,6 +734,32 @@ namespace basegfx
return false; 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 // snap points of horizontal or vertical edges to discrete values
B3DPolygon snapPointsOfHorizontalOrVerticalEdges(const B3DPolygon& rCandidate) B3DPolygon snapPointsOfHorizontalOrVerticalEdges(const B3DPolygon& rCandidate)
{ {
......
...@@ -420,6 +420,10 @@ namespace basegfx ...@@ -420,6 +420,10 @@ namespace basegfx
*/ */
BASEGFX_DLLPUBLIC B2DPolygon createWaveline(const B2DPolygon& rCandidate, double fWaveWidth, double fWaveHeight); 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 /** snap some polygon coordinates to discrete coordinates
This method allows to snap some polygon points to discrete (integer) values This method allows to snap some polygon points to discrete (integer) values
......
...@@ -113,6 +113,10 @@ namespace basegfx ...@@ -113,6 +113,10 @@ namespace basegfx
// and a line given by start and end point // 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); 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 /** snap some polygon coordinates to discrete coordinates
This method allows to snap some polygon points to discrete (integer) values 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