0024708: Convertation of the generic classes to the non-generic. Part 2
[occt.git] / src / AppDef / AppDef.cdl
CommitLineData
b311480e 1-- Created on: 1991-12-02
2-- Created by: Laurent PAINNOT
3-- Copyright (c) 1991-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--
d5f74e42 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
973c2be1 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
7fd59977 17-- 06/06/96 : JPI : ajout Variational
7fd59977 18
19
20
21package 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
f62de372 40uses AppParCurves, Approx, gp, TColgp, TCollection, Standard, MMgt, math, FEmTool, TColStd, GeomAbs, PLib
7fd59977 41
42
43is
44
45class 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
50class MultiLine;
51 ---Purpose: this is the organized set of points.
52
53class 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
f62de372 58deferred class SmoothCriterion;
7fd59977 59
f62de372 60class LinearCriteria;
61
62class Variational;
63 ---Purpose: computes the approximation of a Multiline by
64 -- Variational optimization.
7fd59977 65
66
67--- Classes instanciees:
68
69
70class TheLeastSquares instantiates LeastSquare from AppParCurves
71 (MultiLine from AppDef,
72 MyLineTool from AppDef);
f62de372 73
7fd59977 74
75class TheResol instantiates ResolConstraint from AppParCurves
76 (MultiLine from AppDef,
77 MyLineTool from AppDef);
78
79
80class TheFunction instantiates Function from AppParCurves
81 (MultiLine from AppDef,
82 MyLineTool from AppDef,
83
84 TheLeastSquares from AppDef,
85 TheResol from AppDef);
86
87
88class TheGradient instantiates Gradient from AppParCurves
89 (MultiLine from AppDef,
90 MyLineTool from AppDef);
91
92
93class Compute instantiates ComputeLine from Approx
94
95 (MultiLine from AppDef,
96 MyLineTool from AppDef);
97
98
99class BSplineCompute instantiates BSplComputeLine from Approx
100 (MultiLine from AppDef,
101 MyLineTool from AppDef);
102
103
104
105class Array1OfMultiPointConstraint instantiates Array1 from TCollection
106 (MultiPointConstraint);
107
108class HArray1OfMultiPointConstraint instantiates
109 HArray1 from TCollection(
110 MultiPointConstraint,Array1OfMultiPointConstraint);
111
112
113end AppDef;