Kaydet (Commit) 7a9738f4 authored tarafından Gábor Stefanik's avatar Gábor Stefanik Kaydeden (comit) Miklos Vajna

Clean up basegfx's polygon tools code

üst d8ff1a57
...@@ -227,10 +227,6 @@ namespace basegfx ...@@ -227,10 +227,6 @@ namespace basegfx
// #i76891# Try to remove existing curve segments if they are simply edges // #i76891# Try to remove existing curve segments if they are simply edges
BASEGFX_DLLPUBLIC B2DPolyPolygon simplifyCurveSegments(const B2DPolyPolygon& rCandidate); BASEGFX_DLLPUBLIC B2DPolyPolygon simplifyCurveSegments(const B2DPolyPolygon& rCandidate);
//////////////////////////////////////////////////////////////////////
// comparators with tolerance for 2D PolyPolygons
BASEGFX_DLLPUBLIC bool equal(const B2DPolyPolygon& rCandidateA, const B2DPolyPolygon& 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
......
...@@ -67,12 +67,6 @@ namespace basegfx ...@@ -67,12 +67,6 @@ namespace basegfx
// get normal vector of polygon // get normal vector of polygon
BASEGFX_DLLPUBLIC B3DVector getNormal(const B3DPolygon& rCandidate); BASEGFX_DLLPUBLIC B3DVector getNormal(const B3DPolygon& rCandidate);
// get signed area of polygon
BASEGFX_DLLPUBLIC double getSignedArea(const B3DPolygon& rCandidate);
// get signed area of polygon
BASEGFX_DLLPUBLIC double getSignedArea(const B3DPolygon& rCandidate);
// get area of polygon // get area of polygon
BASEGFX_DLLPUBLIC double getArea(const ::basegfx::B3DPolygon& rCandidate); BASEGFX_DLLPUBLIC double getArea(const ::basegfx::B3DPolygon& rCandidate);
......
...@@ -134,10 +134,6 @@ namespace basegfx ...@@ -134,10 +134,6 @@ namespace basegfx
// in bWithBorder flag. It is assumed that the orientations of the given polygon are correct. // in bWithBorder flag. It is assumed that the orientations of the given polygon are correct.
BASEGFX_DLLPUBLIC bool isInside(const B3DPolyPolygon& rCandidate, const B3DPoint& rPoint, bool bWithBorder = false); BASEGFX_DLLPUBLIC bool isInside(const B3DPolyPolygon& rCandidate, const B3DPoint& rPoint, bool bWithBorder = false);
//////////////////////////////////////////////////////////////////////
// comparators with tolerance for 3D PolyPolygons
BASEGFX_DLLPUBLIC bool equal(const B3DPolyPolygon& rCandidateA, const B3DPolyPolygon& rCandidateB, const double& rfSmallValue);
} // end of namespace tools } // end of namespace tools
} // end of namespace basegfx } // end of namespace basegfx
......
...@@ -475,27 +475,6 @@ namespace basegfx ...@@ -475,27 +475,6 @@ namespace basegfx
} }
} }
//////////////////////////////////////////////////////////////////////
// comparators with tolerance for 2D PolyPolygons
bool equal(const B2DPolyPolygon& rCandidateA, const B2DPolyPolygon& rCandidateB, const double& rfSmallValue)
{
const sal_uInt32 nPolygonCount(rCandidateA.count());
if(nPolygonCount != rCandidateB.count())
return false;
for(sal_uInt32 a(0); a < nPolygonCount; a++)
{
const B2DPolygon aCandidate(rCandidateA.getB2DPolygon(a));
if(!equal(aCandidate, rCandidateB.getB2DPolygon(a), rfSmallValue))
return false;
}
return true;
}
B2DPolyPolygon snapPointsOfHorizontalOrVerticalEdges(const B2DPolyPolygon& rCandidate) B2DPolyPolygon snapPointsOfHorizontalOrVerticalEdges(const B2DPolyPolygon& rCandidate)
{ {
B2DPolyPolygon aRetval; B2DPolyPolygon aRetval;
......
...@@ -88,71 +88,6 @@ namespace basegfx ...@@ -88,71 +88,6 @@ namespace basegfx
return rCandidate.getNormal(); return rCandidate.getNormal();
} }
double getSignedArea(const B3DPolygon& rCandidate)
{
double fRetval(0.0);
const sal_uInt32 nPointCount(rCandidate.count());
if(nPointCount > 2)
{
const B3DVector aAbsNormal(absolute(getNormal(rCandidate)));
sal_uInt16 nCase(3); // default: ignore z
if(aAbsNormal.getX() > aAbsNormal.getY())
{
if(aAbsNormal.getX() > aAbsNormal.getZ())
{
nCase = 1; // ignore x
}
}
else if(aAbsNormal.getY() > aAbsNormal.getZ())
{
nCase = 2; // ignore y
}
B3DPoint aPreviousPoint(rCandidate.getB3DPoint(nPointCount - 1L));
for(sal_uInt32 a(0L); a < nPointCount; a++)
{
const B3DPoint aCurrentPoint(rCandidate.getB3DPoint(a));
switch(nCase)
{
case 1: // ignore x
fRetval += aPreviousPoint.getZ() * aCurrentPoint.getY();
fRetval -= aPreviousPoint.getY() * aCurrentPoint.getZ();
break;
case 2: // ignore y
fRetval += aPreviousPoint.getX() * aCurrentPoint.getZ();
fRetval -= aPreviousPoint.getZ() * aCurrentPoint.getX();
break;
case 3: // ignore z
fRetval += aPreviousPoint.getX() * aCurrentPoint.getY();
fRetval -= aPreviousPoint.getY() * aCurrentPoint.getX();
break;
}
// prepare next step
aPreviousPoint = aCurrentPoint;
}
switch(nCase)
{
case 1: // ignore x
fRetval /= 2.0 * aAbsNormal.getX();
break;
case 2: // ignore y
fRetval /= 2.0 * aAbsNormal.getY();
break;
case 3: // ignore z
fRetval /= 2.0 * aAbsNormal.getZ();
break;
}
}
return fRetval;
}
double getLength(const B3DPolygon& rCandidate) double getLength(const B3DPolygon& rCandidate)
{ {
double fRetval(0.0); double fRetval(0.0);
......
...@@ -483,27 +483,6 @@ namespace basegfx ...@@ -483,27 +483,6 @@ namespace basegfx
} }
} }
//////////////////////////////////////////////////////////////////////
// comparators with tolerance for 3D PolyPolygons
bool equal(const B3DPolyPolygon& rCandidateA, const B3DPolyPolygon& rCandidateB, const double& rfSmallValue)
{
const sal_uInt32 nPolygonCount(rCandidateA.count());
if(nPolygonCount != rCandidateB.count())
return false;
for(sal_uInt32 a(0); a < nPolygonCount; a++)
{
const B3DPolygon aCandidate(rCandidateA.getB3DPolygon(a));
if(!equal(aCandidate, rCandidateB.getB3DPolygon(a), rfSmallValue))
return false;
}
return true;
}
} // end of namespace tools } // end of namespace tools
} // end of namespace basegfx } // end of namespace basegfx
......
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