Salome HOME
Merge from BR_Dev_For_4_0 branch (from tag mergeto_BR_QT4_Dev_17Jan08)
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo_Splitter.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:        GEOMAlgo_Splitter.cdl
21 -- Created:      
22 -- Author:      Peter KURNEV 
23 --              <pkv@irinox> 
24 -- Copyright:   
25
26 class Splitter from GEOMAlgo 
27         inherits Builder from GEOMAlgo 
28         
29         ---Purpose: Implementation of Gluing Operation Algorithm (GA)  
30
31 uses  
32     
33     ShapeEnum from TopAbs, 
34     Shape from TopoDS,
35     ListOfShape from TopTools, 
36     MapOfShape  from TopTools
37     
38 --raises
39
40 is
41  
42     Create 
43         ---Purpose:  Empty constructor     
44         returns Splitter from GEOMAlgo;  
45     ---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_Splitter();" 
46
47     Clear(me:out) 
48         ---Purpose:  Clears internal fields and arguments             
49         is redefined;   
50          
51     AddTool (me:out;  
52             theShape: Shape from TopoDS) 
53         ---Purpose:  Adds Tool argument theShape of the operation                    
54         is virtual;
55
56     Tools(me) 
57         ---Purpose:  Returns the arguments of the operation       
58         returns ListOfShape from TopTools;  
59     ---C++: return const &   
60
61     SetLimit(me:out; 
62             aLimit:ShapeEnum from TopAbs); 
63          
64     Limit(me)  
65         returns ShapeEnum from TopAbs;   
66
67     SetLimitMode(me:out; 
68             aLimitMode:Integer from Standard); 
69              
70     LimitMode(me) 
71         returns Integer from Standard;    
72
73     -- 
74     --    Protected methods  
75     --  
76     BuildResult(me:out; 
77             theType: ShapeEnum from TopAbs) 
78     ---Purpose: Build the resulting shapes of type theType      
79         is redefined protected;   
80          
81     PostTreat(me:out)  
82     ---Purpose:  Provides post-tratment actions  
83         is redefined protected; 
84         
85     -- ===================================================== 
86     -- 
87     --  Debug  methods  
88     --
89     AddToolCompound (me:out;  
90             theShape: Shape from TopoDS); 
91     ---Purpose:  Adds Tool arguments of the operation as  
92     --           shapes of upper level of container shape theShape        
93     -- =====================================================
94  
95 fields 
96     myTools           : ListOfShape from TopTools is protected; 
97     myMapTools        : MapOfShape  from TopTools is protected;        
98     myLimit           : ShapeEnum   from TopAbs   is protected;   
99     myLimitMode       : Integer from Standard     is protected;  
100
101 end Splitter;
102