Salome HOME
Merge from BR_Dev_For_4_0 branch (from tag mergeto_BR_QT4_Dev_17Jan08)
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo_BuilderArea.cdl
1 -- Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 -- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
3 -- 
4 -- This library is free software; you can redistribute it and/or
5 -- modify it under the terms of the GNU Lesser General Public
6 -- License as published by the Free Software Foundation; either 
7 -- version 2.1 of the License.
8 -- 
9 -- This library is distributed in the hope that it will be useful 
10 -- but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 -- Lesser General Public License for more details.
13 --
14 -- You should have received a copy of the GNU Lesser General Public  
15 -- License along with this library; if not, write to the Free Software 
16 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 --
18 -- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 -- 
20 -- File:        ModGlue_BuilderArea.cdl
21 -- Created:     
22 -- Author:      Peter KURNEV  
23
24 deferred class BuilderArea from GEOMAlgo 
25         inherits Algo from GEOMAlgo 
26          
27         ---Purpose: The root class for algorithms to build  
28         --          faces/solids from set of edges/faces  
29
30 uses 
31     Shape from TopoDS,
32     ListOfShape from TopTools,
33     MapOfOrientedShape from TopTools, 
34     Context from IntTools, 
35     PContext from IntTools
36
37 --raises
38
39 is 
40     Initialize  
41         ---Purpose:  Empty  constructor
42         returns BuilderArea from GEOMAlgo; 
43     ---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_BuilderArea();" 
44      
45     SetContext(me:out; 
46             theContext:Context from IntTools);  
47         ---Purpose: Sets cashed geometrical tools   
48             
49     SetShapes(me:out; 
50             theLS:ListOfShape from TopTools); 
51         ---Purpose: Sets edges/faces to process 
52         
53     Shapes(me) 
54         ---Purpose: Returns edges/faces to process 
55         returns ListOfShape from TopTools;   
56     ---C++:  return const &  
57      
58     Loops(me)  
59         ---Purpose: Returns wires/shells that have been built  
60         returns ListOfShape from TopTools; 
61     ---C++:  return const &   
62      
63     Areas(me) 
64         ---Purpose: Returns faces/solids that have been built  
65         returns ListOfShape from TopTools; 
66     ---C++:  return const &     
67      
68     PerformShapesToAvoid(me:out) 
69         ---Purpose:  Collect the edges/faces that 
70         --           a) are internal             
71         --           b) are the same and have different orientation              
72         is virtual protected; 
73          
74     PerformLoops(me:out) 
75         ---Purpose: Build draft faces/shells 
76         --          a)myLoops - draft faces/shells that consist of  
77         --                      boundary edges/faces 
78         --          b)myLoopsInternal - draft faces/shells that contains 
79         --                               inner edges/faces 
80         is virtual protected;  
81          
82     PerformAreas(me:out)   
83         ---Purpose: Build draft faces/solids that contains boundary faces   
84         is virtual protected;  
85
86     PerformInternalShapes(me:out)   
87         ---Purpose: Build finalized faces/solids with internal wires/shells   
88         is virtual protected;  
89      
90
91 fields 
92     myShapes         :  ListOfShape from TopTools is protected;  
93     myLoops          :  ListOfShape from TopTools is protected;  
94     myLoopsInternal  :  ListOfShape from TopTools is protected;
95     myShapesToAvoid  :  MapOfOrientedShape from TopTools is protected;  
96     myAreas          :  ListOfShape from TopTools is protected;  
97     --
98     myContext        :  PContext from IntTools is protected;             
99
100 end BuilderArea; 
101