xref: /aoo4110/main/svtools/source/inc/sgvspln.hxx (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski #ifndef _SGVSPLN_HXX
25*b1cdbd2cSJim Jagielski #define _SGVSPLN_HXX
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski /*************************************************************************
28*b1cdbd2cSJim Jagielski |*
29*b1cdbd2cSJim Jagielski |*    CalcSpline()
30*b1cdbd2cSJim Jagielski |*
31*b1cdbd2cSJim Jagielski |*    Beschreibung      Berechnet die Koeffizienten eines parametrischen
32*b1cdbd2cSJim Jagielski |*                      nat�rlichen oder periodischen kubischen
33*b1cdbd2cSJim Jagielski |*                      Polynomsplines. Die Eckpunkte des �bergebenen
34*b1cdbd2cSJim Jagielski |*                      Polygons werden als St�tzstellen angenommen.
35*b1cdbd2cSJim Jagielski |*                      n liefert die Anzahl der Teilpolynome.
36*b1cdbd2cSJim Jagielski |*                      Ist die Berechnung fehlerfrei verlaufen, so
37*b1cdbd2cSJim Jagielski |*                      liefert die Funktion sal_True. Nur in diesem Fall
38*b1cdbd2cSJim Jagielski |*                      ist Speicher f�r die Koeffizientenarrays
39*b1cdbd2cSJim Jagielski |*                      allokiert, der dann sp�ter vom Aufrufer mittels
40*b1cdbd2cSJim Jagielski |*                      delete freizugeben ist.
41*b1cdbd2cSJim Jagielski |*    Ersterstellung    JOE 17-08.93
42*b1cdbd2cSJim Jagielski |*    Letzte Aenderung  JOE 17-08.93
43*b1cdbd2cSJim Jagielski |*
44*b1cdbd2cSJim Jagielski *************************************************************************/
45*b1cdbd2cSJim Jagielski 
46*b1cdbd2cSJim Jagielski sal_Bool CalcSpline(Polygon& rPoly, sal_Bool Periodic, sal_uInt16& n,
47*b1cdbd2cSJim Jagielski 				double*& ax, double*& ay, double*& bx, double*& by,
48*b1cdbd2cSJim Jagielski 				double*& cx, double*& cy, double*& dx, double*& dy, double*& T);
49*b1cdbd2cSJim Jagielski 
50*b1cdbd2cSJim Jagielski /*************************************************************************
51*b1cdbd2cSJim Jagielski |*
52*b1cdbd2cSJim Jagielski |*    Poly2Spline()
53*b1cdbd2cSJim Jagielski |*
54*b1cdbd2cSJim Jagielski |*    Beschreibung      Konvertiert einen parametrichen kubischen
55*b1cdbd2cSJim Jagielski |*                      Polynomspline Spline (nat�rlich oder periodisch)
56*b1cdbd2cSJim Jagielski |*                      in ein angen�hertes Polygon.
57*b1cdbd2cSJim Jagielski |*                      Die Funktion liefert sal_False, wenn ein Fehler bei
58*b1cdbd2cSJim Jagielski |*                      der Koeffizientenberechnung aufgetreten ist oder
59*b1cdbd2cSJim Jagielski |*                      das Polygon zu gro?wird (>PolyMax=16380). Im 1.
60*b1cdbd2cSJim Jagielski |*                      Fall hat das Polygon 0, im 2. Fall PolyMax Punkte.
61*b1cdbd2cSJim Jagielski |*                      Um Koordinaten�berl�ufe zu vermeiden werden diese
62*b1cdbd2cSJim Jagielski |*                      auf +/-32000 begrenzt.
63*b1cdbd2cSJim Jagielski |*    Ersterstellung    JOE 23.06.93
64*b1cdbd2cSJim Jagielski |*    Letzte Aenderung  JOE 23.06.93
65*b1cdbd2cSJim Jagielski |*
66*b1cdbd2cSJim Jagielski *************************************************************************/
67*b1cdbd2cSJim Jagielski sal_Bool Spline2Poly(Polygon& rSpln, sal_Bool Periodic, Polygon& rPoly);
68*b1cdbd2cSJim Jagielski 
69*b1cdbd2cSJim Jagielski #endif //_SGVSPLN_HXX
70