0024002: Overall code and build procedure refactoring -- automatic
[occt.git] / src / BOPDS / BOPDS_IteratorSI.cdl
1 -- Created by: Peter KURNEV
2 -- Copyright (c) 2010-2014 OPEN CASCADE SAS
3 -- Copyright (c) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
4 -- Copyright (c) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT,
5 --                         EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 --
7 -- This file is part of Open CASCADE Technology software library.
8 --
9 -- This library is free software; you can redistribute it and/or modify it under
10 -- the terms of the GNU Lesser General Public License version 2.1 as published
11 -- by the Free Software Foundation, with special exception defined in the file
12 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
13 -- distribution for complete text of the license and disclaimer of any warranty.
14 --
15 -- Alternatively, this file may be used under the terms of Open CASCADE
16 -- commercial license or contractual agreement.
17
18 class IteratorSI from BOPDS  
19     inherits Iterator from BOPDS
20
21 ---Purpose:  
22     -- The class BOPDS_IteratorSI is  
23     --  1.to compute self-intersections between BRep sub-shapes  
24     --    of each argument of an operation (see the class BOPDS_DS)
25     --    in terms of theirs bounding boxes           
26     --  2.provides interface to iterare the pairs of  
27     --    intersected sub-shapes of given type 
28
29 uses  
30     BaseAllocator from BOPCol 
31
32 is 
33     Create   
34     returns IteratorSI from BOPDS;
35     ---C++: alias "Standard_EXPORT virtual ~BOPDS_IteratorSI();"   
36     ---Purpose:  
37     --- Empty contructor  
38     ---   
39  
40     Create (theAllocator: BaseAllocator from BOPCol)  
41     returns IteratorSI from BOPDS;
42      ---Purpose:  
43     ---  Contructor    
44     ---  theAllocator - the allocator to manage the memory     
45     --- 
46     Intersect(me:out) 
47     is redefined protected;  
48
49     UpdateByLevelOfCheck(me:out; 
50       theLevel: Integer from Standard); 
51     ---Purpose:  Updates the lists of possible intersections  
52     --           according to the value of <theLevel>.
53     --           It defines which interferferences will be checked: 
54     --           0 - only V/V; 
55     --           1 - V/V and V/E; 
56     --           2 - V/V, V/E and E/E; 
57     --           3 - V/V, V/E, E/E and V/F;
58     --           4 - V/V, V/E, E/E, V/F and E/F; 
59     --           other - all interferences.
60  
61 end IteratorSI;