0023024: Update headers of OCCT files
[occt.git] / src / FEmTool / FEmTool_Curve.cdl
CommitLineData
b311480e 1-- Created on: 1997-09-12
2-- Created by: Philippe MANGIN
3-- Copyright (c) 1997-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
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.
10--
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.
13--
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.
20
7fd59977 21
22
23class Curve from FEmTool inherits TShared from MMgt
24
25 ---Purpose: Curve defined by Polynomial Elements.
26
27uses
28 Base from PLib,
29 Array1OfReal from TColStd,
30 HArray1OfInteger from TColStd,
31 Array2OfReal from TColStd,
32 Array1OfInteger from TColStd,
33 HArray1OfReal from TColStd
34
35raises
36 DimensionError
37
38is
39 Create(Dimension : Integer;
40 NbElements : Integer;
41 TheBase : Base from PLib;
42 Tolerance : Real);
43
44 Knots(me)
45 ---C++: return &
46 returns Array1OfReal;
47
48 SetElement(me : mutable; IndexOfElement : Integer;
49 Coeffs : Array2OfReal);
50
51 D0(me : mutable; U : Real; Pnt : out Array1OfReal);
52
53 D1(me : mutable; U : Real; Vec : out Array1OfReal);
54
55 D2(me : mutable; U : Real; Vec : out Array1OfReal);
56
57 Length(me : mutable;
58 FirstU, LastU : Real;
59 Length : out Real);
60
61 GetElement(me : mutable; IndexOfElement : Integer;
62 Coeffs : out Array2OfReal);
63
64 GetPolynom(me : mutable; Coeffs : out Array1OfReal);
65 ---Purpose: returns coefficients of all elements in canonical base.
66
67 NbElements(me) returns Integer;
68
69 Dimension(me) returns Integer;
70
71 Base(me) returns Base from PLib;
72
73 Degree(me; IndexOfElement : Integer) returns Integer;
74
75 SetDegree(me : mutable;
76 IndexOfElement : Integer;
77 Degree : Integer);
78
79 ReduceDegree(me : mutable;
80 IndexOfElement : Integer; Tol : Real;
81 NewDegree : out Integer; MaxError : out Real);
82
83
84 Update(me:mutable; Element : Integer; Order : Integer)
85 is private;
86
87fields
88 myNbElements : Integer;
89 myDimension : Integer;
90 myTolerance : Real;
91 myBase : Base from PLib;
92 myKnots : HArray1OfReal;
93 myDegree : Array1OfInteger;
94 myCoeff : Array1OfReal; -- Coeff in <myBase>
95 myPoly : Array1OfReal; -- Coeff in the canonnical Bases
96 myDeri : Array1OfReal; -- Coeff of the first Derivative
97 -- in the canonical Base
98 myDsecn : Array1OfReal; -- Coeff of the second Derivative
99 -- in the canonnical Base
100 HasPoly : Array1OfInteger; -- Say If the Ith Element
101 -- has an canonical Representation.
102 HasDeri : Array1OfInteger; -- Say If the Ith Element
103 -- has an first Derivative Representation.
104 HasSecn : Array1OfInteger; -- Say If the Ith Element
105 -- has an second Derivative Representation.
106 myLength : Array1OfReal; -- Table of Length Element by Element
107 Uf, Ul : Real;
108 Denom, USum : Real;
109 myIndex, myPtr : Integer;
110end Curve;
111
112