0024157: Parallelization of assembly part of BO
[occt.git] / src / BOPAlgo / BOPAlgo_ShellSplitter.cdl
1 -- Created by: Peter KURNEV
2 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
3 --
4 -- This file is part of Open CASCADE Technology software library.
5 --
6 -- This library is free software; you can redistribute it and / or modify it
7 -- under the terms of the GNU Lesser General Public version 2.1 as published
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.
11 --
12 -- Alternatively, this file may be used under the terms of Open CASCADE
13 -- commercial license or contractual agreement.
14
15 class ShellSplitter from BOPAlgo 
16         inherits Algo from BOPAlgo 
17          
18         ---Purpose:  
19         -- The class provides the splitting of the set of connected faces 
20         -- on separate loops    
21 uses   
22     BaseAllocator from BOPCol, 
23     Shape from TopoDS,
24     ListOfShape from BOPCol, 
25     ConnexityBlock from BOPTools, 
26     ListOfConnexityBlock from BOPTools 
27     
28     
29 --raises
30
31 is 
32     Create 
33         returns ShellSplitter from BOPAlgo; 
34     ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_ShellSplitter();" 
35     ---Purpose: empty constructor
36      
37     Create(theAllocator: BaseAllocator from BOPCol)  
38         returns ShellSplitter from BOPAlgo; 
39     ---Purpose:  constructor 
40     
41     AddStartElement(me:out; 
42             theS: Shape from TopoDS); 
43     ---Purpose: adds a face <theS> to process              
44     
45     StartElements(me)  
46         returns ListOfShape from BOPCol;
47     ---C++: return const & 
48     ---Purpose: return the faces to process 
49     
50     Perform(me:out) 
51         is redefined;  
52     ---Purpose: performs the algorithm  
53           
54     Shells(me) 
55         returns ListOfShape from BOPCol; 
56     ---C++: return const &       
57     ---Purpose: returns the loops 
58      
59     MakeConnexityBlocks(me:out)  
60         is protected;  
61      
62     MakeShells (me:out)  
63         is protected;   
64         
65     SplitBlock(myclass; 
66             theCB:out ConnexityBlock from BOPTools);  
67         
68 fields  
69     myStartShapes: ListOfShape from BOPCol is protected; 
70     myShells: ListOfShape from BOPCol is protected; 
71     myLCB   : ListOfConnexityBlock from BOPTools is protected; 
72    
73 end ShellSplitter;