]> SALOME platform Git repositories - modules/geom.git/blob - src/NMTAlgo/NMTAlgo_Splitter.cdl
Salome HOME
Update copyright information
[modules/geom.git] / src / NMTAlgo / NMTAlgo_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:        NMTAlgo_Splitter.cdl
23 -- Created:     Tue Jan 27 15:09:45 2004
24 -- Author:      Peter KURNEV
25 --              <pkv@irinox>
26
27
28 class Splitter from NMTAlgo  
29     inherits Builder from NMTAlgo 
30
31         ---Purpose: 
32
33 uses  
34     Builder             from BRep,
35     ShapeEnum           from TopAbs,
36     Compound            from TopoDS,
37     Face                from TopoDS,
38     Edge                from TopoDS,
39     Shape               from TopoDS,
40     MapOfOrientedShape  from TopTools,
41     IndexedMapOfShape   from TopTools,
42     DataMapOfShapeShape from TopTools, 
43     DataMapOfShapeListOfShape from TopTools,
44     ListOfShape         from TopTools,
45     MapOfShape          from TopTools,
46     AsDes               from BRepAlgo,
47     Image               from BRepAlgo, 
48      
49     DSFiller from NMTTools
50
51 --raises
52
53 is 
54     Create 
55         returns Splitter from NMTAlgo;  
56     ---C++: alias "Standard_EXPORT virtual ~NMTAlgo_Splitter();" 
57
58     AddShape (me:out;  
59             S : Shape from TopoDS) 
60         is virtual;
61      
62     AddTool (me:out;  
63             S : Shape from TopoDS) 
64         is virtual;  
65      
66     Compute(me:out) 
67         is virtual; 
68
69     Build (me:out; 
70             aLimit:ShapeEnum from TopAbs=TopAbs_SHAPE) 
71         is virtual; 
72   
73     ComputeWithFiller(me:out; 
74         aDSF: DSFiller from NMTTools) 
75         is redefined;  
76      
77 ----vv 
78     KeepShapesInside (me:out;  
79             S : Shape from TopoDS);
80         ---Purpose: remove shapes that are outside of S from result.
81         --          S should be an object shape.
82         ---Warning: call it after Build()
83
84     RemoveShapesInside (me:out;  
85             S : Shape from TopoDS);
86         ---Purpose: remove shapes that are inside S from result.
87         --          S should be an object shape.
88         ---Warning: call it after Build()
89
90     Modified(me:out;  
91             S : Shape from TopoDS) 
92         returns ListOfShape from TopTools;
93     ---Purpose: Returns the list  of shapes modified from the shape <S>. 
94     ---C++: return const & 
95     ---Level: Public
96
97     Generated(me:out;  
98             S : Shape from TopoDS) 
99         returns ListOfShape from TopTools;
100     ---Purpose: Returns the list of shapes generated from the shape <S>. 
101     ---C++: return const & 
102     ---Level: Public
103
104     IsDeleted (me:out;  
105             S : Shape from TopoDS)
106        returns Boolean  from  Standard;
107 ----^^
108
109     Clear (me:out) 
110         is redefined; 
111
112     SourceShapes(me) 
113         returns ListOfShape from TopTools; 
114     ---C++: return const &   
115      
116     FillResult(me:out) 
117         is protected; 
118      
119     FillImageShape(me:out) 
120         is protected; 
121          
122     SplittedFaces (me:out) 
123         is protected; 
124          
125     SplittedWires (me:out) 
126         is protected;   
127      
128     SplitsAndSections (me:out) 
129         is protected;    
130      
131     ShellsAndSolids(me:out) 
132         is protected;  
133         
134     MakeShells(me:out; 
135             aS  :Shape from TopoDS; 
136             aLNS:out ListOfShape from TopTools) 
137         is protected;  
138          
139     MakeSolids (me:out;  
140             Solid : Shape from TopoDS;
141             Shells: out ListOfShape from TopTools) 
142         is protected;   
143
144     FindFacesInside (me:out;  
145             S : Shape from TopoDS;
146             CheckClosed : Boolean from Standard= Standard_False;
147             All         : Boolean from Standard= Standard_False) 
148         returns Shape from TopoDS  
149         is protected;
150      
151     IsInside (myclass;  
152             S1,S2 : Shape from TopoDS)
153         returns Boolean from Standard is protected;   
154         ---Purpose: Return True if the first vertex of S1 inside S2.
155         --          If S1.IsNull(), check infinite point against S2.
156
157     GetOriginalShape(me;  
158             aShape : Shape from TopoDS)
159         returns Shape from TopoDS  
160         is protected;  
161
162 --modified by NIZNHY-PKV Tue Feb  1 10:24:39 2005f       
163     FindImage(me:out; 
164             aS   : Shape from TopoDS; 
165             aLIms: out ListOfShape from TopTools) 
166         is protected; 
167 --modified by NIZNHY-PKV Tue Feb  1 10:24:47 2005t 
168
169 fields 
170     myDoneStep     : ShapeEnum           from TopAbs is protected;   -- rebuilt level
171     myBuilder      : Builder             from BRep   is protected;
172                                            
173     myListShapes   : ListOfShape         from TopTools is protected; -- object shapes
174     myMapFaces     : MapOfShape          from TopTools is protected; -- object faces
175     myMapTools     : MapOfShape          from TopTools is protected; -- tool faces
176     myEqualEdges   : MapOfShape          from TopTools is protected; -- equal splits
177     myNewSection   : MapOfShape          from TopTools is protected; -- new secton edges
178     myClosedShapes : MapOfShape          from TopTools is protected;
179     myWrappingSolid: MapOfShape          from TopTools is protected; -- solids having other shapes inside
180     myFaceShapeMap : DataMapOfShapeShape from TopTools is protected; -- to find a shape by face
181                                            
182     myInternalFaces: DataMapOfShapeShape from TopTools is protected; -- shape and its internal faces
183     myIntNotClFaces: DataMapOfShapeShape from TopTools is protected; -- internal but not closed 
184
185     myImageShape   : Image               from BRepAlgo is protected;
186
187     -- avoid rebuilding twice commont part of solids
188     myAddedFacesMap: MapOfOrientedShape  from TopTools is protected; 
189     --***-- 
190     mySourceShapes : ListOfShape         from TopTools is protected;  
191     myLimit        : ShapeEnum           from TopAbs   is protected; 
192     myToolShapes   : MapOfShape          from TopTools is protected;        
193     myObjShapes    : MapOfShape          from TopTools is protected; 
194     myMapSIFC      : DataMapOfShapeShape from TopTools is protected;  
195 ----vv    
196     myGenerated    : ListOfShape         from TopTools is protected;
197     --modified by NIZNHY-PKV Mon Jan 24 09:45:10 2005f 
198     myModifiedFaces: DataMapOfShapeListOfShape from TopTools is protected;     
199     --modified by NIZNHY-PKV Mon Jan 24 09:45:14 2005t  
200 ----^^
201 end Splitter;