0024624: Lost word in license statement in source files
[occt.git] / src / AppDef / AppDef.cdl
1 -- Created on: 1991-12-02
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 --  06/06/96 : JPI : ajout Variational
18
19
20
21 package AppDef
22
23     ---Purpose: This package describes all the classes needed to approximate 
24     --          points in Bezier curves. It is used in the package 
25     --          AppParCurves.
26     --          The points of the same range for the approximation are 
27     --          organised in MultiPointConstraints. These MultiPointConstraints
28     --        
29     --            are organized in a MultiLine.
30     --          The corresponding result of a MultiLine approximation is
31     --          a MultiCurve (set of Bezier curves) which has the same 
32     --          structure as a MultiLine: The MultiCurve is a set of 
33     --          MultiPoint.
34     --          A point of a MultiLine can have many significations: the approximation curve
35     --          can go through this point or not, can have a given tangency, or can 
36     --          have a given curvature.
37     --          Note: a CurvaturePoint is also a PassPoint and a TangencyPoint.
38     --          A TangencyPoint is also a PassPoint.
39
40 uses AppParCurves, Approx, gp, TColgp, TCollection, Standard, MMgt
41
42
43 is
44
45 class MultiPointConstraint;  
46     ---Purpose: a MultiPointConstraint is a set of points which have the same range 
47     -- in the MultiLine and the same constraints.
48
49
50 class MultiLine;
51     ---Purpose: this is the organized set of points.
52
53 class MyLineTool;
54     ---Purpose: example of MultiLine tool corresponding to the tools of the packages
55     -- AppParCurves and Approx. For Approx, the tool will not addd points
56     -- if the algorithms want some.
57
58
59
60
61 --- Classes instanciees:
62
63
64 class TheLeastSquares instantiates LeastSquare from AppParCurves
65                         (MultiLine            from AppDef,
66                          MyLineTool           from AppDef);
67                          
68 class TheVariational instantiates Variational from AppParCurves 
69                         (MultiLine            from AppDef,
70                          MyLineTool           from AppDef);
71
72 class TheResol instantiates ResolConstraint from AppParCurves
73                         (MultiLine            from AppDef,
74                          MyLineTool           from AppDef);
75
76
77 class TheFunction instantiates Function from AppParCurves
78                         (MultiLine            from AppDef,
79                          MyLineTool           from AppDef,
80                 
81          TheLeastSquares      from AppDef,
82                          TheResol             from AppDef);
83                         
84
85 class TheGradient instantiates Gradient from AppParCurves
86                         (MultiLine            from AppDef,
87                          MyLineTool           from AppDef);
88
89
90 class Compute instantiates ComputeLine from Approx
91                    
92          (MultiLine            from AppDef,
93                           MyLineTool           from AppDef);
94
95
96 class BSplineCompute instantiates BSplComputeLine from Approx
97                          (MultiLine            from AppDef,
98                           MyLineTool           from AppDef);
99
100
101
102 class Array1OfMultiPointConstraint instantiates Array1 from TCollection
103                 (MultiPointConstraint);
104
105 class HArray1OfMultiPointConstraint instantiates 
106                     HArray1 from TCollection(
107                     MultiPointConstraint,Array1OfMultiPointConstraint);
108
109
110 end AppDef;