CommitLineData
4e57c75e 1-- Created by: Peter KURNEV
4e57c75e 3--
973c2be1 4-- This file is part of Open CASCADE Technology software library.
4e57c75e 5--
d5f74e42 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
973c2be1 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.
4e57c75e 11--
973c2be1 12-- Alternatively, this file may be used under the terms of Open CASCADE
13-- commercial license or contractual agreement.
4e57c75e 14
15class 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
21uses
22 Vec from gp,
23 Dir from gp,
24 Vertex from TopoDS,
25 Edge from TopoDS,
26 Face from TopoDS,
4e57c75e 28 Curve from Geom2d,
29 Curve from Geom,
acccace3 30 ProjectedCurve from ProjLib,
31 ListOfShape from BOPCol
32
4e57c75e 33is
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
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 ---
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 ---
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 ---
4e57c75e 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;
acccace3 152 theF : Face from TopoDS);
153
154 BuildPCurveForEdgesOnPlane(myclass;
155 theLE : ListOfShape from BOPCol;
4e57c75e 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
209end AlgoTools2D;