0024624: Lost word in license statement in source files
[occt.git] / src / BRepClass3d / BRepClass3d_SolidExplorer.cdl
1 -- Created on: 1994-03-10
2 -- Created by: Laurent BUCHARD
3 -- Copyright (c) 1994-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 -- Modified by skv - Thu Sep  4 12:19:22 2003 OCC578 
18 -- Add the method GetFaceSegmentIndex() which is used to obtain the index of 
19 -- the face for which last segment is calculated.
20
21 class SolidExplorer from BRepClass3d 
22
23         ---Purpose: Provide an   exploration of a  BRep Shape   for the
24         --          classification.
25
26 uses
27     Orientation  from TopAbs,
28     Pnt          from gp,
29     Pnt2d        from gp,    
30     Lin          from gp,
31     Vec          from gp,
32     Face         from TopoDS,
33     Shell        from TopoDS,
34     Shape        from TopoDS,
35     Explorer     from TopExp,
36     Edge         from BRepClass,
37     Box          from Bnd,
38     State        from TopAbs,
39     Intersector  from IntCurvesFace,
40     MapOfInter   from BRepClass3d,
41     HSurface     from BRepAdaptor
42 is
43
44     Create returns SolidExplorer from BRepClass3d;
45
46     Create (Oth: SolidExplorer from BRepClass3d) 
47         ---Purpose: Raise if called. 
48     returns SolidExplorer from BRepClass3d;
49
50     Create (S : Shape  from TopoDS) returns SolidExplorer from BRepClass3d;
51
52     Delete(me:out) is virtual;
53     ---C++: alias "Standard_EXPORT virtual ~BRepClass3d_SolidExplorer(){Destroy() ; }"
54     
55     InitShape(me : in out; S : Shape from TopoDS) is static ;
56         
57     Reject(me;  P : Pnt from gp) returns Boolean is virtual ;
58     ---Purpose: Should return True if P outside of bounding vol. of the shape
59     
60     FindAPointInTheFace(myclass; F: Face from TopoDS; 
61                                  P: out Pnt from gp;
62                                  Param: out Real from Standard) 
63     ---Purpose : compute a point P in the face  F. Param is a Real in
64     --         ]0,1[ and   is  used to  initialise  the algorithm. For
65     --         different values , different points are returned. 
66     returns Boolean from Standard;
67
68     FindAPointInTheFace(myclass; F: Face from TopoDS; 
69                                  P: out Pnt from gp;
70                                  u,v: out Real from Standard;
71                                  Param: out Real from Standard) 
72     returns Boolean from Standard;
73
74     FindAPointInTheFace(myclass; F: Face from TopoDS; 
75                                  P: out Pnt from gp;
76                                  u,v: out Real from Standard;
77                                  Param: out Real from Standard;
78                                  theVecD1U, theVecD1V: out Vec from gp)
79     returns Boolean from Standard;
80
81     FindAPointInTheFace(myclass; F: Face from TopoDS; 
82                                  P: out Pnt from gp;
83                                  u,v: out Real from Standard)
84     returns Boolean from Standard;
85
86     FindAPointInTheFace(myclass; F: Face from TopoDS; 
87                                  P: out Pnt from gp)
88     returns Boolean from Standard;
89
90     FindAPointInTheFace(myclass; F: Face from TopoDS; 
91                                  u,v: out Real from Standard) 
92     returns Boolean from Standard;
93                                                                          
94     -----------------------------------------------------------------------
95
96     PointInTheFace(me;      F: Face from TopoDS; 
97                             P: out Pnt from gp;
98                             u,v: out Real from Standard;
99                             Param: out Real from Standard;
100                             Index: out Integer from Standard) 
101     returns Boolean from Standard is static ;
102
103     PointInTheFace(me;      F: Face from TopoDS; 
104                             P: out Pnt from gp;
105                             u,v: out Real from Standard;
106                             Param: out Real from Standard;
107                             Index: out Integer from Standard;
108                             surf: HSurface  from BRepAdaptor;
109                             u1,v1,u2,v2: Real from Standard)
110     returns Boolean from Standard is static;
111
112     PointInTheFace(me;      F: Face from TopoDS; 
113                             P: out Pnt from gp;
114                             u,v: out Real from Standard;
115                             Param: out Real from Standard;
116                             Index: out Integer from Standard;
117                             surf: HSurface  from BRepAdaptor;
118                             u1,v1,u2,v2: Real from Standard;
119                             theVecD1U, theVecD1V: out Vec from gp)
120     returns Boolean from Standard is static ;
121     ---Purpose: <Index> gives point index  to  search from and returns
122     --          point index of succeseful search
123
124
125
126     InitShell(me: in out) is static ;
127     ---Purpose: Starts an exploration of the shells.
128     MoreShell(me) returns Boolean from Standard is static ;
129     ---Purpose: Returns True if there is a current shell. 
130     NextShell(me: in out) is static ;
131     ---Purpose: Sets the explorer to the next shell.
132     CurrentShell(me) returns Shell from TopoDS is static ;
133     ---Purpose: Returns the current shell.
134     
135     RejectShell(me; L: Lin from gp) returns Boolean from Standard is virtual;
136     ---Purpose: Returns True if the Shell is rejected.
137     
138     InitFace(me: in out) is static ;
139     ---Purpose: Starts an exploration of the faces of the current shell.
140     MoreFace(me) returns Boolean from Standard is static ;
141     ---Purpose: Returns True if current face in current shell. 
142     NextFace(me: in out) is static ;
143     ---Purpose: Sets the explorer to the next Face of the current shell.
144     CurrentFace(me) returns Face from TopoDS is static ;
145     ---Purpose: Returns the current face.
146     
147     RejectFace(me; L: Lin from gp) returns Boolean from Standard is virtual;
148     ---Purpose: returns True if the face is rejected.
149     
150     ----------------------------------------------------------------------
151
152     Segment(me: in out;  P :  Pnt from gp;
153                          L : out Lin from gp; Par : out  Real)
154          ---Purpose: Returns  in <L>, <Par>  a segment having at least
155          --          one  intersection  with  the  shape  boundary  to
156          --          compute  intersections. 
157          --    
158  --modified by NIZNHY-PKV Thu Nov 14 12:20:17 2002  f 
159     returns  Integer from Standard  
160 --modified by NIZNHY-PKV Thu Nov 14 12:20:21 2002  t 
161     is static;
162
163     OtherSegment(me: in out;  P :  Pnt from gp;
164                               L : out Lin from gp; Par : out  Real)
165          ---Purpose: Returns  in <L>, <Par>  a segment having at least
166          --          one  intersection  with  the  shape  boundary  to
167          --          compute  intersections. 
168          --          
169          --          The First Call to this method returns a line which
170          --          point to a point of the first face of the shape.
171          --          The Second Call provide a line to the second face
172          --          and so on. 
173          --          
174 --modified by NIZNHY-PKV Thu Nov 14 12:20:17 2002  f 
175     returns  Integer from Standard  
176 --modified by NIZNHY-PKV Thu Nov 14 12:20:21 2002  t    
177     is static;
178     
179 -- Modified by skv - Thu Sep  4 12:19:22 2003 OCC578 Begin
180     GetFaceSegmentIndex(me) 
181         ---Purpose: Returns the index of face for which 
182         --          last segment is calculated.
183     returns Integer from Standard 
184     is static;
185 -- Modified by skv - Thu Sep  4 12:19:23 2003 OCC578 End
186     --------------------------------------------------------------------
187
188     --- Dump method
189
190     DumpSegment(me; P : Pnt from gp; L : Lin from gp; 
191                     Par : Real from Standard; S : State from TopAbs) is  virtual;
192
193     
194     Box(me) 
195         ---C++: return  const &
196         returns Box from Bnd
197         is static;
198     
199     Intersector(me; F : Face from TopoDS) 
200         ---C++: return  &
201         returns Intersector from IntCurvesFace is static;
202
203     Destroy(me: in out)
204         --C++: alias ~
205     is static;
206     
207 fields
208
209     myBox           : Box      from Bnd;
210     myShape         : Shape    from TopoDS;
211     myReject        : Boolean  from Standard;
212     myFirstFace     : Integer  from Standard;
213     myParamOnEdge   : Real     from Standard;
214     myShellExplorer : Explorer from TopExp;
215     myFaceExplorer  : Explorer from TopExp;
216
217     myMapOfInter    : MapOfInter from BRepClass3d;
218
219 end SolidExplorer;