0024428: Implementation of LGPL license
[occt.git] / src / AppCont / AppCont.cdl
CommitLineData
b311480e 1-- Created on: 1993-04-22
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 AppCont
18
19 ---Purpose: This package provides the least square algorithms
20 -- necessary to approximate a set of continous curves
21 -- or a continous surface.
22 --
23 --
24 -- It also provides an instantiation of these algorithms
25 -- for a class Function, a function f(t).
26 -- The user will have to inherit class Function to use it.
27
28
29 ---Level : Advanced.
30 -- All methods of all classes will be advanced.
31
32
33
34
35uses AppParCurves, Geom, math, StdFail, TCollection, TColStd, gp,
36 TColgp, Standard
37
38
39is
40
41
42 deferred generic class TheLineTool; --- Template
43 ---Purpose: Tool describing a continous MultiLine.
44 -- The MultiLine is described by a parameter.
45
46 deferred generic class TheSurfTool; --- Template
47 ---Purpose: Tool describing a continous Surface.
48 -- The Surface is described by a couple of parameters.
49
50
51
52 -------------------------------
53 --- Algorithms:
54 -------------------------------
55
56 ---Purpose: The two following algorithms are using the same recipe:
57 -- Minimizing the difference between the approximate result
58 -- Curve or Surface and respectively a continous MultiLine
59 -- or a continous surface.
60
61 generic class LeastSquare;
62 ---Purpose: makes an approximation of a continous Line described by
63 -- the tool TheLineTool.
64
65 generic class SurfLeastSquare;
66 ---Purpose: makes an approximation of a continous Surface
67 -- described by the tool TheSurfaceTool.
68
69
70
71 ------------------------------------------------------
72 --- Necessary class for approximation a function f(t):
73 ------------------------------------------------------
74
75 deferred class Function;
76 ---Purpose: This class must be provided by the user to use the
77 -- approximation algorithm FittingCurve.
78
79
80 class FunctionTool;
81 ---Purpose: This class is the inteface between the Function
82 -- class and the tool asked by LeastSquare.
83
84
85 ---------------------------------------------------------
86 --- Necessary class for approximation a 2d function f(t):
87 ---------------------------------------------------------
88
89 deferred class Function2d;
90 ---Purpose: This class must be provided by the user to use the
91 -- approximation algorithm FittingCurve2d.
92
93
94 class FunctionTool2d;
95 ---Purpose: This class is the inteface between the Function2d
96 -- class and the tool asked by LeastSquare.
97
98
99
100 class FitFunction instantiates LeastSquare from AppCont
101 (Function from AppCont, FunctionTool from AppCont);
102
103 class FitFunction2d instantiates LeastSquare from AppCont
104 (Function2d from AppCont, FunctionTool2d from AppCont);
105
106
107end AppCont;
108