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