1 -- Created by: Peter KURNEV
2 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
4 -- This file is part of Open CASCADE Technology software library.
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.
12 -- Alternatively, this file may be used under the terms of Open CASCADE
13 -- commercial license or contractual agreement.
15 class AlgoTools2D from BOPTools
18 --- The class contains handy static functions
19 --- dealing with the topology
20 --- This is the copy of the BOPTools_AlgoTools2D.cdl
30 ProjectedCurve from ProjLib,
31 ListOfShape from BOPCol
35 BuildPCurveForEdgeOnFace (myclass;
37 aF: Face from TopoDS);
39 --- Compute P-Curve for the edge <aE> on the face <aF>
42 anE : Edge from TopoDS;
43 aT : Real from Standard;
44 Tau : out Vec from gp)
45 returns Boolean from Standard;
47 --- Compute tangent for the edge <aE> [in 3D] at parameter <aT>
50 PointOnSurface (myclass;
53 aT: Real from Standard;
54 U : out Real from Standard;
55 V : out Real from Standard);
57 --- Compute surface parameters <U,V> of the face <aF>
58 --- for the point from the edge <aE> at parameter <aT>.
60 CurveOnSurface (myclass;
63 aC : out Curve from Geom2d;
64 aToler: out Real from Standard);
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
70 CurveOnSurface (myclass;
73 aC : out Curve from Geom2d;
74 aFirst: out Real from Standard;
75 aLast : out Real from Standard;
76 aToler: out Real from Standard);
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
84 HasCurveOnSurface (myclass;
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;
93 --- Returns TRUE if the edge <aE> has P-Curve <aC>
95 --- [aFirst, aLast] - range of the P-Curve
96 --- [aToler] - reached tolerance
97 --- If the P-Curve does not exist, aC.IsNull()=TRUE.
99 HasCurveOnSurface (myclass;
100 aE: Edge from TopoDS;
101 aF: Face from TopoDS)
102 returns Boolean from Standard;
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.
109 AdjustPCurveOnFace (myclass;
110 aF : Face from TopoDS;
111 C3D : Curve from Geom;
112 aC2D : Curve from Geom2d;
113 aC2DA : out Curve from Geom2d);
115 --- Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> .
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);
124 --- Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> .
125 --- [aT1, aT2] - range to adjust
128 IntermediatePoint (myclass;
129 aFirst: Real from Standard;
130 aLast : Real from Standard)
131 returns Real from Standard;
133 --- Compute intermediate value in between [aFirst, aLast] .
135 IntermediatePoint (myclass;
136 anE : Edge from TopoDS)
137 returns Real from Standard;
139 --- Compute intermediate value of parameter for the edge <anE>.
141 BuildPCurveForEdgeOnPlane(myclass;
142 theE : Edge from TopoDS;
143 theF : Face from TopoDS);
145 BuildPCurveForEdgesOnPlane(myclass;
146 theLE : ListOfShape from BOPCol;
147 theF : Face from TopoDS);
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);
157 --- Make P-Curve <aC> for the edge <aE> on surface <aF> .
158 --- [aFirst, aLast] - range of the P-Curve
159 --- [aToler] - reached tolerance
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);
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) ;
178 --- Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> .
179 --- [aToler] - reached tolerance
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) ;
189 --- Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> .
190 --- [aT1, aT2] - range to build
191 --- [aToler] - reached tolerance
193 MakePCurveOfType (myclass;
194 PC : ProjectedCurve from ProjLib;
195 aC : out Curve from Geom2d);
197 --- Make empty P-Curve <aC> of relevant to <PC> type