Integration of OCCT 6.5.0 from SVN
[occt.git] / src / Approx / Approx.cdl
1 -- File:        Approx.cdl
2 -- Created:     Tue Jan 26 11:16:41 1993
3 -- Author:      Laurent PAINNOT
4 --              <lpa@sdsun1>
5 ---Copyright:    Matra Datavision 1993
6
7
8
9 package Approx 
10
11      ---Purpose: Tis package provides algorithms approximating a set of
12      --          points or curves with the possibility of dividing into
13      --          one or many bezier curves.
14      --          It also provides an instantiation for approximating
15      --          a continous function f(t) into one or many curves. 
16      
17 uses AdvApprox, 
18      AppCont, 
19      AppParCurves, 
20      math, 
21      gp,
22      GeomAbs,
23      Geom,
24      Geom2d,
25      Adaptor3d,
26      Adaptor2d,
27      TColStd, 
28      TColGeom, 
29      TColgp, 
30      TCollection,  
31      Standard, 
32      StdFail
33
34
35 is
36
37 enumeration ParametrizationType is
38     ChordLength,
39     Centripetal,
40     IsoParametric
41 end;    
42
43 enumeration Status is
44     PointsAdded,
45     NoPointsAdded,
46     NoApproximation
47 end;    
48
49     deferred generic class TheLineTool;    ---Template
50         ---Purpose: This template is different from the one of AppParCurves.
51         --          In this case, it is possible to insert new points 
52         --          during the approximation with ComputeLine.
53     
54     
55     
56 ---------------------------------------------
57 ---Algorithms for Bezier curves construction:
58 ---------------------------------------------
59
60
61    generic class ComputeLine, MyGradient;
62     ---Purpose: Approximate a MultiLine with a cutting.
63
64    generic class ComputeCLine, MyLeastSquare;
65     ---Purpose: Approximate a continous MultiLine with a cutting.
66     --          The Tool of the line is the tool from AppCont.
67
68
69    generic class ComputeCSurface, MySLeastSquare;
70     ---Purpose: Approximate a continous Surface with or without cutting.
71     --          The tool is the tool of AppCont.   
72
73
74
75
76 ----------------------------------------------
77 ---Algorithms for BSpline curves construction:
78 ----------------------------------------------
79
80
81     generic class BSplComputeLine, MyBSplGradient, MyGradientbis;
82
83 ----------------------------------------------
84 ---Algorithms for BSpline Surface construction:
85 ----------------------------------------------
86                                                                                    class  SweepApproximation; 
87                                                                                    deferred  class  SweepFunction;
88 -----------------------------------------------------------------
89 --- Transformation of connecting MultiCurves into a MultiBSpCurve
90 -----------------------------------------------------------------
91
92
93     class MCurvesToBSpCurve;
94
95 ------------------------------------------------
96 ---Algorithms  for  PCurve  approximation:
97 ------------------------------------------------
98     class  CurveOnSurface;  
99     class  Curve3d;     
100     class  Curve2d; 
101 ------------------------------------------------
102 ---Algorithms  for  PCurve  approximation:
103 ------------------------------------------------
104     class  CurvilinearParameter;  
105     class  CurvlinFunc;
106 --------------------------
107 --- instantiate classes:
108 --------------------------
109
110     class SequenceOfHArray1OfReal instantiates Sequence from TCollection
111                                             (HArray1OfReal from TColStd);
112
113
114 -----------------------------------------------------------------
115 --- the folowing classes approximate a continous function f(t) in 
116 --- one or many bezier curves.
117 -----------------------------------------------------------------
118
119     class FitAndDivide instantiates ComputeCLine from Approx
120         (Function from AppCont, FunctionTool from AppCont);
121
122     class FitAndDivide2d instantiates ComputeCLine from Approx
123         (Function2d from AppCont, FunctionTool2d from AppCont);
124
125     class SameParameter from Approx ;
126     ---Purpose: this makes a 3D curve from Adaptor3d and
127     --          a curve on surface to check and build a 2D 
128     --          BSpline curve that has the same parameterisation
129     --          as the 3D curve.
130     class Array1OfAdHSurface    instantiates Array1 from TCollection 
131                             (HSurface  from  Adaptor3d)                      ;
132     class HArray1OfAdHSurface  instantiates HArray1 from TCollection
133                             (HSurface from   Adaptor3d, Array1OfAdHSurface)  ;
134     class Array1OfGTrsf2d     instantiates Array1 from TCollection
135                             (GTrsf2d  from  gp)                            ;
136  
137     class HArray1OfGTrsf2d  instantiates HArray1  from TCollection
138                             (GTrsf2d from  gp, Array1OfGTrsf2d)  ; 
139                             
140     --    class ApproxPoints from Approx ;
141     --    class ApproxPoints  from Approx ;
142     ---Purpose:  
143     --      this approximates a series of points
144     --   Boundary conditions can be given as well
145     --   a given parameterisation
146     --   
147  
148 end Approx;