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

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

2 | -- Created by: Jacques GOUSSARD | |

3 | -- Copyright (c) 1993-1999 Matra Datavision | |

4 | -- Copyright (c) 1999-2012 OPEN CASCADE SAS | |

5 | -- | |

6 | -- The content of this file is subject to the Open CASCADE Technology Public | |

7 | -- License Version 6.5 (the "License"). You may not use the content of this file | |

8 | -- except in compliance with the License. Please obtain a copy of the License | |

9 | -- at http://www.opencascade.org and read it completely before using this file. | |

10 | -- | |

11 | -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its | |

12 | -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. | |

13 | -- | |

14 | -- The Original Code and all software distributed under the License is | |

15 | -- distributed on an "AS IS" basis, without warranty of any kind, and the | |

16 | -- Initial Developer hereby disclaims all such warranties, including without | |

17 | -- limitation, any warranties of merchantability, fitness for a particular | |

18 | -- purpose or non-infringement. Please see the License for the specific terms | |

19 | -- and conditions governing the rights and limitations under the License. | |

20 | ||

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

7fd59977 | 22 | |

23 | ||

24 | ||

25 | package BRepBlend | |

26 | ||

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

28 | Law, gp, TopAbs, IntSurf, Convert, | |

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

30 | AdvApprox, StdFail, math | |

31 | ||

32 | is | |

33 | ||

34 | generic class HCurveToolGen; | |

35 | generic class HCurve2dToolGen; | |

36 | ||

37 | class HCurveTool instantiates HCurveToolGen from BRepBlend ( | |

38 | HCurve from Adaptor3d); | |

39 | ||

40 | class HCurve2dTool instantiates HCurve2dToolGen from BRepBlend ( | |

41 | HCurve2d from Adaptor2d); | |

42 | ||

43 | class BlendTool; | |

44 | ||

45 | alias ConstRad is ConstRad from BlendFunc; | |

46 | ||

47 | alias ConstRadInv is ConstRadInv from BlendFunc; | |

48 | ||

49 | alias Ruled is Ruled from BlendFunc; | |

50 | ||

51 | alias RuledInv is RuledInv from BlendFunc; | |

52 | ||

53 | alias EvolRad is EvolRad from BlendFunc; | |

54 | ||

55 | alias EvolRadInv is EvolRadInv from BlendFunc; | |

56 | ||

57 | alias CSConstRad is CSConstRad from BlendFunc; | |

58 | ||

59 | alias CSCircular is CSCircular from BlendFunc; | |

60 | ||

61 | alias Chamfer is Chamfer from BlendFunc; | |

62 | ||

63 | alias ChamfInv is ChamfInv from BlendFunc; | |

64 | ||

65 | alias ChAsym is ChAsym from BlendFunc; | |

66 | ||

67 | alias ChAsymInv is ChAsymInv from BlendFunc; | |

68 | ||

69 | ||

70 | class PointOnRst instantiates PointOnRst from Blend | |

71 | (HCurve2d from Adaptor2d); | |

72 | ||

73 | ||

74 | class SequenceOfPointOnRst instantiates Sequence from TCollection | |

75 | (PointOnRst from BRepBlend); | |

76 | ||

77 | ||

78 | class Extremity instantiates Extremity from Blend | |

79 | (HVertex from Adaptor3d, | |

80 | HCurve2d from Adaptor2d, | |

81 | PointOnRst from BRepBlend, | |

82 | SequenceOfPointOnRst from BRepBlend); | |

83 | ||

84 | class Line instantiates Line from Blend | |

85 | (HVertex from Adaptor3d, | |

86 | HCurve2d from Adaptor2d, | |

87 | PointOnRst from BRepBlend, | |

88 | SequenceOfPointOnRst from BRepBlend, | |

89 | Extremity from BRepBlend); | |

90 | ||

91 | ||

92 | class Walking instantiates Walking from Blend | |

93 | (HVertex from Adaptor3d, | |

94 | HCurve2d from Adaptor2d, | |

95 | HSurface from Adaptor3d, | |

96 | HCurve from Adaptor3d, | |

97 | Integer from Standard, | |

98 | HCurve2dTool from BRepBlend, | |

99 | HSurfaceTool from Adaptor3d, | |

100 | HCurveTool from BRepBlend, | |

101 | TopolTool from Adaptor3d, | |

102 | BlendTool from BRepBlend, | |

103 | PointOnRst from BRepBlend, | |

104 | SequenceOfPointOnRst from BRepBlend, | |

105 | Extremity from BRepBlend, | |

106 | Line from BRepBlend); | |

107 | ||

108 | class CSWalking instantiates CSWalking from Blend | |

109 | (HVertex from Adaptor3d, | |

110 | HCurve2d from Adaptor2d, | |

111 | HSurface from Adaptor3d, | |

112 | HCurve from Adaptor3d, | |

113 | Integer from Standard, | |

114 | HCurve2dTool from BRepBlend, | |

115 | HSurfaceTool from Adaptor3d, | |

116 | HCurveTool from BRepBlend, | |

117 | TopolTool from Adaptor3d, | |

118 | BlendTool from BRepBlend, | |

119 | PointOnRst from BRepBlend, | |

120 | SequenceOfPointOnRst from BRepBlend, | |

121 | Extremity from BRepBlend, | |

122 | Line from BRepBlend); | |

123 | ||

124 | class AppSurf instantiates AppSurf from AppBlend | |

125 | (AppFunction from Blend, | |

126 | Line from BRepBlend); | |

127 | ||

128 | ||

129 | class SequenceOfLine instantiates Sequence from TCollection | |

130 | (Line from BRepBlend); | |

131 | ||

132 | ||

133 | class AppSurface; | |

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

135 | ||

136 | deferred class AppFuncRoot; | |

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

138 | ||

139 | class AppFunc; | |

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

141 | -- Surface/Surface contact. | |

142 | ||

143 | class AppFuncRst; | |

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

145 | -- Curve/Surface contact. | |

146 | ||

147 | class AppFuncRstRst; | |

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

149 | -- Curve/Curve contact. | |

150 | ||

151 | class SurfRstEvolRad; | |

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

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

154 | ||

155 | class SurfRstConstRad; | |

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

157 | -- as support. | |

7fd59977 | 158 | |

159 | class RstRstEvolRad; | |

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

161 | -- Edge/Edge and evolutif radius | |

162 | -- | |

163 | class RstRstConstRad; | |

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

165 | -- as support. | |

7fd59977 | 166 | |

167 | class SurfPointConstRadInv; | |

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

7fd59977 | 169 | |

170 | class SurfCurvConstRadInv; | |

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

172 | -- surface and a curve. | |

7fd59977 | 173 | |

174 | class SurfPointEvolRadInv; | |

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

7fd59977 | 176 | |

177 | class CurvPointRadInv; | |

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

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

7fd59977 | 180 | class SurfCurvEvolRadInv; |

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

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

7fd59977 | 183 | |

184 | class SurfRstLineBuilder; | |

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

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

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

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

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

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

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

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

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

7fd59977 | 194 | |

195 | class RstRstLineBuilder; | |

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

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

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

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

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

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

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

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

7fd59977 | 204 | end BRepBlend; |