0025982: Wrong result obtained by General Fuse operator.
[occt.git] / src / BOPTools / BOPTools_AlgoTools2D.cdl
1 -- Created by: Peter KURNEV
2 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
3 --
4 -- This file is part of Open CASCADE Technology software library.
5 --
6 -- This library is free software; you can redistribute it and/or modify it under
7 -- the terms of the GNU Lesser General Public License version 2.1 as published
8 -- by the Free Software Foundation, with special exception defined in the file
9 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 -- distribution for complete text of the license and disclaimer of any warranty.
11 --
12 -- Alternatively, this file may be used under the terms of Open CASCADE
13 -- commercial license or contractual agreement.
14
15 class AlgoTools2D from BOPTools 
16
17       ---Purpose: 
18       ---  The class contains handy static functions 
19       ---  dealing with the topology  
20       ---  This is the copy of the BOPTools_AlgoTools2D.cdl
21 uses 
22     Vec  from gp, 
23     Dir  from gp, 
24     Vertex from TopoDS,
25     Edge   from TopoDS, 
26     Face   from TopoDS, 
27     Surface from BRepAdaptor, 
28     Curve from Geom2d,
29     Curve from Geom, 
30     ProjectedCurve from ProjLib,
31     ListOfShape from BOPCol 
32     
33 is   
34
35     BuildPCurveForEdgeOnFace  (myclass; 
36               aE:  Edge from TopoDS; 
37               aF:  Face from TopoDS); 
38           ---Purpose: 
39           --- Compute P-Curve for the edge <aE> on the face <aF> 
40           ---
41     EdgeTangent     (myclass;  
42               anE  : Edge from TopoDS; 
43               aT   : Real from Standard; 
44               Tau  : out Vec  from gp) 
45           returns  Boolean from Standard; 
46           ---Purpose: 
47           --- Compute tangent for the edge  <aE> [in 3D]  at parameter <aT> 
48           ---
49  
50     PointOnSurface  (myclass; 
51               aE:  Edge from TopoDS; 
52               aF:  Face from TopoDS;  
53               aT:  Real from Standard; 
54               U : out Real from Standard; 
55               V : out Real from Standard); 
56           ---Purpose: 
57           --- Compute surface parameters <U,V> of the face <aF> 
58           --- for  the point from the edge <aE> at parameter <aT>.   
59           ---
60     CurveOnSurface  (myclass; 
61               aE:  Edge from TopoDS; 
62               aF:  Face from TopoDS; 
63               aC    : out Curve from Geom2d; 
64               aToler: out Real from Standard); 
65           ---Purpose:  
66           --- Get P-Curve <aC>  for the edge <aE> on surface <aF> . 
67           --- If the P-Curve does not exist, build  it using Make2D(). 
68           --- [aToler] - reached tolerance 
69           ---
70     CurveOnSurface  (myclass; 
71               aE:  Edge from TopoDS; 
72               aF:  Face from TopoDS; 
73               aC    : out Curve from Geom2d; 
74               aFirst: out Real from Standard; 
75               aLast : out Real from Standard; 
76               aToler: out Real from Standard); 
77                       
78           ---Purpose: 
79           --- Get P-Curve <aC>  for the edge <aE> on surface <aF> . 
80           --- If the P-Curve does not exist, build  it using Make2D(). 
81           --- [aFirst, aLast] - range of the P-Curve    
82           --- [aToler] - reached tolerance 
83           ---
84     HasCurveOnSurface  (myclass;  
85               aE:  Edge from TopoDS; 
86               aF:  Face from TopoDS; 
87               aC    : out Curve from Geom2d;
88               aFirst: out Real from Standard; 
89               aLast : out Real from Standard; 
90               aToler: out Real from Standard) 
91           returns  Boolean from Standard; 
92           ---Purpose:  
93           --- Returns TRUE if the edge <aE>  has  P-Curve <aC>           
94           --- on surface <aF> .   
95           --- [aFirst, aLast] - range of the P-Curve    
96           --- [aToler] - reached tolerance 
97           --- If the P-Curve does not exist, aC.IsNull()=TRUE. 
98           ---
99     HasCurveOnSurface  (myclass;  
100               aE:  Edge from TopoDS; 
101               aF:  Face from TopoDS) 
102           returns  Boolean from Standard;  
103           ---Purpose:  
104           --- Returns TRUE if the edge <aE>  has  P-Curve <aC>           
105           --- on surface <aF> .   
106           --- If the P-Curve does not exist, aC.IsNull()=TRUE. 
107           ---
108  
109     AdjustPCurveOnFace  (myclass;    
110               aF    :  Face from TopoDS; 
111               C3D   :  Curve from Geom; 
112               aC2D  :  Curve from Geom2d; 
113               aC2DA : out Curve from Geom2d);                  
114           ---Purpose:   
115           --- Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> .  
116           ---
117     AdjustPCurveOnFace  (myclass;    
118               aF    :  Face from TopoDS; 
119               aT1   :  Real from Standard;   
120               aT2   :  Real from Standard;   
121               aC2D  :  Curve from Geom2d; 
122               aC2DA : out Curve from Geom2d); 
123           ---Purpose:   
124           --- Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> .  
125           --- [aT1,  aT2] - range to adjust 
126           ---
127     AdjustPCurveOnFace  (myclass;    
128               aF    :  Surface from BRepAdaptor; 
129               aT1   :  Real from Standard;   
130               aT2   :  Real from Standard;   
131               aC2D  :  Curve from Geom2d; 
132               aC2DA : out Curve from Geom2d); 
133           ---Purpose:   
134           --- Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> .  
135           --- [aT1,  aT2] - range to adjust 
136           --- 
137     IntermediatePoint (myclass; 
138               aFirst: Real from Standard; 
139               aLast : Real from Standard) 
140           returns  Real from Standard; 
141           ---Purpose:   
142           --- Compute intermediate  value in  between [aFirst, aLast] . 
143           ---
144     IntermediatePoint        (myclass;  
145               anE  : Edge from TopoDS) 
146           returns  Real from Standard;
147           ---Purpose:   
148           --- Compute intermediate value of parameter for the edge <anE>. 
149           ---
150     BuildPCurveForEdgeOnPlane(myclass; 
151               theE : Edge from TopoDS; 
152               theF : Face from TopoDS); 
153               
154     BuildPCurveForEdgesOnPlane(myclass; 
155               theLE : ListOfShape from BOPCol; 
156               theF : Face from TopoDS);
157  
158     Make2D  (myclass;  
159               aE:  Edge from TopoDS; 
160               aF:  Face from TopoDS; 
161               aC    : out Curve from Geom2d;
162               aFirst: out Real from Standard; 
163               aLast : out Real from Standard; 
164               aToler: out Real from Standard);            
165           ---Purpose:   
166           --- Make P-Curve <aC> for the edge <aE> on surface <aF> . 
167           --- [aFirst, aLast] - range of the P-Curve    
168           --- [aToler] - reached tolerance 
169           --- 
170           
171     MakeCurveOnSurface        (myclass;  
172               aE:  Edge from TopoDS; 
173               aF:  Face from TopoDS; 
174               aC    : out Curve from Geom2d;
175               aFirst: out Real from Standard; 
176               aLast : out Real from Standard; 
177               aToler: out Real from Standard);             
178           ---Purpose:   
179           --- Same  as   Make2D() 
180           ---
181     MakePCurveOnFace  (myclass;    
182               aF:  Face from TopoDS; 
183               C3D   :     Curve from Geom; 
184               aC    : out Curve from Geom2d; 
185               aToler: out Real from Standard) ;   
186           ---Purpose:   
187           --- Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> . 
188           --- [aToler] - reached tolerance 
189           ---
190     MakePCurveOnFace  (myclass;    
191               aF:  Face from TopoDS; 
192               C3D   :     Curve from Geom;  
193               aT1   :  Real from Standard;   
194               aT2   :  Real from Standard;      
195               aC    : out Curve from Geom2d; 
196               aToler: out Real from Standard) ;                  
197           ---Purpose:   
198           --- Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> .  
199           --- [aT1,  aT2] - range to build    
200           --- [aToler] - reached tolerance 
201           ---
202     MakePCurveOfType  (myclass;    
203               PC  : ProjectedCurve from ProjLib; 
204               aC  : out Curve from Geom2d);         
205           ---Purpose:   
206           --- Make empty  P-Curve <aC> of relevant to <PC> type  
207           ---
208
209 end AlgoTools2D;