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

b311480e | 1 | -- Created on: 1993-12-06 |

2 | -- Created by: Jacques GOUSSARD | |

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

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

b311480e | 16 | |

7fd59977 | 17 | -- jlr le 28-07-97 F(t) in Edge/Face |

7fd59977 | 18 | |

19 | ||

20 | ||

21 | package BRepBlend | |

22 | ||

23 | uses Blend, BlendFunc, AppBlend, Approx, Adaptor3d,Adaptor2d, | |

24 | Law, gp, TopAbs, IntSurf, Convert, | |

25 | TCollection,TColStd,TColgp,GeomAbs,Geom,Geom2d, | |

26 | AdvApprox, StdFail, math | |

27 | ||

28 | is | |

29 | ||

04f7bd75 | 30 | class PointOnRst; |

31 | class Extremity; | |

32 | class Line; | |

7fd59977 | 33 | |

04f7bd75 | 34 | class HCurveTool; |

35 | class HCurve2dTool; | |

7fd59977 | 36 | |

37 | class BlendTool; | |

38 | ||

39 | alias ConstRad is ConstRad from BlendFunc; | |

40 | ||

41 | alias ConstRadInv is ConstRadInv from BlendFunc; | |

42 | ||

43 | alias Ruled is Ruled from BlendFunc; | |

44 | ||

45 | alias RuledInv is RuledInv from BlendFunc; | |

46 | ||

47 | alias EvolRad is EvolRad from BlendFunc; | |

48 | ||

49 | alias EvolRadInv is EvolRadInv from BlendFunc; | |

50 | ||

51 | alias CSConstRad is CSConstRad from BlendFunc; | |

52 | ||

53 | alias CSCircular is CSCircular from BlendFunc; | |

54 | ||

55 | alias Chamfer is Chamfer from BlendFunc; | |

56 | ||

57 | alias ChamfInv is ChamfInv from BlendFunc; | |

58 | ||

59 | alias ChAsym is ChAsym from BlendFunc; | |

60 | ||

61 | alias ChAsymInv is ChAsymInv from BlendFunc; | |

62 | ||

7fd59977 | 63 | class SequenceOfPointOnRst instantiates Sequence from TCollection |

64 | (PointOnRst from BRepBlend); | |

65 | ||

7fd59977 | 66 | class Walking instantiates Walking from Blend |

67 | (HVertex from Adaptor3d, | |

68 | HCurve2d from Adaptor2d, | |

69 | HSurface from Adaptor3d, | |

70 | HCurve from Adaptor3d, | |

71 | Integer from Standard, | |

72 | HCurve2dTool from BRepBlend, | |

73 | HSurfaceTool from Adaptor3d, | |

74 | HCurveTool from BRepBlend, | |

75 | TopolTool from Adaptor3d, | |

76 | BlendTool from BRepBlend, | |

77 | PointOnRst from BRepBlend, | |

78 | SequenceOfPointOnRst from BRepBlend, | |

79 | Extremity from BRepBlend, | |

80 | Line from BRepBlend); | |

81 | ||

82 | class CSWalking instantiates CSWalking from Blend | |

83 | (HVertex from Adaptor3d, | |

84 | HCurve2d from Adaptor2d, | |

85 | HSurface from Adaptor3d, | |

86 | HCurve from Adaptor3d, | |

87 | Integer from Standard, | |

88 | HCurve2dTool from BRepBlend, | |

89 | HSurfaceTool from Adaptor3d, | |

90 | HCurveTool from BRepBlend, | |

91 | TopolTool from Adaptor3d, | |

92 | BlendTool from BRepBlend, | |

93 | PointOnRst from BRepBlend, | |

94 | SequenceOfPointOnRst from BRepBlend, | |

95 | Extremity from BRepBlend, | |

96 | Line from BRepBlend); | |

97 | ||

98 | class AppSurf instantiates AppSurf from AppBlend | |

99 | (AppFunction from Blend, | |

100 | Line from BRepBlend); | |

101 | ||

102 | ||

103 | class SequenceOfLine instantiates Sequence from TCollection | |

104 | (Line from BRepBlend); | |

105 | ||

106 | ||

107 | class AppSurface; | |

108 | ---Purpose: Used to Approximate the surfaces. | |

109 | ||

110 | deferred class AppFuncRoot; | |

111 | ---Purpose: Root Class Function to approximate by AppSurface | |

112 | ||

113 | class AppFunc; | |

114 | ---Purpose: Function to approximate by AppSurface for | |

115 | -- Surface/Surface contact. | |

116 | ||

117 | class AppFuncRst; | |

118 | ---Purpose: Function to approximate by AppSurface for | |

119 | -- Curve/Surface contact. | |

120 | ||

121 | class AppFuncRstRst; | |

122 | ---Purpose: Function to approximate by AppSurface for | |

123 | -- Curve/Curve contact. | |

124 | ||

125 | class SurfRstEvolRad; | |

126 | ---Purpose: Function to approximate by AppSurface for | |

127 | -- Edge/Face and evolutif radius | |

128 | ||

129 | class SurfRstConstRad; | |

81bba717 | 130 | ---Purpose: Copy of CSConstRad with pcurve on surface |

131 | -- as support. | |

7fd59977 | 132 | |

133 | class RstRstEvolRad; | |

134 | ---Purpose: Function to approximate by AppSurface for | |

135 | -- Edge/Edge and evolutif radius | |

136 | -- | |

137 | class RstRstConstRad; | |

81bba717 | 138 | ---Purpose: Copy of CSConstRad with a pcurve on surface |

139 | -- as support. | |

7fd59977 | 140 | |

141 | class SurfPointConstRadInv; | |

81bba717 | 142 | ---Purpose: Function of reframing between a point and a surface. |

7fd59977 | 143 | |

144 | class SurfCurvConstRadInv; | |

81bba717 | 145 | ---Purpose: Function of reframing between a restriction surface of the |

146 | -- surface and a curve. | |

7fd59977 | 147 | |

148 | class SurfPointEvolRadInv; | |

81bba717 | 149 | ---Purpose: Fonction of reframing between a point and a surface. |

7fd59977 | 150 | |

151 | class CurvPointRadInv; | |

81bba717 | 152 | ---Purpose: Function of reframing between a point and a curve. |

153 | -- valid in cases of constant and progressive radius | |

7fd59977 | 154 | class SurfCurvEvolRadInv; |

81bba717 | 155 | ---Purpose: Function of reframing between a surface restriction |

156 | -- of the surface and a curve. | |

7fd59977 | 157 | |

158 | class SurfRstLineBuilder; | |

81bba717 | 159 | ---Purpose: Construction of a BRepBlend_Line between a surface and |

160 | -- a pcurve on surface from an approached | |

161 | -- starting solution. The output entries of this builder | |

162 | -- are of the same nature as of the traditional walking | |

163 | -- but the requirements on the Line are not the same | |

164 | -- If the determination of validity range is always | |

165 | -- guaranteed, the criteria of correct repartition of sections | |

166 | -- before smoothing are not respected. The resulting Line | |

167 | -- is f(t) oriented. | |

7fd59977 | 168 | |

169 | class RstRstLineBuilder; | |

81bba717 | 170 | ---Purpose: Construction of a BRepBlend_Line between two pcurves |

171 | -- from an approached starting solution. The output | |

172 | -- entries of this builder are of the same nature | |

173 | -- as of a traditional walking, but the requirements | |

174 | -- to the Line are not the same. If the determination of validity range is always | |

175 | -- guaranteed, the criteria of correct repartition of sections | |

176 | -- before smoothing are not respected. The resulting Line | |

177 | -- is f(t) oriented. | |

7fd59977 | 178 | end BRepBlend; |