Commit | Line | Data |
---|---|---|

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 | ||

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 | ||

f62de372 | 40 | uses AppParCurves, Approx, gp, TColgp, TCollection, Standard, MMgt, math, FEmTool, TColStd, GeomAbs, PLib |

7fd59977 | 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 | ||

f62de372 | 58 | deferred class SmoothCriterion; |

7fd59977 | 59 | |

f62de372 | 60 | class LinearCriteria; |

61 | ||

62 | class Variational; | |

63 | ---Purpose: computes the approximation of a Multiline by | |

64 | -- Variational optimization. | |

7fd59977 | 65 | |

66 | ||

67 | --- Classes instanciees: | |

68 | ||

69 | ||

70 | class TheLeastSquares instantiates LeastSquare from AppParCurves | |

71 | (MultiLine from AppDef, | |

72 | MyLineTool from AppDef); | |

f62de372 | 73 | |

7fd59977 | 74 | |

75 | class TheResol instantiates ResolConstraint from AppParCurves | |

76 | (MultiLine from AppDef, | |

77 | MyLineTool from AppDef); | |

78 | ||

79 | ||

80 | class TheFunction instantiates Function from AppParCurves | |

81 | (MultiLine from AppDef, | |

82 | MyLineTool from AppDef, | |

83 | ||

84 | TheLeastSquares from AppDef, | |

85 | TheResol from AppDef); | |

86 | ||

87 | ||

88 | class TheGradient instantiates Gradient from AppParCurves | |

89 | (MultiLine from AppDef, | |

90 | MyLineTool from AppDef); | |

91 | ||

92 | ||

93 | class Compute instantiates ComputeLine from Approx | |

94 | ||

95 | (MultiLine from AppDef, | |

96 | MyLineTool from AppDef); | |

97 | ||

98 | ||

99 | class BSplineCompute instantiates BSplComputeLine from Approx | |

100 | (MultiLine from AppDef, | |

101 | MyLineTool from AppDef); | |

102 | ||

103 | ||

104 | ||

105 | class Array1OfMultiPointConstraint instantiates Array1 from TCollection | |

106 | (MultiPointConstraint); | |

107 | ||

108 | class HArray1OfMultiPointConstraint instantiates | |

109 | HArray1 from TCollection( | |

110 | MultiPointConstraint,Array1OfMultiPointConstraint); | |

111 | ||

112 | ||

113 | end AppDef; |