1 -- Created on: 1997-10-22
2 -- Created by: Philippe MANGIN / Sergey SOKOLOV
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
22 deferred class Base from PLib inherits TShared from MMgt
24 ---Purpose: To work with different polynomial's Bases
27 Array1OfReal from TColStd
30 ToCoefficients (me ; Dimension, Degree : Integer;
31 CoeffinBase : Array1OfReal from TColStd ;
32 Coefficients : out Array1OfReal from TColStd)
34 -- Convert the polynomial P(t) in the canonical base.
37 D0 (me : mutable; U : Real;
38 BasisValue : out Array1OfReal from TColStd)
39 ---Purpose: Compute the values of the basis functions in u
43 D1 (me : mutable; U : Real;
44 BasisValue : out Array1OfReal from TColStd;
45 BasisD1 : out Array1OfReal from TColStd)
46 ---Purpose: Compute the values and the derivatives values of
47 -- the basis functions in u
50 D2 (me : mutable; U : Real;
51 BasisValue : out Array1OfReal from TColStd;
52 BasisD1 : out Array1OfReal from TColStd;
53 BasisD2 : out Array1OfReal from TColStd)
54 ---Purpose: Compute the values and the derivatives values of
55 -- the basis functions in u
58 D3 (me : mutable; U : Real;
59 BasisValue : out Array1OfReal from TColStd;
60 BasisD1 : out Array1OfReal from TColStd;
61 BasisD2 : out Array1OfReal from TColStd;
62 BasisD3 : out Array1OfReal from TColStd)
63 ---Purpose: Compute the values and the derivatives values of
64 -- the basis functions in u
67 WorkDegree (me) returns Integer
68 --- Purpose: returns WorkDegree
71 ReduceDegree ( me ; Dimension , MaxDegree : Integer ; Tol : Real ;
72 BaseCoeff : in out Real;
73 NewDegree : out Integer ;
77 -- Compute NewDegree <= MaxDegree so that MaxError is lower
79 -- MaxError can be greater than Tol if it is not possible
80 -- to find a NewDegree <= MaxDegree.
81 -- In this case NewDegree = MaxDegree