0023948: Wrong intersection between a surface of revolution and a plane.
[occt.git] / src / TopOpeBRepDS / TopOpeBRepDS_Edge3dInterferenceTool.cdl
1 -- Created on: 1997-12-24
2 -- Created by: Xuan PHAM PHU
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class Edge3dInterferenceTool from TopOpeBRepDS
18
19 ---Purpose: a tool computing edge / face complex transition,
20 --          Interferences of edge reference are given by
21 --          I = (T on face, G = point or vertex, S = edge)
22
23 uses
24     Pnt2d from gp,
25     Pnt from gp,
26     Dir from gp,
27     Shape from TopoDS, 
28     SurfaceTransition from TopTrans,
29     Interference from TopOpeBRepDS
30 is
31           
32     Create returns Edge3dInterferenceTool from TopOpeBRepDS;
33
34     InitPointVertex(me : in out; 
35                     IsVertex : Integer;
36                     VonOO    : Shape from TopoDS);
37         
38     Init(me : in out; 
39          Eref : Shape from TopoDS; 
40          E : Shape from TopoDS;   
41          F : Shape from TopoDS;
42          I : Interference from TopOpeBRepDS);
43     
44     Add(me : in out; 
45         Eref : Shape from TopoDS; 
46         E : Shape from TopoDS;   
47         F : Shape from TopoDS;
48         I : Interference from TopOpeBRepDS);
49
50     Transition(me; I : Interference from TopOpeBRepDS)
51     is static;
52
53 fields
54     
55     myFaceOriented : Integer;
56     myTool         : SurfaceTransition from TopTrans;
57     myTole         : Real; 
58     myrefdef       : Boolean;
59
60     myIsVertex     : Integer; -- 0 : geometry is a point
61                               -- 1 : geometry is a vertex of reference
62                               -- 2 : geometry is a vertex of the other shape
63                               -- 3 : geometry is a vertex on the 2 shapes
64     myVonOO        : Shape; -- only if myisvertex = 2,3
65     myP3d          : Pnt from gp;
66     myTgtref       : Dir from gp;
67
68 end Edge3dInterferenceTool from TopOpeBRepDS;