Test for 0022778: Bug in BRepMesh
[occt.git] / src / BooleanOperations / BooleanOperations_Explorer.cdl
1 -- Created on: 2000-09-04
2 -- Created by: Vincent DELOS
3 -- Copyright (c) 2000-2012 OPEN CASCADE SAS
4 --
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
9 --
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 --
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
19
20
21
22 class Explorer from BooleanOperations 
23
24         ---Purpose:  the explorer associated  to the Data Structure to
25         --          retrieve   subshapes of a  given   shape stored in
26         --          ShapesDataStructure.
27
28 uses
29     Shape    from TopoDS,
30     ShapeEnum from TopAbs,
31     ShapesDataStructure from BooleanOperations,
32     PShapesDataStructure from BooleanOperations
33
34 is
35     Create (SDS: ShapesDataStructure)  
36         returns Explorer from BooleanOperations;
37
38     --modified by NIZNHY-PKV Sun Dec 15 16:24:39 2002  f 
39     Delete(me:  out)  
40         is virtual; 
41     ---C++:  alias  "Standard_EXPORT virtual ~BooleanOperations_Explorer()  {Delete();}" 
42     --modified by NIZNHY-PKV Sun Dec 15 16:27:53 2002  t 
43     
44     Init (me:in out;  
45         aShape: Integer;  
46         TargetToFind: ShapeEnum;  
47         TargetToAvoid: ShapeEnum = TopAbs_SHAPE) is virtual;
48     
49     Next (me:in out)  
50         is virtual;
51     
52     More (me)  
53         returns Boolean;
54     
55     Current (me:in out)  
56         returns Integer is virtual;
57
58     Dump (me; S : in out OStream)  
59         is virtual;
60
61
62 fields
63
64 myShapesDataStructure: PShapesDataStructure is protected;
65 ---Purpose: the data structure we're working on.
66
67 myStack : Address is protected;
68 ---Purpose: contains all the numbers associated to the shapes.
69 myTopOfStack : Integer is protected;
70 ---Purpose: gives the position of  the  highest element in the stack,
71 --          i.e. the index of the number of the current shape.
72 mySizeOfStack : Integer is protected;
73 ---Purpose: gives the number of elements in the stack.
74
75 myTargetToFind : ShapeEnum is protected;
76 ---Purpose: the kind of shape we are looking for.
77 myTargetToAvoid: ShapeEnum is protected;
78 ---Purpose: the kind of shape we want to avoid.
79
80 hasMore : Boolean is protected;
81 ---Purpose: if we still have a new shape to return.
82
83 end Explorer;