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