0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / AppParCurves / AppParCurves.cdl
1 -- Created on: 1991-04-11
2 -- Created by: Laurent PAINNOT
3 -- Copyright (c) 1991-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 package AppParCurves 
18
19     ---Purpose: Parallel Approximation in n curves.
20     -- This package gives all the algorithms used to approximate a MultiLine
21     -- described by the tool MLineTool. 
22     -- The result of the approximation will be a MultiCurve. 
23     
24 uses  math, FEmTool,  gp, TColgp, StdFail, TColStd, TCollection, Standard, MMgt, GeomAbs, PLib
25
26 is
27
28     enumeration Constraint is
29         NoConstraint,
30         PassPoint,
31         TangencyPoint,
32         CurvaturePoint
33     end Constraint;
34 ---Purpose:
35 -- -   NoConstraint: this point has no constraints.
36 -- -   PassPoint: the approximation curve passes through this point.
37 -- -   TangencyPoint: this point has a tangency constraint.
38 -- -   CurvaturePoint: this point has a curvature constraint.
39
40
41     class MultiPoint;
42
43     class MultiCurve;
44
45     class MultiBSpCurve;
46
47     class ConstraintCouple;
48
49
50 -- Algorithms:
51     
52     
53     generic class LeastSquare;
54
55     generic class ResolConstraint;
56
57     generic class Function;
58
59
60     generic class BSpFunction;
61     
62
63     generic class Gradient,  Gradient_BFGS, ParLeastSquare, ResConstraint, ParFunction;
64
65     generic class BSpGradient, BSpGradient_BFGS,  BSpParLeastSquare, BSpParFunction;
66
67
68     --- instantiate classes:
69     --  
70
71     imported Array1OfConstraintCouple;
72
73     imported transient class HArray1OfConstraintCouple;
74
75
76     imported Array1OfMultiPoint;
77             
78     imported transient class HArray1OfMultiPoint;
79
80
81     imported Array1OfMultiCurve;
82
83     imported transient class HArray1OfMultiCurve;
84
85     imported SequenceOfMultiCurve;
86
87
88     imported Array1OfMultiBSpCurve;
89
90     imported transient class HArray1OfMultiBSpCurve;
91
92     imported SequenceOfMultiBSpCurve;
93      
94     
95      BernsteinMatrix(NbPoles: in Integer    from Standard;
96                      U      : in Vector     from math;
97                      A      : in out Matrix from math);
98      
99
100      Bernstein(NbPoles: in Integer    from Standard;
101                U      : in Vector     from math;
102                A      : in out Matrix from math; 
103                DA     : in out Matrix from math);
104
105     
106      SecondDerivativeBernstein(U: Real; DDA: in out Vector from math);
107
108
109      SplineFunction(NbPoles    : in     Integer        from Standard;
110                     Degree     : in     Integer        from Standard;
111                     Parameters : in     Vector         from math;
112                     FlatKnots  : in     Vector         from math;
113                     A          : in out Matrix         from math;
114                     DA         : in out Matrix         from math;
115                     Index      : in out IntegerVector  from math);
116                     
117 end AppParCurves;