0023024: Update headers of OCCT 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-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22 --  06/06/96 : JPI : ajout Variational
23
24
25
26 package AppDef
27
28     ---Purpose: This package describes all the classes needed to approximate 
29     --          points in Bezier curves. It is used in the package 
30     --          AppParCurves.
31     --          The points of the same range for the approximation are 
32     --          organised in MultiPointConstraints. These MultiPointConstraints
33     --        
34     --            are organized in a MultiLine.
35     --          The corresponding result of a MultiLine approximation is
36     --          a MultiCurve (set of Bezier curves) which has the same 
37     --          structure as a MultiLine: The MultiCurve is a set of 
38     --          MultiPoint.
39     --          A point of a MultiLine can have many significations: the approximation curve
40     --          can go through this point or not, can have a given tangency, or can 
41     --          have a given curvature.
42     --          Note: a CurvaturePoint is also a PassPoint and a TangencyPoint.
43     --          A TangencyPoint is also a PassPoint.
44
45 uses AppParCurves, Approx, gp, TColgp, TCollection, Standard, MMgt
46
47
48 is
49
50 class MultiPointConstraint;  
51     ---Purpose: a MultiPointConstraint is a set of points which have the same range 
52     -- in the MultiLine and the same constraints.
53
54
55 class MultiLine;
56     ---Purpose: this is the organized set of points.
57
58 class MyLineTool;
59     ---Purpose: example of MultiLine tool corresponding to the tools of the packages
60     -- AppParCurves and Approx. For Approx, the tool will not addd points
61     -- if the algorithms want some.
62
63
64
65
66 --- Classes instanciees:
67
68
69 class TheLeastSquares instantiates LeastSquare from AppParCurves
70                         (MultiLine            from AppDef,
71                          MyLineTool           from AppDef);
72                          
73 class TheVariational instantiates Variational from AppParCurves 
74                         (MultiLine            from AppDef,
75                          MyLineTool           from AppDef);
76
77 class TheResol instantiates ResolConstraint from AppParCurves
78                         (MultiLine            from AppDef,
79                          MyLineTool           from AppDef);
80
81
82 class TheFunction instantiates Function from AppParCurves
83                         (MultiLine            from AppDef,
84                          MyLineTool           from AppDef,
85                 
86          TheLeastSquares      from AppDef,
87                          TheResol             from AppDef);
88                         
89
90 class TheGradient instantiates Gradient from AppParCurves
91                         (MultiLine            from AppDef,
92                          MyLineTool           from AppDef);
93
94
95 class Compute instantiates ComputeLine from Approx
96                    
97          (MultiLine            from AppDef,
98                           MyLineTool           from AppDef);
99
100
101 class BSplineCompute instantiates BSplComputeLine from Approx
102                          (MultiLine            from AppDef,
103                           MyLineTool           from AppDef);
104
105
106
107 class Array1OfMultiPointConstraint instantiates Array1 from TCollection
108                 (MultiPointConstraint);
109
110 class HArray1OfMultiPointConstraint instantiates 
111                     HArray1 from TCollection(
112                     MultiPointConstraint,Array1OfMultiPointConstraint);
113
114
115 end AppDef;