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