0025248: Curve-Surface intersection algorithm raises exception
[occt.git] / src / Intf / Intf_Tool.cdl
CommitLineData
b311480e 1-- Created on: 1993-06-23
2-- Created by: Didier PIFFAULT
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.
7fd59977 16
17class Tool from Intf
18
19 ---Purpose: Provides services to create box for infinites
20 -- lines in a given contexte.
21
22uses Integer from Standard,
23 Real from Standard,
24 Box2d from Bnd,
25 Lin2d from gp,
26 Hypr2d from gp,
27 Parab2d from gp,
28 Conic from IntAna2d,
29 Box from Bnd,
30 Lin from gp,
31 Hypr from gp,
32 Parab from gp
33
34
35raises OutOfRange from Standard
36
37
38is Create returns Tool from Intf;
39
40 Lin2dBox (me : in out;
41 theLin2d : in Lin2d from gp;
42 bounding : in Box2d from Bnd;
43 boxLin : out Box2d from Bnd)
44 is static;
45
46 Hypr2dBox (me : in out;
47 theHypr2d : in Hypr2d from gp;
48 bounding : in Box2d from Bnd;
49 boxHypr : out Box2d from Bnd)
50 is static;
51
52 Inters2d (me : in out;
53 theCurve : in Hypr2d from gp;
54 Domain : in Box2d from Bnd)
55 returns Integer from Standard is static private;
56
57 Parab2dBox (me : in out;
58 theParab2d : in Parab2d from gp;
59 bounding : in Box2d from Bnd;
60 boxHypr : out Box2d from Bnd)
61 is static;
62
63 Inters2d (me : in out;
64 theCurve : in Parab2d from gp;
65 Domain : in Box2d from Bnd)
66 returns Integer from Standard is static private;
67
68
69 LinBox (me : in out;
70 theLin : in Lin from gp;
71 bounding : in Box from Bnd;
72 boxLin : out Box from Bnd)
73 is static;
74
75 HyprBox (me : in out;
76 theHypr : in Hypr from gp;
77 bounding : in Box from Bnd;
78 boxHypr : out Box from Bnd)
79 is static;
80
81 Inters3d (me : in out;
82 theCurve : in Hypr from gp;
83 Domain : in Box from Bnd)
84 returns Integer from Standard is static private;
85
86 ParabBox (me : in out;
87 theParab : in Parab from gp;
88 bounding : in Box from Bnd;
89 boxHypr : out Box from Bnd)
90 is static;
91
92 Inters3d (me : in out;
93 theCurve : in Parab from gp;
94 Domain : in Box from Bnd)
95 returns Integer from Standard is static private;
96
97
98 NbSegments (me)
99 returns Integer from Standard
100 is static;
101
102 BeginParam (me;
103 SegmentNum : Integer from Standard)
104 returns Real from Standard
105 raises OutOfRange from Standard
106 is static;
107
108 EndParam (me;
109 SegmentNum : Integer from Standard)
110 returns Real from Standard
111 raises OutOfRange from Standard
112 is static;
113
114
115fields nbSeg : Integer from Standard;
116 beginOnCurve : Real from Standard [6];
117 endOnCurve : Real from Standard [6];
b89b1e08 118
119 -- Code of every side of BndBox.
41194117 120 bord : Integer from Standard [12];
b89b1e08 121
41194117
K
122 xint : Real from Standard [12];
123 yint : Real from Standard [12];
124 zint : Real from Standard [12];
125 parint : Real from Standard [12];
7fd59977 126
127end Tool;