1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir #ifndef _SGVSPLN_HXX 29*cdf0e10cSrcweir #define _SGVSPLN_HXX 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir /************************************************************************* 32*cdf0e10cSrcweir |* 33*cdf0e10cSrcweir |* CalcSpline() 34*cdf0e10cSrcweir |* 35*cdf0e10cSrcweir |* Beschreibung Berechnet die Koeffizienten eines parametrischen 36*cdf0e10cSrcweir |* nat�rlichen oder periodischen kubischen 37*cdf0e10cSrcweir |* Polynomsplines. Die Eckpunkte des �bergebenen 38*cdf0e10cSrcweir |* Polygons werden als St�tzstellen angenommen. 39*cdf0e10cSrcweir |* n liefert die Anzahl der Teilpolynome. 40*cdf0e10cSrcweir |* Ist die Berechnung fehlerfrei verlaufen, so 41*cdf0e10cSrcweir |* liefert die Funktion sal_True. Nur in diesem Fall 42*cdf0e10cSrcweir |* ist Speicher f�r die Koeffizientenarrays 43*cdf0e10cSrcweir |* allokiert, der dann sp�ter vom Aufrufer mittels 44*cdf0e10cSrcweir |* delete freizugeben ist. 45*cdf0e10cSrcweir |* Ersterstellung JOE 17-08.93 46*cdf0e10cSrcweir |* Letzte Aenderung JOE 17-08.93 47*cdf0e10cSrcweir |* 48*cdf0e10cSrcweir *************************************************************************/ 49*cdf0e10cSrcweir 50*cdf0e10cSrcweir sal_Bool CalcSpline(Polygon& rPoly, sal_Bool Periodic, sal_uInt16& n, 51*cdf0e10cSrcweir double*& ax, double*& ay, double*& bx, double*& by, 52*cdf0e10cSrcweir double*& cx, double*& cy, double*& dx, double*& dy, double*& T); 53*cdf0e10cSrcweir 54*cdf0e10cSrcweir /************************************************************************* 55*cdf0e10cSrcweir |* 56*cdf0e10cSrcweir |* Poly2Spline() 57*cdf0e10cSrcweir |* 58*cdf0e10cSrcweir |* Beschreibung Konvertiert einen parametrichen kubischen 59*cdf0e10cSrcweir |* Polynomspline Spline (nat�rlich oder periodisch) 60*cdf0e10cSrcweir |* in ein angen�hertes Polygon. 61*cdf0e10cSrcweir |* Die Funktion liefert sal_False, wenn ein Fehler bei 62*cdf0e10cSrcweir |* der Koeffizientenberechnung aufgetreten ist oder 63*cdf0e10cSrcweir |* das Polygon zu gro?wird (>PolyMax=16380). Im 1. 64*cdf0e10cSrcweir |* Fall hat das Polygon 0, im 2. Fall PolyMax Punkte. 65*cdf0e10cSrcweir |* Um Koordinaten�berl�ufe zu vermeiden werden diese 66*cdf0e10cSrcweir |* auf +/-32000 begrenzt. 67*cdf0e10cSrcweir |* Ersterstellung JOE 23.06.93 68*cdf0e10cSrcweir |* Letzte Aenderung JOE 23.06.93 69*cdf0e10cSrcweir |* 70*cdf0e10cSrcweir *************************************************************************/ 71*cdf0e10cSrcweir sal_Bool Spline2Poly(Polygon& rSpln, sal_Bool Periodic, Polygon& rPoly); 72*cdf0e10cSrcweir 73*cdf0e10cSrcweir #endif //_SGVSPLN_HXX 74