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

b311480e | 1 | -- Created on: 1996-11-25 |

2 | -- Created by: Philippe MANGIN | |

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

17 | class AppSurface from BRepBlend inherits Approx from AppBlend | |

18 | ||

19 | ---Purpose:Used to Approximate the blending surfaces. | |

20 | ||

21 | uses Array2OfReal from TColStd, | |

22 | HArray2OfReal from TColStd, | |

23 | Array1OfReal from TColStd, | |

24 | HArray1OfReal from TColStd, | |

25 | Array1OfInteger from TColStd, | |

26 | HArray1OfInteger from TColStd, | |

27 | Array1OfPnt2d from TColgp, | |

28 | Array2OfPnt from TColgp, | |

29 | HArray2OfPnt from TColgp, | |

30 | ||

31 | Shape from GeomAbs, | |

32 | SweepFunction from Approx, | |

33 | SweepApproximation from Approx | |

34 | ||

35 | ||

36 | raises NotDone from StdFail, | |

37 | DomainError, | |

38 | OutOfRange | |

39 | ||

40 | is | |

41 | Create(Funct : in out SweepFunction from Approx; | |

42 | First, Last : Real; | |

43 | Tol3d, Tol2d, TolAngular : Real; | |

44 | Continuity : Shape = GeomAbs_C0; | |

45 | Degmax : Integer = 11; | |

46 | Segmax : Integer = 50) | |

47 | ---Purpose: Approximation of the new Surface (and | |

48 | -- eventually the 2d Curves on the support | |

49 | -- surfaces). | |

50 | -- Normaly the 2d curve are | |

51 | -- approximated with an tolerance given by the | |

52 | -- resolution on support surfaces, but if this | |

53 | -- tolerance is too large Tol2d is used. | |

54 | returns AppSurface from BRepBlend; | |

55 | ||

56 | ||

57 | IsDone(me) | |

58 | returns Boolean from Standard | |

59 | ---C++: inline | |

60 | is static; | |

61 | ||

62 | ||

63 | SurfShape(me; UDegree,VDegree : out Integer from Standard; | |

64 | NbUPoles,NbVPoles: out Integer from Standard; | |

65 | NbUKnots,NbVKnots: out Integer from Standard) | |

66 | raises NotDone from StdFail | |

67 | is static; | |

68 | ||

69 | ||

70 | Surface(me; TPoles : out Array2OfPnt from TColgp; | |

71 | TWeights : out Array2OfReal from TColStd; | |

72 | TUKnots,TVKnots : out Array1OfReal from TColStd; | |

73 | TUMults,TVMults : out Array1OfInteger from TColStd) | |

74 | raises NotDone from StdFail | |

75 | is static; | |

76 | ||

77 | ||

78 | UDegree(me) | |

79 | ||

80 | returns Integer from Standard | |

81 | ---C++: inline | |

82 | ||

83 | raises NotDone from StdFail | |

84 | is static; | |

85 | ||

86 | ||

87 | VDegree(me) | |

88 | ||

89 | returns Integer from Standard | |

90 | ---C++: inline | |

91 | ||

92 | raises NotDone from StdFail | |

93 | is static; | |

94 | ||

95 | ||

96 | SurfPoles(me) | |

97 | ||

98 | returns Array2OfPnt from TColgp | |

99 | ---C++: inline | |

100 | ---C++: return const& | |

101 | ||

102 | raises NotDone from StdFail | |

103 | is static; | |

104 | ||

105 | ||

106 | SurfWeights(me) | |

107 | ||

108 | returns Array2OfReal from TColStd | |

109 | ---C++: inline | |

110 | ---C++: return const& | |

111 | ||

112 | raises NotDone from StdFail | |

113 | is static; | |

114 | ||

115 | ||

116 | SurfUKnots(me) | |

117 | ||

118 | returns Array1OfReal from TColStd | |

119 | ---C++: inline | |

120 | ---C++: return const& | |

121 | ||

122 | raises NotDone from StdFail | |

123 | is static; | |

124 | ||

125 | ||

126 | SurfVKnots(me) | |

127 | ||

128 | returns Array1OfReal from TColStd | |

129 | ---C++: inline | |

130 | ---C++: return const& | |

131 | ||

132 | raises NotDone from StdFail | |

133 | is static; | |

134 | ||

135 | ||

136 | SurfUMults(me) | |

137 | ||

138 | returns Array1OfInteger from TColStd | |

139 | ---C++: inline | |

140 | ---C++: return const& | |

141 | ||

142 | raises NotDone from StdFail | |

143 | is static; | |

144 | ||

145 | ||

146 | SurfVMults(me) | |

147 | ||

148 | returns Array1OfInteger from TColStd | |

149 | ---C++: inline | |

150 | ---C++: return const& | |

151 | ||

152 | raises NotDone from StdFail | |

153 | is static; | |

154 | ||

155 | MaxErrorOnSurf (me) | |

156 | ---Purpose: returns the maximum error in the suface approximation. | |

157 | returns Real; | |

158 | ||

159 | NbCurves2d(me) | |

160 | ||

161 | returns Integer from Standard | |

162 | ---C++: inline | |

163 | ||

164 | raises NotDone from StdFail | |

165 | is static; | |

166 | ||

167 | ||

168 | Curves2dShape(me; Degree,NbPoles,NbKnots: out Integer from Standard) | |

169 | ||

170 | raises NotDone from StdFail, | |

171 | DomainError from Standard | |

172 | ||

173 | is static; | |

174 | ||

175 | ||

176 | Curve2d(me; Index: Integer from Standard; | |

177 | TPoles : out Array1OfPnt2d from TColgp; | |

178 | TKnots : out Array1OfReal from TColStd; | |

179 | TMults : out Array1OfInteger from TColStd) | |

180 | ||

181 | raises NotDone from StdFail, | |

182 | OutOfRange from Standard, | |

183 | DomainError from Standard | |

184 | ||

185 | is static; | |

186 | ||

187 | ||

188 | Curves2dDegree(me) | |

189 | ||

190 | returns Integer from Standard | |

191 | ---C++: inline | |

192 | ||

193 | raises NotDone from StdFail, | |

194 | DomainError from Standard | |

195 | is static; | |

196 | ||

197 | ||

198 | Curve2dPoles(me; Index: Integer from Standard) | |

199 | ||

200 | returns Array1OfPnt2d from TColgp | |

201 | ---C++: inline | |

202 | ---C++: return const& | |

203 | ||

204 | raises NotDone from StdFail, | |

205 | OutOfRange from Standard, | |

206 | DomainError from Standard | |

207 | is static; | |

208 | ||

209 | ||

210 | Curves2dKnots(me) | |

211 | ||

212 | returns Array1OfReal from TColStd | |

213 | ---C++: inline | |

214 | ---C++: return const& | |

215 | ||

216 | raises NotDone from StdFail, | |

217 | DomainError from Standard | |

218 | is static; | |

219 | ||

220 | ||

221 | Curves2dMults(me) | |

222 | returns Array1OfInteger from TColStd | |

223 | ---C++: inline | |

224 | ---C++: return const& | |

225 | raises NotDone from StdFail, | |

226 | DomainError from Standard | |

227 | is static; | |

228 | ||

229 | ||

230 | TolReached(me; Tol3d, Tol2d : out Real from Standard) | |

231 | raises NotDone from StdFail | |

232 | is static; | |

233 | ||

234 | Max2dError (me; Index : Integer) | |

235 | ---Purpose: returns the maximum error in the <Index> 2d curve approximation. | |

236 | returns Real | |

237 | raises NotDone from StdFail | |

238 | is static; | |

239 | ||

240 | TolCurveOnSurf(me; Index : Integer from Standard) | |

241 | returns Real from Standard | |

242 | raises NotDone from StdFail | |

243 | is static; | |

244 | ||

245 | Dump(me; o: in out OStream); | |

246 | ---Purpose: diplay information on approximation. | |

247 | ||

248 | fields | |

249 | approx : SweepApproximation from Approx; | |

250 | end AppSurface; |