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

b311480e | 1 | -- Created on: 1993-01-26 |

2 | -- Created by: Laurent PAINNOT | |

3 | -- Copyright (c) 1993-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 | -- |

973c2be1 | 8 | -- This library is free software; you can redistribute it and / or modify it |

9 | -- under the terms of the GNU Lesser General Public 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. | |

b311480e | 13 | -- |

973c2be1 | 14 | -- Alternatively, this file may be used under the terms of Open CASCADE |

15 | -- commercial license or contractual agreement. | |

7fd59977 | 16 | |

17 | package Approx | |

18 | ||

19 | ---Purpose: Tis package provides algorithms approximating a set of | |

20 | -- points or curves with the possibility of dividing into | |

21 | -- one or many bezier curves. | |

22 | -- It also provides an instantiation for approximating | |

23 | -- a continous function f(t) into one or many curves. | |

24 | ||

25 | uses AdvApprox, | |

26 | AppCont, | |

27 | AppParCurves, | |

28 | math, | |

29 | gp, | |

30 | GeomAbs, | |

31 | Geom, | |

32 | Geom2d, | |

33 | Adaptor3d, | |

34 | Adaptor2d, | |

35 | TColStd, | |

36 | TColGeom, | |

37 | TColgp, | |

38 | TCollection, | |

39 | Standard, | |

40 | StdFail | |

41 | ||

42 | ||

43 | is | |

44 | ||

45 | enumeration ParametrizationType is | |

46 | ChordLength, | |

47 | Centripetal, | |

48 | IsoParametric | |

49 | end; | |

50 | ||

51 | enumeration Status is | |

52 | PointsAdded, | |

53 | NoPointsAdded, | |

54 | NoApproximation | |

55 | end; | |

56 | ||

57 | deferred generic class TheLineTool; ---Template | |

58 | ---Purpose: This template is different from the one of AppParCurves. | |

59 | -- In this case, it is possible to insert new points | |

60 | -- during the approximation with ComputeLine. | |

61 | ||

62 | ||

63 | ||

64 | --------------------------------------------- | |

65 | ---Algorithms for Bezier curves construction: | |

66 | --------------------------------------------- | |

67 | ||

68 | ||

69 | generic class ComputeLine, MyGradient; | |

70 | ---Purpose: Approximate a MultiLine with a cutting. | |

71 | ||

72 | generic class ComputeCLine, MyLeastSquare; | |

73 | ---Purpose: Approximate a continous MultiLine with a cutting. | |

74 | -- The Tool of the line is the tool from AppCont. | |

75 | ||

76 | ||

77 | generic class ComputeCSurface, MySLeastSquare; | |

78 | ---Purpose: Approximate a continous Surface with or without cutting. | |

79 | -- The tool is the tool of AppCont. | |

80 | ||

81 | ||

82 | ||

83 | ||

84 | ---------------------------------------------- | |

85 | ---Algorithms for BSpline curves construction: | |

86 | ---------------------------------------------- | |

87 | ||

88 | ||

89 | generic class BSplComputeLine, MyBSplGradient, MyGradientbis; | |

90 | ||

91 | ---------------------------------------------- | |

92 | ---Algorithms for BSpline Surface construction: | |

93 | ---------------------------------------------- | |

94 | class SweepApproximation; | |

95 | deferred class SweepFunction; | |

96 | ----------------------------------------------------------------- | |

97 | --- Transformation of connecting MultiCurves into a MultiBSpCurve | |

98 | ----------------------------------------------------------------- | |

99 | ||

100 | ||

101 | class MCurvesToBSpCurve; | |

102 | ||

103 | ------------------------------------------------ | |

104 | ---Algorithms for PCurve approximation: | |

105 | ------------------------------------------------ | |

106 | class CurveOnSurface; | |

107 | class Curve3d; | |

108 | class Curve2d; | |

109 | ------------------------------------------------ | |

110 | ---Algorithms for PCurve approximation: | |

111 | ------------------------------------------------ | |

112 | class CurvilinearParameter; | |

113 | class CurvlinFunc; | |

114 | -------------------------- | |

115 | --- instantiate classes: | |

116 | -------------------------- | |

117 | ||

118 | class SequenceOfHArray1OfReal instantiates Sequence from TCollection | |

119 | (HArray1OfReal from TColStd); | |

120 | ||

121 | ||

122 | ----------------------------------------------------------------- | |

123 | --- the folowing classes approximate a continous function f(t) in | |

124 | --- one or many bezier curves. | |

125 | ----------------------------------------------------------------- | |

126 | ||

127 | class FitAndDivide instantiates ComputeCLine from Approx | |

128 | (Function from AppCont, FunctionTool from AppCont); | |

129 | ||

130 | class FitAndDivide2d instantiates ComputeCLine from Approx | |

131 | (Function2d from AppCont, FunctionTool2d from AppCont); | |

132 | ||

133 | class SameParameter from Approx ; | |

134 | ---Purpose: this makes a 3D curve from Adaptor3d and | |

135 | -- a curve on surface to check and build a 2D | |

136 | -- BSpline curve that has the same parameterisation | |

137 | -- as the 3D curve. | |

138 | class Array1OfAdHSurface instantiates Array1 from TCollection | |

139 | (HSurface from Adaptor3d) ; | |

140 | class HArray1OfAdHSurface instantiates HArray1 from TCollection | |

141 | (HSurface from Adaptor3d, Array1OfAdHSurface) ; | |

142 | class Array1OfGTrsf2d instantiates Array1 from TCollection | |

143 | (GTrsf2d from gp) ; | |

144 | ||

145 | class HArray1OfGTrsf2d instantiates HArray1 from TCollection | |

146 | (GTrsf2d from gp, Array1OfGTrsf2d) ; | |

147 | ||

148 | -- class ApproxPoints from Approx ; | |

149 | -- class ApproxPoints from Approx ; | |

150 | ---Purpose: | |

151 | -- this approximates a series of points | |

152 | -- Boundary conditions can be given as well | |

153 | -- a given parameterisation | |

154 | -- | |

155 | ||

156 | end Approx; |