4e57c75e |
1 | -- Created by: Peter KURNEV |
973c2be1 |
2 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
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 | |
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, |
fd372378 |
27 | Surface from BRepAdaptor, |
4e57c75e |
28 | Curve from Geom2d, |
29 | Curve from Geom, |
acccace3 |
30 | ProjectedCurve from ProjLib, |
31 | ListOfShape from BOPCol |
32 | |
4e57c75e |
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 | --- |
fd372378 |
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 | --- |
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 | |
209 | end AlgoTools2D; |