0024428: Implementation of LGPL license
[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
7 -- under the terms of the GNU Lesser General Public 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      
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  
128     IntermediatePoint (myclass; 
129               aFirst: Real from Standard; 
130               aLast : Real from Standard) 
131           returns  Real from Standard; 
132           ---Purpose:   
133           --- Compute intermediate  value in  between [aFirst, aLast] . 
134           ---
135     IntermediatePoint        (myclass;  
136               anE  : Edge from TopoDS) 
137           returns  Real from Standard;
138           ---Purpose:   
139           --- Compute intermediate value of parameter for the edge <anE>. 
140           ---
141     BuildPCurveForEdgeOnPlane(myclass; 
142               theE : Edge from TopoDS; 
143               theF : Face from TopoDS); 
144               
145     BuildPCurveForEdgesOnPlane(myclass; 
146               theLE : ListOfShape from BOPCol; 
147               theF : Face from TopoDS);
148  
149     Make2D  (myclass;  
150               aE:  Edge from TopoDS; 
151               aF:  Face from TopoDS; 
152               aC    : out Curve from Geom2d;
153               aFirst: out Real from Standard; 
154               aLast : out Real from Standard; 
155               aToler: out Real from Standard);            
156           ---Purpose:   
157           --- Make P-Curve <aC> for the edge <aE> on surface <aF> . 
158           --- [aFirst, aLast] - range of the P-Curve    
159           --- [aToler] - reached tolerance 
160           --- 
161           
162     MakeCurveOnSurface        (myclass;  
163               aE:  Edge from TopoDS; 
164               aF:  Face from TopoDS; 
165               aC    : out Curve from Geom2d;
166               aFirst: out Real from Standard; 
167               aLast : out Real from Standard; 
168               aToler: out Real from Standard);             
169           ---Purpose:   
170           --- Same  as   Make2D() 
171           ---
172     MakePCurveOnFace  (myclass;    
173               aF:  Face from TopoDS; 
174               C3D   :     Curve from Geom; 
175               aC    : out Curve from Geom2d; 
176               aToler: out Real from Standard) ;   
177           ---Purpose:   
178           --- Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> . 
179           --- [aToler] - reached tolerance 
180           ---
181     MakePCurveOnFace  (myclass;    
182               aF:  Face from TopoDS; 
183               C3D   :     Curve from Geom;  
184               aT1   :  Real from Standard;   
185               aT2   :  Real from Standard;      
186               aC    : out Curve from Geom2d; 
187               aToler: out Real from Standard) ;                  
188           ---Purpose:   
189           --- Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> .  
190           --- [aT1,  aT2] - range to build    
191           --- [aToler] - reached tolerance 
192           ---
193     MakePCurveOfType  (myclass;    
194               PC  : ProjectedCurve from ProjLib; 
195               aC  : out Curve from Geom2d);         
196           ---Purpose:   
197           --- Make empty  P-Curve <aC> of relevant to <PC> type  
198           ---
199
200 end AlgoTools2D;