diff options
author | Matúš Kukan <matus.kukan@gmail.com> | 2012-01-06 11:28:01 +0100 |
---|---|---|
committer | Matúš Kukan <matus.kukan@gmail.com> | 2012-01-06 11:29:45 +0100 |
commit | ef41022c112924b339b8c9a426b161d81aa8a947 (patch) | |
tree | 309cd48ba63677312348d5df5b3fc13f34be7f86 /basegfx/test | |
parent | 6be6357cce999e5a1a692da1f682847be3723587 (diff) |
unusedcode: remove Plotter
Diffstat (limited to 'basegfx/test')
-rw-r--r-- | basegfx/test/testtools.cxx | 235 | ||||
-rw-r--r-- | basegfx/test/testtools.hxx | 101 |
2 files changed, 0 insertions, 336 deletions
diff --git a/basegfx/test/testtools.cxx b/basegfx/test/testtools.cxx deleted file mode 100644 index f467c2dd1367..000000000000 --- a/basegfx/test/testtools.cxx +++ /dev/null @@ -1,235 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "testtools.hxx" - -#include <basegfx/point/b2dpoint.hxx> -#include <basegfx/vector/b2dvector.hxx> -#include <basegfx/range/b2drange.hxx> -#include <basegfx/curve/b2dcubicbezier.hxx> -#include <basegfx/polygon/b2dpolygon.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> - -#include <algorithm> - - -namespace basegfx -{ - namespace testtools - { - Plotter::Plotter( ::std::ostream& rOutputStream ) : - mrOutputStream(rOutputStream), - maPoints(), - mbFirstElement( true ) - { - // output gnuplot setup. We switch gnuplot to parametric - // mode, therefore every plot has at least _two_ - // functions: one for the x and one for the y value, both - // depending on t. - mrOutputStream << "#!/usr/bin/gnuplot -persist" << ::std::endl - << "#" << ::std::endl - << "# automatically generated by basegfx::testtools::Plotter, don't change!" << ::std::endl - << "#" << ::std::endl - << "set parametric" << ::std::endl - // This function plots a cubic bezier curve. P,q,r,s - // are the control point elements of the corresponding - // output coordinate component (i.e. x components for - // the x plot, and y components for the y plot) - << "cubicBezier(p,q,r,s,t) = p*(1-t)**3+q*3*(1-t)**2*t+r*3*(1-t)*t**2+s*t**3" << ::std::endl - - // This function plots the derivative of a cubic - // bezier curve. P,q,r,s are the control point - // components of the _original_ curve - << "cubicBezDerivative(p,q,r,s,t) = 3*(q-p)*(1-t)**2+6*(r-q)*(1-t)*t+3*(s-r)*t**2" << ::std::endl - - // Plot a line's x component of a line in implicit - // form ax + by + c = 0 - << "implicitLineX(a,b,c,t) = a*-c + t*-b" << ::std::endl - - // Plot a line's y component of a line in implicit - // form ax + by + c = 0 - << "implicitLineY(a,b,c,t) = b*-c + t*a" << ::std::endl - - // Plot a line's component of a line between a and b - // (where a and b should be the corresponding - // components of the line's start and end point, - // respectively) - << "line(a,b,t) = a*(1-t) + b*t" << ::std::endl << ::std::endl - << "# end of setup" << ::std::endl << ::std::endl - - // Start the actual plot line - << "plot [t=0:1] "; - } - - namespace - { - class PointWriter - { - public: - PointWriter( ::std::ostream& rOutputStream ) : - mrOutputStream( rOutputStream ) - { - } - - void operator()( const B2DPoint& rPoint ) const - { - mrOutputStream << rPoint.getX() << "\t" << rPoint.getY() << ::std::endl; - mrOutputStream << "e" << ::std::endl; - } - - private: - ::std::ostream& mrOutputStream; - }; - } - - Plotter::~Plotter() - { - // End the plot line - mrOutputStream << ::std::endl; - - // write stored data points. Cannot write before, since - // this is an inline dataset, which must be after the plot <...> - // line - ::std::for_each( maPoints.begin(), maPoints.end(), PointWriter(mrOutputStream) ); - } - - void Plotter::plot( const B2DPolygon& rPoly ) - { - const sal_uInt32 pointCount( rPoly.count() ); - - if( pointCount < 1 ) - return; - - if( pointCount == 1 ) - { - plot( rPoly.getB2DPoint(0) ); - return; - } - - sal_uInt32 i; - for( i=0; i<pointCount-1; ++i ) - { - if(rPoly.isNextControlPointUsed(i) || rPoly.isPrevControlPointUsed(i + 1)) - { - const B2DCubicBezier aBezierPlot( - rPoly.getB2DPoint(i), rPoly.getNextControlPoint(i), - rPoly.getPrevControlPoint(i + 1), rPoly.getB2DPoint(i + 1)); - - plot(aBezierPlot); - } - else - { - plot( rPoly.getB2DPoint(i), rPoly.getB2DPoint(i+1) ); - } - } - } - - void Plotter::plot( const B2DPolyPolygon& rPolyPoly ) - { - const sal_uInt32 nPolyCount( rPolyPoly.count() ); - - sal_uInt32 i; - for( i=0; i<nPolyCount; ++i ) - { - plot( rPolyPoly.getB2DPolygon(i) ); - } - } - - void Plotter::plot( const B2DPoint& rPoint ) - { - maPoints.push_back( rPoint ); - writeSeparator(); - mrOutputStream << "'-' using ($1):($2) title \"Point " << maPoints.size() << "\" with points"; - } - - void Plotter::plot( const B2DRange& rRect ) - { - // TODO: do that also as a data file plot. maPoints must - // then become polymorph, but WTF. - - // decompose into four lines - plot( B2DPoint(rRect.getMinX(), - rRect.getMinY()), - B2DPoint(rRect.getMaxX(), - rRect.getMinY()) ); - plot( B2DPoint(rRect.getMaxX(), - rRect.getMinY()), - B2DPoint(rRect.getMaxX(), - rRect.getMaxY()) ); - plot( B2DPoint(rRect.getMaxX(), - rRect.getMaxY()), - B2DPoint(rRect.getMinX(), - rRect.getMaxY()) ); - plot( B2DPoint(rRect.getMinX(), - rRect.getMaxY()), - B2DPoint(rRect.getMinX(), - rRect.getMinY()) ); - } - - void Plotter::plot( const B2DPoint& rStartPoint, const B2DPoint& rEndPoint ) - { - writeSeparator(); - mrOutputStream << "line(" << rStartPoint.getX() - << "," << rEndPoint.getX() - << ",t), " - << "line(" << rStartPoint.getY() - << "," << rEndPoint.getY() - << ",t)"; - } - - void Plotter::plot( const B2DCubicBezier& rCurve ) - { - writeSeparator(); - mrOutputStream << "cubicBezier(" << rCurve.getStartPoint().getX() - << "," << rCurve.getControlPointA().getX() - << "," << rCurve.getControlPointB().getX() - << "," << rCurve.getEndPoint().getX() - << ",t), " - << "cubicBezier(" << rCurve.getStartPoint().getY() - << "," << rCurve.getControlPointA().getY() - << "," << rCurve.getControlPointB().getY() - << "," << rCurve.getEndPoint().getY() - << ",t)"; - } - - void Plotter::writeSeparator() - { - if( mbFirstElement ) - { - mbFirstElement = false; - } - else - { - mrOutputStream << ", "; - } - } - - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/basegfx/test/testtools.hxx b/basegfx/test/testtools.hxx deleted file mode 100644 index c355df27376a..000000000000 --- a/basegfx/test/testtools.hxx +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _BASEGFX_TESTTOOLS_HXX -#define _BASEGFX_TESTTOOLS_HXX - -#include <basegfx/point/b2dpoint.hxx> - -#include <vector> -#include <iostream> - - -namespace basegfx -{ - class B2DCubicBezier; - class B2DPolygon; - class B2DPolyPolygon; - class B2DRange; - - namespace testtools - { - class Plotter - { - public: - /** Create a plotter for the given output stream - - This class can be used to generate gnuplot scripts for - a number of basegfx graphics primitives, useful for - debugging, regression-testing and comparing basegfx. - */ - Plotter( ::std::ostream& rOutputStream ); - - /** Delete the plotter - - This implicitely flushes all potential pending writes - to the output stream - */ - ~Plotter(); - - /** Plot a 2d polygon into the current graph - */ - void plot( const B2DPolygon& rPoly ); - - /** Plot a 2d polyPolygon into the current graph - */ - void plot( const B2DPolyPolygon& rPolyPoly ); - - /** Plot a 2d point into the current graph - */ - void plot( const B2DPoint& rPoint ); - - /** Plot a 2d rectangle into the current graph - */ - void plot( const B2DRange& rRect ); - - /** Plot a 2d line into the current graph - */ - void plot( const B2DPoint& rStartPoint, const B2DPoint& rEndPoint ); - - /** Plot a 2d cubic bezier curve into the current graph - */ - void plot( const B2DCubicBezier& rCurve ); - - private: - void writeSeparator(); - - ::std::ostream& mrOutputStream; - ::std::vector< B2DPoint > maPoints; - bool mbFirstElement; - }; - } -} - -#endif /* _BASEGFX_TESTTOOLS_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |