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