0024157: Parallelization of assembly part of BO
[occt.git] / src / BRepClass3d / BRepClass3d_SolidExplorer.cdl
CommitLineData
b311480e 1-- Created on: 1994-03-10
2-- Created by: Laurent BUCHARD
3-- Copyright (c) 1994-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21
22-- Modified by skv - Thu Sep 4 12:19:22 2003 OCC578
23-- Add the method GetFaceSegmentIndex() which is used to obtain the index of
24-- the face for which last segment is calculated.
25
26class SolidExplorer from BRepClass3d
27
28 ---Purpose: Provide an exploration of a BRep Shape for the
29 -- classification.
30
31uses
32 Orientation from TopAbs,
33 Pnt from gp,
34 Pnt2d from gp,
35 Lin from gp,
41194117 36 Vec from gp,
7fd59977 37 Face from TopoDS,
38 Shell from TopoDS,
39 Shape from TopoDS,
40 Explorer from TopExp,
41 Edge from BRepClass,
42 Box from Bnd,
43 State from TopAbs,
44 Intersector from IntCurvesFace,
45 MapOfInter from BRepClass3d,
46 HSurface from BRepAdaptor
47is
48
49 Create returns SolidExplorer from BRepClass3d;
50
51 Create (Oth: SolidExplorer from BRepClass3d)
52 ---Purpose: Raise if called.
53 returns SolidExplorer from BRepClass3d;
54
55 Create (S : Shape from TopoDS) returns SolidExplorer from BRepClass3d;
56
57 Delete(me:out) is virtual;
58 ---C++: alias "Standard_EXPORT virtual ~BRepClass3d_SolidExplorer(){Destroy() ; }"
59
60 InitShape(me : in out; S : Shape from TopoDS) is static ;
61
62 Reject(me; P : Pnt from gp) returns Boolean is virtual ;
63 ---Purpose: Should return True if P outside of bounding vol. of the shape
64
65 FindAPointInTheFace(myclass; F: Face from TopoDS;
66 P: out Pnt from gp;
67 Param: out Real from Standard)
68 ---Purpose : compute a point P in the face F. Param is a Real in
69 -- ]0,1[ and is used to initialise the algorithm. For
70 -- different values , different points are returned.
71 returns Boolean from Standard;
72
73 FindAPointInTheFace(myclass; F: Face from TopoDS;
74 P: out Pnt from gp;
75 u,v: out Real from Standard;
76 Param: out Real from Standard)
77 returns Boolean from Standard;
78
41194117
K
79 FindAPointInTheFace(myclass; F: Face from TopoDS;
80 P: out Pnt from gp;
81 u,v: out Real from Standard;
82 Param: out Real from Standard;
83 theVecD1U, theVecD1V: out Vec from gp)
84 returns Boolean from Standard;
85
7fd59977 86 FindAPointInTheFace(myclass; F: Face from TopoDS;
87 P: out Pnt from gp;
88 u,v: out Real from Standard)
89 returns Boolean from Standard;
90
91 FindAPointInTheFace(myclass; F: Face from TopoDS;
92 P: out Pnt from gp)
93 returns Boolean from Standard;
94
95 FindAPointInTheFace(myclass; F: Face from TopoDS;
96 u,v: out Real from Standard)
97 returns Boolean from Standard;
98
99 -----------------------------------------------------------------------
100
101 PointInTheFace(me; F: Face from TopoDS;
102 P: out Pnt from gp;
103 u,v: out Real from Standard;
104 Param: out Real from Standard;
105 Index: out Integer from Standard)
106 returns Boolean from Standard is static ;
107
41194117
K
108 PointInTheFace(me; F: Face from TopoDS;
109 P: out Pnt from gp;
110 u,v: out Real from Standard;
111 Param: out Real from Standard;
112 Index: out Integer from Standard;
113 surf: HSurface from BRepAdaptor;
114 u1,v1,u2,v2: Real from Standard)
115 returns Boolean from Standard is static;
7fd59977 116
117 PointInTheFace(me; F: Face from TopoDS;
41194117
K
118 P: out Pnt from gp;
119 u,v: out Real from Standard;
120 Param: out Real from Standard;
121 Index: out Integer from Standard;
122 surf: HSurface from BRepAdaptor;
123 u1,v1,u2,v2: Real from Standard;
124 theVecD1U, theVecD1V: out Vec from gp)
7fd59977 125 returns Boolean from Standard is static ;
126 ---Purpose: <Index> gives point index to search from and returns
127 -- point index of succeseful search
128
129
130
131 InitShell(me: in out) is static ;
132 ---Purpose: Starts an exploration of the shells.
133 MoreShell(me) returns Boolean from Standard is static ;
134 ---Purpose: Returns True if there is a current shell.
135 NextShell(me: in out) is static ;
136 ---Purpose: Sets the explorer to the next shell.
137 CurrentShell(me) returns Shell from TopoDS is static ;
138 ---Purpose: Returns the current shell.
139
140 RejectShell(me; L: Lin from gp) returns Boolean from Standard is virtual;
141 ---Purpose: Returns True if the Shell is rejected.
142
143 InitFace(me: in out) is static ;
144 ---Purpose: Starts an exploration of the faces of the current shell.
145 MoreFace(me) returns Boolean from Standard is static ;
146 ---Purpose: Returns True if current face in current shell.
147 NextFace(me: in out) is static ;
148 ---Purpose: Sets the explorer to the next Face of the current shell.
149 CurrentFace(me) returns Face from TopoDS is static ;
150 ---Purpose: Returns the current face.
151
152 RejectFace(me; L: Lin from gp) returns Boolean from Standard is virtual;
153 ---Purpose: returns True if the face is rejected.
154
155 ----------------------------------------------------------------------
156
157 Segment(me: in out; P : Pnt from gp;
158 L : out Lin from gp; Par : out Real)
159 ---Purpose: Returns in <L>, <Par> a segment having at least
160 -- one intersection with the shape boundary to
161 -- compute intersections.
162 --
163 --modified by NIZNHY-PKV Thu Nov 14 12:20:17 2002 f
164 returns Integer from Standard
165--modified by NIZNHY-PKV Thu Nov 14 12:20:21 2002 t
166 is static;
167
168 OtherSegment(me: in out; P : Pnt from gp;
169 L : out Lin from gp; Par : out Real)
170 ---Purpose: Returns in <L>, <Par> a segment having at least
171 -- one intersection with the shape boundary to
172 -- compute intersections.
173 --
174 -- The First Call to this method returns a line which
175 -- point to a point of the first face of the shape.
176 -- The Second Call provide a line to the second face
177 -- and so on.
178 --
179--modified by NIZNHY-PKV Thu Nov 14 12:20:17 2002 f
180 returns Integer from Standard
181--modified by NIZNHY-PKV Thu Nov 14 12:20:21 2002 t
182 is static;
183
184-- Modified by skv - Thu Sep 4 12:19:22 2003 OCC578 Begin
185 GetFaceSegmentIndex(me)
186 ---Purpose: Returns the index of face for which
187 -- last segment is calculated.
188 returns Integer from Standard
189 is static;
190-- Modified by skv - Thu Sep 4 12:19:23 2003 OCC578 End
191 --------------------------------------------------------------------
192
193 --- Dump method
194
195 DumpSegment(me; P : Pnt from gp; L : Lin from gp;
196 Par : Real from Standard; S : State from TopAbs) is virtual;
197
198
199 Box(me)
200 ---C++: return const &
201 returns Box from Bnd
202 is static;
203
204 Intersector(me; F : Face from TopoDS)
205 ---C++: return &
206 returns Intersector from IntCurvesFace is static;
207
208 Destroy(me: in out)
209 --C++: alias ~
210 is static;
211
212fields
213
214 myBox : Box from Bnd;
215 myShape : Shape from TopoDS;
216 myReject : Boolean from Standard;
217 myFirstFace : Integer from Standard;
218 myParamOnEdge : Real from Standard;
219 myShellExplorer : Explorer from TopExp;
220 myFaceExplorer : Explorer from TopExp;
221
222 myMapOfInter : MapOfInter from BRepClass3d;
223
224end SolidExplorer;