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
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 -- 06/06/96 : JPI : ajout Variational
23 ---Purpose: This package describes all the classes needed to approximate
24 -- points in Bezier curves. It is used in the package
26 -- The points of the same range for the approximation are
27 -- organised in MultiPointConstraints. These MultiPointConstraints
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
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.
40 uses AppParCurves, Approx, gp, TColgp, TCollection, Standard, MMgt
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.
51 ---Purpose: this is the organized set of points.
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.
61 --- Classes instanciees:
64 class TheLeastSquares instantiates LeastSquare from AppParCurves
65 (MultiLine from AppDef,
66 MyLineTool from AppDef);
68 class TheVariational instantiates Variational from AppParCurves
69 (MultiLine from AppDef,
70 MyLineTool from AppDef);
72 class TheResol instantiates ResolConstraint from AppParCurves
73 (MultiLine from AppDef,
74 MyLineTool from AppDef);
77 class TheFunction instantiates Function from AppParCurves
78 (MultiLine from AppDef,
79 MyLineTool from AppDef,
81 TheLeastSquares from AppDef,
82 TheResol from AppDef);
85 class TheGradient instantiates Gradient from AppParCurves
86 (MultiLine from AppDef,
87 MyLineTool from AppDef);
90 class Compute instantiates ComputeLine from Approx
92 (MultiLine from AppDef,
93 MyLineTool from AppDef);
96 class BSplineCompute instantiates BSplComputeLine from Approx
97 (MultiLine from AppDef,
98 MyLineTool from AppDef);
102 class Array1OfMultiPointConstraint instantiates Array1 from TCollection
103 (MultiPointConstraint);
105 class HArray1OfMultiPointConstraint instantiates
106 HArray1 from TCollection(
107 MultiPointConstraint,Array1OfMultiPointConstraint);