diff options
author | Elton Chung <elton@layerjet.com> | 2012-02-20 00:30:16 +0800 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2012-02-20 12:08:10 +0000 |
commit | dbff99a60ec5268c92f1404cb01754de9186c2e8 (patch) | |
tree | 20236b586ab80745426b4e51f0b8df56bdfcb0d0 /basegfx | |
parent | 9846e25d94d6029f3a0726ae35e96db342506c80 (diff) |
Remove unused code
Diffstat (limited to 'basegfx')
-rw-r--r-- | basegfx/inc/basegfx/matrix/b2dhommatrixtools.hxx | 2 | ||||
-rw-r--r-- | basegfx/inc/basegfx/polygon/b2dpolygontools.hxx | 58 | ||||
-rw-r--r-- | basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx | 4 | ||||
-rw-r--r-- | basegfx/inc/basegfx/polygon/b3dpolygontools.hxx | 5 | ||||
-rw-r--r-- | basegfx/inc/basegfx/polygon/b3dpolypolygontools.hxx | 1 | ||||
-rw-r--r-- | basegfx/inc/basegfx/tools/tools.hxx | 24 | ||||
-rw-r--r-- | basegfx/source/matrix/b2dhommatrixtools.cxx | 24 | ||||
-rw-r--r-- | basegfx/source/polygon/b2dpolygontools.cxx | 302 | ||||
-rw-r--r-- | basegfx/source/polygon/b2dpolypolygontools.cxx | 22 | ||||
-rw-r--r-- | basegfx/source/polygon/b3dpolygontools.cxx | 99 | ||||
-rw-r--r-- | basegfx/source/polygon/b3dpolypolygontools.cxx | 7 | ||||
-rw-r--r-- | basegfx/source/tools/liangbarsky.cxx | 57 |
12 files changed, 0 insertions, 605 deletions
diff --git a/basegfx/inc/basegfx/matrix/b2dhommatrixtools.hxx b/basegfx/inc/basegfx/matrix/b2dhommatrixtools.hxx index e53a598ba967..cf49df05ce85 100644 --- a/basegfx/inc/basegfx/matrix/b2dhommatrixtools.hxx +++ b/basegfx/inc/basegfx/matrix/b2dhommatrixtools.hxx @@ -56,8 +56,6 @@ namespace basegfx multiplications */ BASEGFX_DLLPUBLIC B2DHomMatrix createScaleB2DHomMatrix(double fScaleX, double fScaleY); - BASEGFX_DLLPUBLIC B2DHomMatrix createShearXB2DHomMatrix(double fShearX); - BASEGFX_DLLPUBLIC B2DHomMatrix createShearYB2DHomMatrix(double fShearY); BASEGFX_DLLPUBLIC B2DHomMatrix createRotateB2DHomMatrix(double fRadiant); BASEGFX_DLLPUBLIC B2DHomMatrix createTranslateB2DHomMatrix(double fTranslateX, double fTranslateY); diff --git a/basegfx/inc/basegfx/polygon/b2dpolygontools.hxx b/basegfx/inc/basegfx/polygon/b2dpolygontools.hxx index 1bee9b38f124..86c31f3d5f7c 100644 --- a/basegfx/inc/basegfx/polygon/b2dpolygontools.hxx +++ b/basegfx/inc/basegfx/polygon/b2dpolygontools.hxx @@ -154,23 +154,6 @@ namespace basegfx #define CUTFLAG_ALL (CUTFLAG_LINE|CUTFLAG_START1|CUTFLAG_START2|CUTFLAG_END1|CUTFLAG_END2) #define CUTFLAG_DEFAULT (CUTFLAG_LINE|CUTFLAG_START2|CUTFLAG_END2) - // Calculate cut between the points given by the two indices. pCut1 - // and pCut2 will contain the cut coordinate on each edge in ]0.0, 1.0] - // (if given) and the return value will contain a cut description. - BASEGFX_DLLPUBLIC CutFlagValue findCut( - const B2DPolygon& rCandidate, - sal_uInt32 nIndex1, sal_uInt32 nIndex2, - CutFlagValue aCutFlags = CUTFLAG_DEFAULT, - double* pCut1 = 0L, double* pCut2 = 0L); - - // This version is working with two indexed edges from different - // polygons. - BASEGFX_DLLPUBLIC CutFlagValue findCut( - const B2DPolygon& rCandidate1, sal_uInt32 nIndex1, - const B2DPolygon& rCandidate2, sal_uInt32 nIndex2, - CutFlagValue aCutFlags = CUTFLAG_DEFAULT, - double* pCut1 = 0L, double* pCut2 = 0L); - // This version works with two points and vectors to define the // edges for the cut test. BASEGFX_DLLPUBLIC CutFlagValue findCut( @@ -245,17 +228,6 @@ namespace basegfx @param rRect The rectangle which describes the polygon size - @param fRadius - Radius of the edge rounding, relative to the rectangle size. 0.0 means no - rounding, 1.0 will lead to an ellipse - */ - BASEGFX_DLLPUBLIC B2DPolygon createPolygonFromRect( const B2DRectangle& rRect, double fRadius ); - - /** Create a polygon from a rectangle. - - @param rRect - The rectangle which describes the polygon size - @param fRadiusX @param fRadiusY Radius of the edge rounding, relative to the rectangle size. 0.0 means no @@ -340,11 +312,6 @@ namespace basegfx // matrix and the resulting x,y is used to form the new polygon. BASEGFX_DLLPUBLIC B2DPolygon createB2DPolygonFromB3DPolygon(const B3DPolygon& rCandidate, const B3DHomMatrix& rMat); - // create simplified version of the original polygon by - // replacing segments with spikes/loops and self intersections - // by several trivial sub-segments - BASEGFX_DLLPUBLIC B2DPolygon createSimplifiedPolygon(const B2DPolygon&); - // calculate the smallest distance to given edge and return. The relative position on the edge is returned in Cut. // That position is in the range [0.0 .. 1.0] and the returned distance is adapted accordingly to the start or end // point of the edge @@ -422,8 +389,6 @@ namespace basegfx // organisation, e.g. same amount of points BASEGFX_DLLPUBLIC B2DPolygon interpolate(const B2DPolygon& rOld1, const B2DPolygon& rOld2, double t); - BASEGFX_DLLPUBLIC bool isPolyPolygonEqualRectangle( const B2DPolyPolygon& rPolyPoly, const B2DRange& rRect ); - // #i76891# Try to remove existing curve segments if they are simply edges BASEGFX_DLLPUBLIC B2DPolygon simplifyCurveSegments(const B2DPolygon& rCandidate); @@ -479,32 +444,9 @@ namespace basegfx */ BASEGFX_DLLPUBLIC B2DPolygon createWaveline(const B2DPolygon& rCandidate, double fWaveWidth, double fWaveHeight); - /** split each edge of a polygon in exactly nSubEdges equidistant edges - - @param rCandidate - The source polygon. If too small (no edges), nSubEdges too small (<2) - or neither bHandleCurvedEdgesnor bHandleStraightEdges it will just be returned. - Else for each edge nSubEdges will be created. Closed state is preserved. - - @param nSubEdges - How many edges shall be created as replacement for each single edge - - @param bHandleCurvedEdges - Process curved edges or not. If to handle the curved edges will be splitted - into nSubEdges part curved edges of equidistant bezier distances. If not, - curved edges will just be copied. - - @param bHandleStraightEdges - Process straight edges or not. If to handle the straight edges will be splitted - into nSubEdges part curved edges of equidistant length. If not, - straight edges will just be copied. - */ - BASEGFX_DLLPUBLIC B2DPolygon reSegmentPolygonEdges(const B2DPolygon& rCandidate, sal_uInt32 nSubEdges, bool bHandleCurvedEdges, bool bHandleStraightEdges); - ////////////////////////////////////////////////////////////////////// // comparators with tolerance for 2D Polygons BASEGFX_DLLPUBLIC bool equal(const B2DPolygon& rCandidateA, const B2DPolygon& rCandidateB, const double& rfSmallValue); - BASEGFX_DLLPUBLIC bool equal(const B2DPolygon& rCandidateA, const B2DPolygon& rCandidateB); /** snap some polygon coordinates to discrete coordinates diff --git a/basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx b/basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx index 6962596a150e..d36f804a0efa 100644 --- a/basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx +++ b/basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx @@ -175,9 +175,6 @@ namespace basegfx // corresponding points. BASEGFX_DLLPUBLIC B2DPolyPolygon distort(const B2DPolyPolygon& rCandidate, const B2DRange& rOriginal, const B2DPoint& rTopLeft, const B2DPoint& rTopRight, const B2DPoint& rBottomLeft, const B2DPoint& rBottomRight); - // rotate PolyPolygon around given point with given angle. - BASEGFX_DLLPUBLIC B2DPolyPolygon rotateAroundPoint(const B2DPolyPolygon& rCandidate, const B2DPoint& rCenter, double fAngle); - // expand all segments (which are not yet) to curve segments. This is done with setting the control // vectors on the 1/3 resp. 2/3 distances on each segment. BASEGFX_DLLPUBLIC B2DPolyPolygon expandToCurve(const B2DPolyPolygon& rCandidate); @@ -231,7 +228,6 @@ namespace basegfx ////////////////////////////////////////////////////////////////////// // comparators with tolerance for 2D PolyPolygons BASEGFX_DLLPUBLIC bool equal(const B2DPolyPolygon& rCandidateA, const B2DPolyPolygon& rCandidateB, const double& rfSmallValue); - BASEGFX_DLLPUBLIC bool equal(const B2DPolyPolygon& rCandidateA, const B2DPolyPolygon& rCandidateB); /** snap some polygon coordinates to discrete coordinates diff --git a/basegfx/inc/basegfx/polygon/b3dpolygontools.hxx b/basegfx/inc/basegfx/polygon/b3dpolygontools.hxx index defaae80a34a..95e00fb9b6c6 100644 --- a/basegfx/inc/basegfx/polygon/b3dpolygontools.hxx +++ b/basegfx/inc/basegfx/polygon/b3dpolygontools.hxx @@ -85,11 +85,6 @@ namespace basegfx // get length of polygon BASEGFX_DLLPUBLIC double getLength(const B3DPolygon& rCandidate); - // get position on polygon for absolute given distance. If - // length is given, it is assumed the correct polygon length, if 0.0 it is calculated - // using getLength(...) - BASEGFX_DLLPUBLIC B3DPoint getPositionAbsolute(const B3DPolygon& rCandidate, double fDistance, double fLength = 0.0); - /** Apply given LineDashing to given polygon For a description see applyLineDashing in b2dpolygontoos.hxx diff --git a/basegfx/inc/basegfx/polygon/b3dpolypolygontools.hxx b/basegfx/inc/basegfx/polygon/b3dpolypolygontools.hxx index 1ff1b4b094c4..6ccfea1ec50b 100644 --- a/basegfx/inc/basegfx/polygon/b3dpolypolygontools.hxx +++ b/basegfx/inc/basegfx/polygon/b3dpolypolygontools.hxx @@ -148,7 +148,6 @@ namespace basegfx ////////////////////////////////////////////////////////////////////// // comparators with tolerance for 3D PolyPolygons BASEGFX_DLLPUBLIC bool equal(const B3DPolyPolygon& rCandidateA, const B3DPolyPolygon& rCandidateB, const double& rfSmallValue); - BASEGFX_DLLPUBLIC bool equal(const B3DPolyPolygon& rCandidateA, const B3DPolyPolygon& rCandidateB); } // end of namespace tools } // end of namespace basegfx diff --git a/basegfx/inc/basegfx/tools/tools.hxx b/basegfx/inc/basegfx/tools/tools.hxx index c6abc5780ad8..f4ff85d48a05 100644 --- a/basegfx/inc/basegfx/tools/tools.hxx +++ b/basegfx/inc/basegfx/tools/tools.hxx @@ -39,30 +39,6 @@ namespace basegfx namespace tools { - /** Liang-Barsky 2D line clipping algorithm - - This function clips a line given by two points against the - given rectangle. The resulting line is returned in the - given points. - - @param io_rStart - Start point of the line. On return, contains the clipped - start point. - - @param io_rEnd - End point of the line. On return, contains the clipped - end point. - - @param rClipRect - The rectangle to clip against - - @return true, when at least part of the line is visible - after the clip, false otherwise - */ - BASEGFX_DLLPUBLIC bool liangBarskyClip2D( ::basegfx::B2DPoint& io_rStart, - ::basegfx::B2DPoint& io_rEnd, - const ::basegfx::B2DRange& rClipRect ); - /** Expand given parallelogram, such that it extends beyond bound rect in a given direction. diff --git a/basegfx/source/matrix/b2dhommatrixtools.cxx b/basegfx/source/matrix/b2dhommatrixtools.cxx index 2612d9f1e265..b36731dbb2f0 100644 --- a/basegfx/source/matrix/b2dhommatrixtools.cxx +++ b/basegfx/source/matrix/b2dhommatrixtools.cxx @@ -96,30 +96,6 @@ namespace basegfx return aRetval; } - B2DHomMatrix createShearXB2DHomMatrix(double fShearX) - { - B2DHomMatrix aRetval; - - if(!fTools::equalZero(fShearX)) - { - aRetval.set(0, 1, fShearX); - } - - return aRetval; - } - - B2DHomMatrix createShearYB2DHomMatrix(double fShearY) - { - B2DHomMatrix aRetval; - - if(!fTools::equalZero(fShearY)) - { - aRetval.set(1, 0, fShearY); - } - - return aRetval; - } - B2DHomMatrix createRotateB2DHomMatrix(double fRadiant) { B2DHomMatrix aRetval; diff --git a/basegfx/source/polygon/b2dpolygontools.cxx b/basegfx/source/polygon/b2dpolygontools.cxx index 2104a53c5ef6..73f920fea85c 100644 --- a/basegfx/source/polygon/b2dpolygontools.cxx +++ b/basegfx/source/polygon/b2dpolygontools.cxx @@ -979,67 +979,6 @@ namespace basegfx } CutFlagValue findCut( - const B2DPolygon& rCandidate, - sal_uInt32 nIndex1, sal_uInt32 nIndex2, - CutFlagValue aCutFlags, - double* pCut1, double* pCut2) - { - CutFlagValue aRetval(CUTFLAG_NONE); - const sal_uInt32 nPointCount(rCandidate.count()); - - if(nIndex1 < nPointCount && nIndex2 < nPointCount && nIndex1 != nIndex2) - { - sal_uInt32 nEnd1(getIndexOfSuccessor(nIndex1, rCandidate)); - sal_uInt32 nEnd2(getIndexOfSuccessor(nIndex2, rCandidate)); - - const B2DPoint aStart1(rCandidate.getB2DPoint(nIndex1)); - const B2DPoint aEnd1(rCandidate.getB2DPoint(nEnd1)); - const B2DVector aVector1(aEnd1 - aStart1); - - const B2DPoint aStart2(rCandidate.getB2DPoint(nIndex2)); - const B2DPoint aEnd2(rCandidate.getB2DPoint(nEnd2)); - const B2DVector aVector2(aEnd2 - aStart2); - - aRetval = findCut( - aStart1, aVector1, aStart2, aVector2, - aCutFlags, pCut1, pCut2); - } - - return aRetval; - } - - CutFlagValue findCut( - const B2DPolygon& rCandidate1, sal_uInt32 nIndex1, - const B2DPolygon& rCandidate2, sal_uInt32 nIndex2, - CutFlagValue aCutFlags, - double* pCut1, double* pCut2) - { - CutFlagValue aRetval(CUTFLAG_NONE); - const sal_uInt32 nPointCount1(rCandidate1.count()); - const sal_uInt32 nPointCount2(rCandidate2.count()); - - if(nIndex1 < nPointCount1 && nIndex2 < nPointCount2) - { - sal_uInt32 nEnd1(getIndexOfSuccessor(nIndex1, rCandidate1)); - sal_uInt32 nEnd2(getIndexOfSuccessor(nIndex2, rCandidate2)); - - const B2DPoint aStart1(rCandidate1.getB2DPoint(nIndex1)); - const B2DPoint aEnd1(rCandidate1.getB2DPoint(nEnd1)); - const B2DVector aVector1(aEnd1 - aStart1); - - const B2DPoint aStart2(rCandidate2.getB2DPoint(nIndex2)); - const B2DPoint aEnd2(rCandidate2.getB2DPoint(nEnd2)); - const B2DVector aVector2(aEnd2 - aStart2); - - aRetval = findCut( - aStart1, aVector1, aStart2, aVector2, - aCutFlags, pCut1, pCut2); - } - - return aRetval; - } - - CutFlagValue findCut( const B2DPoint& rEdge1Start, const B2DVector& rEdge1Delta, const B2DPoint& rEdge2Start, const B2DVector& rEdge2Delta, CutFlagValue aCutFlags, @@ -1663,32 +1602,6 @@ namespace basegfx return false; } - B2DPolygon createPolygonFromRect( const B2DRectangle& rRect, double fRadius ) - { - const double fZero(0.0); - const double fOne(1.0); - - if(fTools::lessOrEqual(fRadius, fZero)) - { - // no radius, use rectangle - return createPolygonFromRect( rRect ); - } - else if(fTools::moreOrEqual(fRadius, fOne)) - { - // full radius, use ellipse - const B2DPoint aCenter(rRect.getCenter()); - const double fRadiusX(rRect.getWidth() / 2.0); - const double fRadiusY(rRect.getHeight() / 2.0); - - return createPolygonFromEllipse( aCenter, fRadiusX, fRadiusY ); - } - else - { - // create rectangle with two radii between ]0.0 .. 1.0[ - return createPolygonFromRect( rRect, fRadius, fRadius ); - } - } - B2DPolygon createPolygonFromRect( const B2DRectangle& rRect, double fRadiusX, double fRadiusY ) { const double fZero(0.0); @@ -2977,81 +2890,6 @@ namespace basegfx return aRetval; } - B2DPolygon reSegmentPolygonEdges(const B2DPolygon& rCandidate, sal_uInt32 nSubEdges, bool bHandleCurvedEdges, bool bHandleStraightEdges) - { - const sal_uInt32 nPointCount(rCandidate.count()); - - if(nPointCount < 2 || nSubEdges < 2 || (!bHandleCurvedEdges && !bHandleStraightEdges)) - { - // nothing to do: - // - less than two points -> no edge at all - // - less than two nSubEdges -> no resegment necessary - // - neither bHandleCurvedEdges nor bHandleStraightEdges -> nothing to do - return rCandidate; - } - else - { - B2DPolygon aRetval; - const sal_uInt32 nEdgeCount(rCandidate.isClosed() ? nPointCount : nPointCount - 1); - B2DCubicBezier aCurrentEdge; - - // prepare first edge and add start point to target - aCurrentEdge.setStartPoint(rCandidate.getB2DPoint(0)); - aRetval.append(aCurrentEdge.getStartPoint()); - - for(sal_uInt32 a(0); a < nEdgeCount; a++) - { - // fill edge - const sal_uInt32 nNextIndex((a + 1) % nPointCount); - aCurrentEdge.setControlPointA(rCandidate.getNextControlPoint(a)); - aCurrentEdge.setControlPointB(rCandidate.getPrevControlPoint(nNextIndex)); - aCurrentEdge.setEndPoint(rCandidate.getB2DPoint(nNextIndex)); - - if(aCurrentEdge.isBezier()) - { - if(bHandleCurvedEdges) - { - for(sal_uInt32 b(nSubEdges); b > 1; b--) - { - const double fSplitPoint(1.0 / b); - B2DCubicBezier aLeftPart; - - aCurrentEdge.split(fSplitPoint, &aLeftPart, &aCurrentEdge); - aRetval.appendBezierSegment(aLeftPart.getControlPointA(), aLeftPart.getControlPointB(), aLeftPart.getEndPoint()); - } - } - - // copy remaining segment to target - aRetval.appendBezierSegment(aCurrentEdge.getControlPointA(), aCurrentEdge.getControlPointB(), aCurrentEdge.getEndPoint()); - } - else - { - if(bHandleStraightEdges) - { - for(sal_uInt32 b(nSubEdges); b > 1; b--) - { - const double fSplitPoint(1.0 / b); - const B2DPoint aSplitPoint(interpolate(aCurrentEdge.getStartPoint(), aCurrentEdge.getEndPoint(), fSplitPoint)); - - aRetval.append(aSplitPoint); - aCurrentEdge.setStartPoint(aSplitPoint); - } - } - - // copy remaining segment to target - aRetval.append(aCurrentEdge.getEndPoint()); - } - - // prepare next step - aCurrentEdge.setStartPoint(aCurrentEdge.getEndPoint()); - } - - // copy closed flag and return - aRetval.setClosed(rCandidate.isClosed()); - return aRetval; - } - } - B2DPolygon interpolate(const B2DPolygon& rOld1, const B2DPolygon& rOld2, double t) { OSL_ENSURE(rOld1.count() == rOld2.count(), "B2DPolygon interpolate: Different geometry (!)"); @@ -3085,139 +2923,6 @@ namespace basegfx } } - bool isPolyPolygonEqualRectangle( const B2DPolyPolygon& rPolyPoly, - const B2DRange& rRect ) - { - // exclude some cheap cases first - if( rPolyPoly.count() != 1 ) - return false; - - // fill array with rectangle vertices - const B2DPoint aPoints[] = - { - B2DPoint(rRect.getMinX(),rRect.getMinY()), - B2DPoint(rRect.getMaxX(),rRect.getMinY()), - B2DPoint(rRect.getMaxX(),rRect.getMaxY()), - B2DPoint(rRect.getMinX(),rRect.getMaxY()) - }; - - const B2DPolygon& rPoly( rPolyPoly.getB2DPolygon(0) ); - const sal_uInt32 nCount( rPoly.count() ); - const double epsilon = ::std::numeric_limits<double>::epsilon(); - - for(unsigned int j=0; j<4; ++j) - { - const B2DPoint &p1 = aPoints[j]; - const B2DPoint &p2 = aPoints[(j+1)%4]; - bool bPointOnBoundary = false; - for( sal_uInt32 i=0; i<nCount; ++i ) - { - const B2DPoint p(rPoly.getB2DPoint(i)); - - // 1 | x0 y0 1 | - // A = - | x1 y1 1 | - // 2 | x2 y2 1 | - double fDoubleArea = p2.getX()*p.getY() - - p2.getY()*p.getX() - - p1.getX()*p.getY() + - p1.getY()*p.getX() + - p1.getX()*p2.getY() - - p1.getY()*p2.getX(); - - if(fDoubleArea < epsilon) - { - bPointOnBoundary=true; - break; - } - } - if(!(bPointOnBoundary)) - return false; - } - - return true; - } - - - // create simplified version of the original polygon by - // replacing segments with spikes/loops and self intersections - // by several trivial sub-segments - B2DPolygon createSimplifiedPolygon( const B2DPolygon& rCandidate ) - { - const sal_uInt32 nCount(rCandidate.count()); - - if(nCount && rCandidate.areControlPointsUsed()) - { - const sal_uInt32 nEdgeCount(rCandidate.isClosed() ? nCount : nCount - 1); - B2DPolygon aRetval; - B2DCubicBezier aSegment; - - aSegment.setStartPoint(rCandidate.getB2DPoint(0)); - aRetval.append(aSegment.getStartPoint()); - - for(sal_uInt32 a(0); a < nEdgeCount; a++) - { - // fill edge - const sal_uInt32 nNextIndex((a + 1) % nCount); - aSegment.setControlPointA(rCandidate.getNextControlPoint(a)); - aSegment.setControlPointB(rCandidate.getPrevControlPoint(nNextIndex)); - aSegment.setEndPoint(rCandidate.getB2DPoint(nNextIndex)); - - if(aSegment.isBezier()) - { - double fExtremumPos(0.0); - sal_uInt32 nExtremumCounter(4); - - while(nExtremumCounter-- && aSegment.isBezier() && aSegment.getMinimumExtremumPosition(fExtremumPos)) - { - // split off left, now extremum-free part and append - B2DCubicBezier aLeft; - - aSegment.split(fExtremumPos, &aLeft, &aSegment); - aLeft.testAndSolveTrivialBezier(); - aSegment.testAndSolveTrivialBezier(); - - if(aLeft.isBezier()) - { - aRetval.appendBezierSegment(aLeft.getControlPointA(), aLeft.getControlPointB(), aLeft.getEndPoint()); - } - else - { - aRetval.append(aLeft.getEndPoint()); - } - } - - // append (evtl. reduced) rest of Segment - if(aSegment.isBezier()) - { - aRetval.appendBezierSegment(aSegment.getControlPointA(), aSegment.getControlPointB(), aSegment.getEndPoint()); - } - else - { - aRetval.append(aSegment.getEndPoint()); - } - } - else - { - // simple edge, append end point - aRetval.append(aSegment.getEndPoint()); - } - - // prepare next edge - aSegment.setStartPoint(aSegment.getEndPoint()); - } - - // copy closed flag and check for double points - aRetval.setClosed(rCandidate.isClosed()); - aRetval.removeDoublePoints(); - - return aRetval; - } - else - { - return rCandidate; - } - } - // #i76891# B2DPolygon simplifyCurveSegments(const B2DPolygon& rCandidate) { @@ -3511,13 +3216,6 @@ namespace basegfx return true; } - bool equal(const B2DPolygon& rCandidateA, const B2DPolygon& rCandidateB) - { - const double fSmallValue(fTools::getSmallValue()); - - return equal(rCandidateA, rCandidateB, fSmallValue); - } - // snap points of horizontal or vertical edges to discrete values B2DPolygon snapPointsOfHorizontalOrVerticalEdges(const B2DPolygon& rCandidate) { diff --git a/basegfx/source/polygon/b2dpolypolygontools.cxx b/basegfx/source/polygon/b2dpolypolygontools.cxx index c49f6a8ab3c9..34721d20207d 100644 --- a/basegfx/source/polygon/b2dpolypolygontools.cxx +++ b/basegfx/source/polygon/b2dpolypolygontools.cxx @@ -382,21 +382,6 @@ namespace basegfx return aRetval; } - B2DPolyPolygon rotateAroundPoint(const B2DPolyPolygon& rCandidate, const B2DPoint& rCenter, double fAngle) - { - const sal_uInt32 nPolygonCount(rCandidate.count()); - B2DPolyPolygon aRetval; - - for(sal_uInt32 a(0L); a < nPolygonCount; a++) - { - const B2DPolygon aCandidate(rCandidate.getB2DPolygon(a)); - - aRetval.append(rotateAroundPoint(aCandidate, rCenter, fAngle)); - } - - return aRetval; - } - B2DPolyPolygon expandToCurve(const B2DPolyPolygon& rCandidate) { const sal_uInt32 nPolygonCount(rCandidate.count()); @@ -533,13 +518,6 @@ namespace basegfx return true; } - bool equal(const B2DPolyPolygon& rCandidateA, const B2DPolyPolygon& rCandidateB) - { - const double fSmallValue(fTools::getSmallValue()); - - return equal(rCandidateA, rCandidateB, fSmallValue); - } - B2DPolyPolygon snapPointsOfHorizontalOrVerticalEdges(const B2DPolyPolygon& rCandidate) { B2DPolyPolygon aRetval; diff --git a/basegfx/source/polygon/b3dpolygontools.cxx b/basegfx/source/polygon/b3dpolygontools.cxx index b31712a04780..65a7f6b800db 100644 --- a/basegfx/source/polygon/b3dpolygontools.cxx +++ b/basegfx/source/polygon/b3dpolygontools.cxx @@ -217,105 +217,6 @@ namespace basegfx return fRetval; } - B3DPoint getPositionAbsolute(const B3DPolygon& rCandidate, double fDistance, double fLength) - { - B3DPoint aRetval; - const sal_uInt32 nPointCount(rCandidate.count()); - - if(nPointCount > 1L) - { - sal_uInt32 nIndex(0L); - bool bIndexDone(false); - const double fZero(0.0); - double fEdgeLength(fZero); - - // get length if not given - if(fTools::equalZero(fLength)) - { - fLength = getLength(rCandidate); - } - - // handle fDistance < 0.0 - if(fTools::less(fDistance, fZero)) - { - if(rCandidate.isClosed()) - { - // if fDistance < 0.0 increment with multiple of fLength - sal_uInt32 nCount(sal_uInt32(-fDistance / fLength)); - fDistance += double(nCount + 1L) * fLength; - } - else - { - // crop to polygon start - fDistance = fZero; - bIndexDone = true; - } - } - - // handle fDistance >= fLength - if(fTools::moreOrEqual(fDistance, fLength)) - { - if(rCandidate.isClosed()) - { - // if fDistance >= fLength decrement with multiple of fLength - sal_uInt32 nCount(sal_uInt32(fDistance / fLength)); - fDistance -= (double)(nCount) * fLength; - } - else - { - // crop to polygon end - fDistance = fZero; - nIndex = nPointCount - 1L; - bIndexDone = true; - } - } - - // look for correct index. fDistance is now [0.0 .. fLength[ - if(!bIndexDone) - { - do - { - // get length of next edge - fEdgeLength = getEdgeLength(rCandidate, nIndex); - - if(fTools::moreOrEqual(fDistance, fEdgeLength)) - { - // go to next edge - fDistance -= fEdgeLength; - nIndex++; - } - else - { - // it's on this edge, stop - bIndexDone = true; - } - } while (!bIndexDone); - } - - // get the point using nIndex - aRetval = rCandidate.getB3DPoint(nIndex); - - // if fDistance != 0.0, move that length on the edge. The edge - // length is in fEdgeLength. - if(!fTools::equalZero(fDistance)) - { - sal_uInt32 nNextIndex(getIndexOfSuccessor(nIndex, rCandidate)); - const B3DPoint aNextPoint(rCandidate.getB3DPoint(nNextIndex)); - double fRelative(fZero); - - if(!fTools::equalZero(fEdgeLength)) - { - fRelative = fDistance / fEdgeLength; - } - - // add calculated average value to the return value - aRetval += interpolate(aRetval, aNextPoint, fRelative); - } - } - - return aRetval; - } - void applyLineDashing(const B3DPolygon& rCandidate, const ::std::vector<double>& rDotDashArray, B3DPolyPolygon* pLineTarget, B3DPolyPolygon* pGapTarget, double fDotDashLength) { const sal_uInt32 nPointCount(rCandidate.count()); diff --git a/basegfx/source/polygon/b3dpolypolygontools.cxx b/basegfx/source/polygon/b3dpolypolygontools.cxx index 62fd440ec0ee..928fb3132921 100644 --- a/basegfx/source/polygon/b3dpolypolygontools.cxx +++ b/basegfx/source/polygon/b3dpolypolygontools.cxx @@ -540,13 +540,6 @@ namespace basegfx return true; } - bool equal(const B3DPolyPolygon& rCandidateA, const B3DPolyPolygon& rCandidateB) - { - const double fSmallValue(fTools::getSmallValue()); - - return equal(rCandidateA, rCandidateB, fSmallValue); - } - } // end of namespace tools } // end of namespace basegfx diff --git a/basegfx/source/tools/liangbarsky.cxx b/basegfx/source/tools/liangbarsky.cxx index be2d5e04a429..6b89e85498ce 100644 --- a/basegfx/source/tools/liangbarsky.cxx +++ b/basegfx/source/tools/liangbarsky.cxx @@ -69,63 +69,6 @@ namespace basegfx return true; } } - - // see Foley/vanDam, pp. 122 for the Liang-Barsky line - // clipping algorithm - bool liangBarskyClip2D( ::basegfx::B2DPoint& io_rStart, - ::basegfx::B2DPoint& io_rEnd, - const ::basegfx::B2DRange& rClipRect ) - { - const double nDX( io_rEnd.getX() - io_rStart.getX() ); - const double nDY( io_rEnd.getY() - io_rStart.getY() ); - - if( ::basegfx::fTools::equalZero( nDX ) && - ::basegfx::fTools::equalZero( nDY ) ) - { - return rClipRect.isInside( io_rStart ); - } - else - { - double nTE( 0.0 ); - double nTL( 1.0 ); - if( liangBarskyClipT(nDX, rClipRect.getMinX() - io_rStart.getX(), - nTE, nTL ) ) // inside wrt. left edge - { - if( liangBarskyClipT(-nDX, io_rStart.getX() - rClipRect.getMaxX(), - nTE, nTL ) ) // inside wrt. right edge - { - if( liangBarskyClipT(nDY, rClipRect.getMinY() - io_rStart.getY(), - nTE, nTL ) ) // inside wrt. bottom edge - { - if( liangBarskyClipT(-nDY, io_rStart.getY() - rClipRect.getMaxY(), - nTE, nTL ) ) // inside wrt. top edge - { - // compute actual intersection points, - // if nTL has changed - if( nTL < 1.0 ) - { - io_rEnd.setX( io_rStart.getX() + nTL*nDX ); - io_rEnd.setY( io_rStart.getY() + nTL*nDY ); - } - - // compute actual intersection points, - // if nTE has changed - if( nTE > 0.0 ) - { - io_rStart.setX( io_rStart.getX() + nTE*nDX ); - io_rStart.setY( io_rStart.getY() + nTE*nDY ); - } - - // line is (at least partially) visible - return true; - } - } - } - } - } - - return false; - } } } |