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

b311480e | 1 | -- Created on: 1992-04-27 |

2 | -- Created by: Laurent BUCHARD | |

3 | -- Copyright (c) 1992-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 | class IntConicConic from IntCurve | |

18 | ||

19 | ---Purpose: Provides methods to intersect two conics. | |

20 | -- The exception ConstructionError is raised in constructors | |

21 | -- or in Perform methods when a domain (Domain from IntRes2d) | |

22 | -- is not correct, i-e when a Circle (Circ2d from gp) or | |

23 | -- an Ellipse (i-e Elips2d from gp) do not have a closed | |

24 | -- domain (use the SetEquivalentParameters method for a domain | |

25 | -- on a circle or an ellipse). | |

26 | ||

27 | ||

28 | inherits Intersection from IntRes2d | |

29 | ||

30 | uses Lin2d from gp, | |

31 | Elips2d from gp, | |

32 | Circ2d from gp, | |

33 | Parab2d from gp, | |

34 | Hypr2d from gp, | |

35 | PConic from IntCurve, | |

36 | IConicTool from IntCurve, | |

37 | Domain from IntRes2d, | |

38 | IntImpConicParConic from IntCurve | |

39 | ||

40 | ||

41 | ||

42 | raises ConstructionError from Standard | |

43 | ||

44 | ||

45 | is | |

46 | ||

47 | Create | |

48 | ||

49 | ---Purpose: Empty Constructor | |

50 | ||

51 | returns IntConicConic from IntCurve; | |

52 | ---C++:inline | |

53 | ||

54 | ||

55 | Create(L1: Lin2d from gp; D1: Domain from IntRes2d; | |

56 | L2: Lin2d from gp; D2: Domain from IntRes2d; | |

57 | TolConf,Tol: Real from Standard ) | |

58 | ||

59 | ---Purpose: Intersection between 2 lines from gp. | |

60 | ||

61 | returns IntConicConic from IntCurve; | |

62 | ---C++:inline | |

63 | ||

64 | ||

65 | ||

66 | Perform(me: in out;L1: Lin2d from gp; D1: Domain from IntRes2d; | |

67 | L2: Lin2d from gp; D2: Domain from IntRes2d; | |

68 | TolConf,Tol: Real from Standard ) | |

69 | ||

70 | ---Purpose: Intersection between 2 lines from gp. | |

71 | ||

72 | is static; | |

73 | ||

74 | ||

75 | Create(L: Lin2d from gp; DL: Domain from IntRes2d; | |

76 | C: Circ2d from gp; DC: Domain from IntRes2d; | |

77 | TolConf,Tol: Real from Standard ) | |

78 | ||

79 | ---Purpose: Intersection between a line and a circle. | |

80 | -- The exception ConstructionError is raised if the method | |

81 | -- IsClosed of the domain of the circle returns False. | |

82 | ||

83 | returns IntConicConic from IntCurve | |

84 | raises ConstructionError from Standard; | |

85 | ---C++:inline | |

86 | ||

87 | ||

88 | Perform(me: in out;L: Lin2d from gp; DL: Domain from IntRes2d; | |

89 | C: Circ2d from gp; DC: Domain from IntRes2d; | |

90 | TolConf,Tol: Real from Standard) | |

91 | ||

92 | ---Purpose: Intersection between a line and a circle. | |

93 | -- The exception ConstructionError is raised if the method | |

94 | -- IsClosed of the domain of the circle returns False. | |

95 | ||

96 | raises ConstructionError from Standard | |

97 | is static; | |

98 | ||

99 | ||

100 | Create(L: Lin2d from gp; DL: Domain from IntRes2d; | |

101 | E: Elips2d from gp; DE: Domain from IntRes2d; | |

102 | TolConf,Tol: Real from Standard ) | |

103 | ||

104 | ---Purpose: Intersection between a line and an ellipse. | |

105 | -- The exception ConstructionError is raised if the method | |

106 | -- IsClosed of the domain of the ellipse returns False. | |

107 | ||

108 | returns IntConicConic from IntCurve | |

109 | raises ConstructionError from Standard; | |

110 | ---C++:inline | |

111 | ||

112 | ||

113 | Perform(me: in out;L: Lin2d from gp; DL: Domain from IntRes2d; | |

114 | E: Elips2d from gp; DE: Domain from IntRes2d; | |

115 | TolConf,Tol: Real from Standard ) | |

116 | ||

117 | ---Purpose: Intersection between a line and an ellipse. | |

118 | -- The exception ConstructionError is raised if the method | |

119 | -- IsClosed of the domain of the ellipse returns False. | |

120 | ||

121 | raises ConstructionError from Standard | |

122 | is static; | |

123 | ||

124 | ||

125 | Create(L: Lin2d from gp; DL: Domain from IntRes2d; | |

126 | P: Parab2d from gp; DP: Domain from IntRes2d; | |

127 | TolConf,Tol: Real from Standard ) | |

128 | ||

129 | ---Purpose: Intersection between a line and a parabola from gp. | |

130 | ||

131 | returns IntConicConic from IntCurve; | |

132 | ---C++:inline | |

133 | ||

134 | ||

135 | Perform(me: in out; L: Lin2d from gp; DL: Domain from IntRes2d; | |

136 | P: Parab2d from gp; DP: Domain from IntRes2d; | |

137 | TolConf,Tol: Real from Standard ) | |

138 | ||

139 | ---Purpose: Intersection between a line and a parabola from gp. | |

140 | ||

141 | is static; | |

142 | ||

143 | ||

144 | Create(L: Lin2d from gp; DL: Domain from IntRes2d; | |

145 | H: Hypr2d from gp; DH: Domain from IntRes2d; | |

146 | TolConf,Tol: Real from Standard ) | |

147 | ||

148 | ---Purpose: Intersection between a line and an hyperbola. | |

149 | ||

150 | returns IntConicConic from IntCurve; | |

151 | ---C++:inline | |

152 | ||

153 | ||

154 | Perform(me: in out;L: Lin2d from gp; DL: Domain from IntRes2d; | |

155 | H: Hypr2d from gp; DH: Domain from IntRes2d; | |

156 | TolConf,Tol: Real from Standard ) | |

157 | ||

158 | ---Purpose: Intersection between a line and an hyperbola. | |

159 | ||

160 | is static; | |

161 | ||

162 | ||

163 | Create(C1: Circ2d from gp; D1: Domain from IntRes2d; | |

164 | C2: Circ2d from gp; D2: Domain from IntRes2d; | |

165 | TolConf,Tol: Real from Standard ) | |

166 | ||

167 | ---Purpose: Intersection between 2 circles from gp. | |

168 | -- The exception ConstructionError is raised if the method | |

169 | -- IsClosed of one of the domain returns False. | |

170 | ||

171 | returns IntConicConic from IntCurve | |

172 | raises ConstructionError from Standard; | |

173 | ---C++:inline | |

174 | ||

175 | ||

176 | Perform(me: in out;C1: Circ2d from gp; D1: Domain from IntRes2d; | |

177 | C2: Circ2d from gp; D2: Domain from IntRes2d; | |

178 | TolConf,Tol: Real from Standard) | |

179 | ||

180 | ---Purpose: Intersection between 2 circles from gp. | |

181 | -- The exception ConstructionError is raised if the method | |

182 | -- IsClosed of the domain of one of the circle returns False. | |

183 | ||

184 | raises ConstructionError from Standard | |

185 | is static; | |

186 | ||

187 | ||

188 | Create(C: Circ2d from gp; DC: Domain from IntRes2d; | |

189 | E: Elips2d from gp; DE: Domain from IntRes2d; | |

190 | TolConf,Tol: Real from Standard ) | |

191 | ||

192 | ---Purpose: Intersection between a circle and an ellipse. | |

193 | -- The exception ConstructionError is raised if the method | |

194 | -- IsClosed of one the domain returns False. | |

195 | ||

196 | returns IntConicConic from IntCurve | |

197 | raises ConstructionError from Standard; | |

198 | ---C++:inline | |

199 | ||

200 | ||

201 | Perform(me: in out; C: Circ2d from gp; DC: Domain from IntRes2d; | |

202 | E: Elips2d from gp; DE: Domain from IntRes2d; | |

203 | TolConf,Tol: Real from Standard ) | |

204 | ||

205 | ---Purpose: Intersection between a circle and an ellipse. | |

206 | -- The exception ConstructionError is raised if the method | |

207 | -- IsClosed of one the domain returns False. | |

208 | ||

209 | raises ConstructionError from Standard | |

210 | is static; | |

211 | ||

212 | ||

213 | Create(C: Circ2d from gp; DC: Domain from IntRes2d; | |

214 | P: Parab2d from gp; DP: Domain from IntRes2d; | |

215 | TolConf,Tol: Real from Standard ) | |

216 | ||

217 | ---Purpose: Intersection between a circle and a parabola. | |

218 | -- The exception ConstructionError is raised if the method | |

219 | -- IsClosed of the domain of the circle returns False. | |

220 | ||

221 | returns IntConicConic from IntCurve | |

222 | raises ConstructionError from Standard; | |

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

224 | ||

225 | ||

226 | Perform(me: in out; C: Circ2d from gp; DC: Domain from IntRes2d; | |

227 | P: Parab2d from gp; DP: Domain from IntRes2d; | |

228 | TolConf,Tol: Real from Standard ) | |

229 | ||

230 | ---Purpose: Intersection between a circle and a parabola. | |

231 | -- The exception ConstructionError is raised if the method | |

232 | -- IsClosed of the domain of the circle returns False. | |

233 | ||

234 | raises ConstructionError from Standard | |

235 | is static; | |

236 | ||

237 | ||

238 | Create(C: Circ2d from gp; DC: Domain from IntRes2d; | |

239 | H: Hypr2d from gp; DH: Domain from IntRes2d; | |

240 | TolConf,Tol: Real from Standard ) | |

241 | ||

242 | ---Purpose: Intersection between a circle and an hyperbola. | |

243 | -- The exception ConstructionError is raised if the method | |

244 | -- IsClosed of the domain of the circle returns False. | |

245 | ||

246 | returns IntConicConic from IntCurve | |

247 | raises ConstructionError from Standard; | |

248 | ---C++:inline | |

249 | ||

250 | ||

251 | Perform(me: in out;C: Circ2d from gp; DC: Domain from IntRes2d; | |

252 | H: Hypr2d from gp; DH: Domain from IntRes2d; | |

253 | TolConf,Tol: Real from Standard ) | |

254 | ||

255 | ---Purpose: Intersection between a circle and an hyperbola. | |

256 | -- The exception ConstructionError is raised if the method | |

257 | -- IsClosed of the domain of the circle returns False. | |

258 | ||

259 | raises ConstructionError from Standard | |

260 | is static; | |

261 | ||

262 | ||

263 | Create(E1: Elips2d from gp; D1: Domain from IntRes2d; | |

264 | E2: Elips2d from gp; D2: Domain from IntRes2d; | |

265 | TolConf,Tol: Real from Standard ) | |

266 | ||

267 | ---Purpose: Intersection between 2 ellipses. | |

268 | -- The exception ConstructionError is raised if the method | |

269 | -- IsClosed of one of the domain returns False. | |

270 | ||

271 | returns IntConicConic from IntCurve | |

272 | raises ConstructionError from Standard; | |

273 | ---C++:inline | |

274 | ||

275 | ||

276 | Perform(me: in out;E1: Elips2d from gp; D1: Domain from IntRes2d; | |

277 | E2: Elips2d from gp; D2: Domain from IntRes2d; | |

278 | TolConf,Tol: Real from Standard ) | |

279 | ||

280 | ---Purpose: Intersection between 2 ellipses. | |

281 | -- The exception ConstructionError is raised if the method | |

282 | -- IsClosed of one of the domain returns False. | |

283 | ||

284 | raises ConstructionError from Standard | |

285 | is static; | |

286 | ||

287 | ||

288 | Create(E: Elips2d from gp; DE: Domain from IntRes2d; | |

289 | P: Parab2d from gp; DP: Domain from IntRes2d; | |

290 | TolConf,Tol: Real from Standard ) | |

291 | ||

292 | ---Purpose: Intersection between an ellipse and a parabola. | |

293 | -- The exception ConstructionError is raised if the method | |

294 | -- IsClosed of the domain of the ellipse returns False. | |

295 | ||

296 | returns IntConicConic from IntCurve | |

297 | raises ConstructionError from Standard; | |

298 | ---C++:inline | |

299 | ||

300 | ||

301 | Perform(me: in out; E: Elips2d from gp; DE: Domain from IntRes2d; | |

302 | P: Parab2d from gp; DP: Domain from IntRes2d; | |

303 | TolConf,Tol: Real from Standard ) | |

304 | ||

305 | ---Purpose: Intersection between an ellipse and a parabola. | |

306 | -- The exception ConstructionError is raised if the method | |

307 | -- IsClosed of the domain of the ellipse returns False. | |

308 | ||

309 | raises ConstructionError from Standard | |

310 | is static; | |

311 | ||

312 | ||

313 | Create(E: Elips2d from gp; DE: Domain from IntRes2d; | |

314 | H: Hypr2d from gp; DH: Domain from IntRes2d; | |

315 | TolConf,Tol: Real from Standard ) | |

316 | ||

317 | ---Purpose: Intersection between an ellipse and an hyperbola. | |

318 | -- The exception ConstructionError is raised if the method | |

319 | -- IsClosed of the domain of the ellipse returns False. | |

320 | ||

321 | returns IntConicConic from IntCurve | |

322 | raises ConstructionError from Standard; | |

323 | ---C++:inline | |

324 | ||

325 | ||

326 | Perform(me: in out;E: Elips2d from gp; DE: Domain from IntRes2d; | |

327 | H: Hypr2d from gp; DH: Domain from IntRes2d; | |

328 | TolConf,Tol: Real from Standard ) | |

329 | ||

330 | ---Purpose: Intersection between an ellipse and an hyperbola. | |

331 | -- The exception ConstructionError is raised if the method | |

332 | -- IsClosed of the domain of the ellipse returns False. | |

333 | ||

334 | raises ConstructionError from Standard | |

335 | is static; | |

336 | ||

337 | ||

338 | Create(P1: Parab2d from gp; D1: Domain from IntRes2d; | |

339 | P2: Parab2d from gp; D2: Domain from IntRes2d; | |

340 | TolConf,Tol: Real from Standard ) | |

341 | ||

342 | ---Purpose: Intersection between 2 parabolas. | |

343 | ||

344 | returns IntConicConic from IntCurve; | |

345 | ---C++:inline | |

346 | ||

347 | ||

348 | Perform(me: in out;P1: Parab2d from gp; D1: Domain from IntRes2d; | |

349 | P2: Parab2d from gp; D2: Domain from IntRes2d; | |

350 | TolConf,Tol: Real from Standard ) | |

351 | ||

352 | ---Purpose: Intersection between 2 parabolas. | |

353 | ||

354 | is static; | |

355 | ||

356 | ||

357 | Create(P: Parab2d from gp; DP: Domain from IntRes2d; | |

358 | H: Hypr2d from gp; DH: Domain from IntRes2d; | |

359 | TolConf,Tol: Real from Standard ) | |

360 | ||

361 | ---Purpose: Intersection between a parabola and an hyperbola. | |

362 | ||

363 | returns IntConicConic from IntCurve; | |

364 | ---C++:inline | |

365 | ||

366 | ||

367 | Perform(me: in out;P: Parab2d from gp; DP: Domain from IntRes2d; | |

368 | H: Hypr2d from gp; DH: Domain from IntRes2d; | |

369 | TolConf,Tol: Real from Standard ) | |

370 | ||

371 | ---Purpose: Intersection between a parabola and an hyperbola. | |

372 | ||

373 | is static; | |

374 | ||

375 | ||

376 | Create(H1: Hypr2d from gp; D1: Domain from IntRes2d; | |

377 | H2: Hypr2d from gp; D2: Domain from IntRes2d; | |

378 | TolConf,Tol: Real from Standard ) | |

379 | ||

380 | ---Purpose: Intersection between 2 hyperbolas. | |

381 | ||

382 | returns IntConicConic from IntCurve; | |

383 | ---C++:inline | |

384 | ||

385 | ||

386 | Perform(me: in out;H1: Hypr2d from gp; D1: Domain from IntRes2d; | |

387 | H2: Hypr2d from gp; D2: Domain from IntRes2d; | |

388 | TolConf,Tol: Real from Standard ) | |

389 | ||

390 | ---Purpose: Intersection between 2 hyperbolas. | |

391 | ||

392 | is static; | |

393 | ||

394 | ||

395 | fields | |

396 | ||

397 | Inter : IntImpConicParConic from IntCurve; | |

398 | ||

399 | end IntConicConic; | |

400 |