Salome HOME
Remove useless and dangerous static function declaration
[modules/geom.git] / src / NMTTools / NMTTools_PaveFiller.cdl
1 -- File:        NMTTools_PaveFiller.cdl
2 -- Created:     Fri Dec  5 14:35:00 2003
3 -- Author:      Peter KURNEV
4 --              <pkv@irinox>
5 ---Copyright:    Matra Datavision 2003
6
7
8 class PaveFiller from NMTTools 
9
10         ---Purpose: 
11
12 uses    
13     ListOfInteger from TColStd,
14     Pnt from gp,
15     ShapeEnum  from  TopAbs, 
16     Vertex     from  TopoDS, 
17     Face       from  TopoDS, 
18     
19     Context     from IntTools, 
20     ShrunkRange from IntTools,
21       
22     IndexedDataMapOfShapeInteger from BooleanOperations, 
23     
24     InterferencePool  from BOPTools,
25     PInterferencePool from BOPTools, 
26     PavePool          from BOPTools, 
27     PaveBlock         from BOPTools,
28     ListOfPaveBlock   from BOPTools,
29     SplitShapesPool   from BOPTools, 
30     Pave              from BOPTools, 
31     PaveSet           from BOPTools, 
32     Curve             from BOPTools, 
33     SSInterference    from BOPTools, 
34     
35     IDMapOfPaveBlockIMapOfPaveBlock from BOPTools, 
36     IDMapOfPaveBlockIMapOfInteger   from BOPTools, 
37     SSIntersectionAttribute         from BOPTools, 
38     
39     CommonBlockPool         from NMTTools, 
40     CommonBlock             from NMTTools, 
41     ListOfCommonBlock       from NMTTools,
42     IteratorOfCoupleOfShape from NMTTools,
43     
44     ShapesDataStructure  from NMTDS, 
45     PShapesDataStructure from NMTDS 
46     
47 --raises
48
49 is 
50     Create 
51         returns PaveFiller from NMTTools; 
52       
53     Create(aIP:InterferencePool from BOPTools)
54         returns PaveFiller from NMTTools; 
55      
56     Destroy (me: in out) 
57         is  virtual;    
58     ---C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller(){Destroy();}"
59     -- 
60     --  Selectors/Modifiers
61     SetInterferencePool(me:out; 
62             aIP:InterferencePool from BOPTools);
63     
64     InterfPool(me:out) 
65         returns PInterferencePool from BOPTools; 
66     --   
67     --  Perform the algo  
68     Init       (me:out) 
69         is protected; 
70          
71     Perform    (me:out) 
72         is virtual;   
73          
74     PerformVV  (me:out) 
75         is virtual protected;  
76      
77     PerformVE  (me:out) 
78         is virtual protected; 
79      
80     PerformVF  (me:out) 
81         is virtual protected; 
82
83     PerformEE (me:out) 
84         is virtual protected; 
85       
86     PerformEF (me:out) 
87         is virtual protected; 
88    
89     PerformFF (me:out) 
90         is virtual protected; 
91      
92     MakeSplitEdges(me:out) 
93         is protected;   
94      
95     PreparePaveBlocks (me:out; 
96             aType1: ShapeEnum  from  TopAbs; 
97             aType2: ShapeEnum  from  TopAbs) 
98         is virtual protected; 
99      
100     CorrectShrunkRanges(me:out; 
101             aSide:  Integer  from  Standard; 
102             aPave:  Pave from BOPTools; 
103             aSR  :  out ShrunkRange  from  IntTools)
104         is protected; 
105          
106     PreparePaveBlocks (me:out;   
107             anE:Integer from Standard) 
108         is virtual protected;             
109                        
110     PerformNewVertices  (me:out) 
111         is virtual protected;  
112      
113     PrepareEdges  (me:out) 
114         is virtual protected;  
115      
116     SortTypes      (me;   
117             anInd1:in out Integer from Standard; 
118             anInd2:in out Integer from Standard) 
119         is protected; 
120      
121     ExpectedPoolLength(me) 
122         returns  Integer from Standard 
123         is protected;  
124     --
125     -- Query section 
126     IsDone(me) 
127         returns  Boolean from Standard; 
128
129     DS(me:out) 
130         returns PShapesDataStructure from NMTDS;  
131          
132     Context(me) 
133          returns Context from IntTools; 
134         ---C++:return const &   
135
136     ChangeContext(me:out) 
137          returns Context from IntTools;  
138         ---C++:return & 
139
140     PavePool(me) 
141         returns  PavePool from BOPTools; 
142         ---C++:return const &    
143
144     ChangePavePool(me:out) 
145         returns  PavePool from BOPTools; 
146         ---C++:return & 
147
148     CommonBlockPool(me) 
149         returns  CommonBlockPool from NMTTools; 
150         ---C++:return const &    
151
152     ChangeCommonBlockPool(me:out) 
153         returns  CommonBlockPool from NMTTools; 
154         ---C++:return & 
155
156     SplitShapesPool(me)  
157         returns  SplitShapesPool from BOPTools;
158         ---C++:return const &   
159
160     ChangeSplitShapesPool(me:out)  
161         returns  SplitShapesPool from BOPTools;
162         ---C++:return  &        
163      
164     FindSDVertex (me; 
165                     nV:  Integer  from  Standard) 
166         returns Integer from Standard; 
167
168     IsSuccesstorsComputed (me;  
169             iF1:Integer from  Standard; 
170             iF2:Integer from  Standard) 
171         returns  Boolean from Standard 
172         is protected;  
173
174     IsBlocksCoinside (me; 
175             aPB1:PaveBlock from BOPTools;
176             aPB2:PaveBlock from BOPTools) 
177         returns Boolean from Standard 
178         is protected; 
179      
180     RefinePavePool(me:out) 
181         is protected;  
182
183     CheckFacePaves(me:out;  
184              aV : Vertex  from TopoDS;  
185              nF:  Integer from Standard) 
186         returns Integer from Standard 
187         is protected;  
188          
189     ReplaceCommonBlocks (me:out; 
190             aLCB: ListOfCommonBlock from NMTTools) 
191         is protected; 
192      
193     RemoveCommonBlocks (me:out; 
194             aLCB: ListOfCommonBlock from NMTTools) 
195         is protected;
196      
197     SplitCommonBlocks (me:out; 
198             aLCB: ListOfCommonBlock from NMTTools) 
199         is protected;  
200
201     SplitCommonBlock (me:out; 
202             aCB : CommonBlock from NMTTools; 
203             aLCB: out ListOfCommonBlock from NMTTools) 
204         is protected; 
205
206     EECommonBlocks(me:out; 
207             aM:IDMapOfPaveBlockIMapOfPaveBlock from BOPTools) 
208         is protected; 
209      
210     EFCommonBlocks(me:out;  
211              aMapCB:IDMapOfPaveBlockIMapOfInteger from BOPTools) 
212         is protected;  
213          
214     EENewVertices (me:out;  
215             aM:IndexedDataMapOfShapeInteger from BooleanOperations) 
216         is protected;  
217
218     EENewVertices (me:out;  
219             aV:Vertex from TopoDS;  
220             aM:IndexedDataMapOfShapeInteger from BooleanOperations) 
221         is protected; 
222      
223     EFNewVertices (me:out; 
224             aM:IndexedDataMapOfShapeInteger from BooleanOperations) 
225         is protected; 
226      
227     EFNewVertices (me:out; 
228             aV:Vertex from TopoDS;  
229             aM:IndexedDataMapOfShapeInteger from BooleanOperations) 
230         is protected;   
231          
232     UpdateCommonBlocks(me:out) 
233         is protected;  
234      
235     UpdatePaveBlocks(me:out) 
236         is protected; 
237          
238     SplitIndex(me; 
239             aPB:PaveBlock from BOPTools) 
240         returns Integer from Standard  
241         is protected;                
242          
243     MakeBlocks(me:out) 
244         is protected;   
245
246     -------------------------------------------------------------- 
247     ---   
248     ---  Some API FUNCTIONS  
249     ---                  
250     SplitsInFace(me:out; 
251                  aBid:Integer from Standard;  
252                  nF1 :Integer from Standard;  
253                  nF2 :Integer from Standard;  
254                  aLs :out ListOfInteger from TColStd) 
255         returns Integer from Standard;  
256
257     SplitsInFace(me:out; 
258                  nE1 :Integer from Standard;  
259                  nF2 :Integer from Standard;  
260                  aLs :out ListOfInteger from TColStd) 
261         returns Integer from Standard;  
262         
263     SplitsOnEdge(me:out; 
264                  nE1 :Integer from Standard;  
265                  nE2 :Integer from Standard;  
266                  aLs :out ListOfInteger from TColStd) 
267         returns Integer from Standard;  
268         
269     SplitsOnFace(me:out; 
270                  nE1 :Integer from Standard;  
271                  nF2 :Integer from Standard;  
272                  aLs :out ListOfInteger from TColStd) 
273         returns Integer from Standard;  
274         
275     SplitsOnFace(me:out;  
276                  aBid:Integer from Standard;  
277                  nF1 :Integer from Standard;  
278                  nF2 :Integer from Standard;  
279                  aLs :out ListOfInteger from TColStd) 
280         returns Integer from Standard;  
281         
282     SplitsInFace(me:out; 
283                  aBid:Integer from Standard;  
284                  nF1 :Integer from Standard;  
285                  nF2 :Integer from Standard;  
286                  aLs :out ListOfPaveBlock from BOPTools) 
287         returns Integer from Standard;  
288      
289     SplitsInFace(me:out; 
290                  nE1 :Integer from Standard;  
291                  nF2 :Integer from Standard;  
292                  aLs :out ListOfPaveBlock from BOPTools) 
293         returns Integer from Standard;  
294      
295     SplitsOnEdge(me:out; 
296                  nE1 :Integer from Standard;  
297                  nE2 :Integer from Standard;  
298                  aLs :out ListOfPaveBlock from BOPTools) 
299         returns Integer from Standard;  
300      
301     SplitsOnFace(me:out; 
302                  nE1 :Integer from Standard;  
303                  nF2 :Integer from Standard;  
304                  aLs :out ListOfPaveBlock from BOPTools) 
305         returns Integer from Standard;  
306
307     SplitsOnFace(me:out;  
308                  aBid:Integer from Standard;  
309                  nF1 :Integer from Standard;  
310                  nF2 :Integer from Standard;  
311                  aLs :out ListOfPaveBlock from BOPTools) 
312         returns Integer from Standard;  
313     --
314     SplitsFace  (me:out;  
315                  nF2 :Integer from Standard;  
316                  aLs :out ListOfPaveBlock from BOPTools) 
317         returns Integer from Standard;  
318
319     SplitsFace  (me:out;  
320                  nF2 :Integer from Standard;  
321                  aLs :out ListOfInteger from TColStd) 
322         returns Integer from Standard;  
323
324     CommonBlocksFace (me:out;  
325                  nF  :Integer from Standard;  
326                  aLCB:out ListOfCommonBlock from NMTTools) 
327         returns Integer from Standard;   
328         
329     PrepareFace(me:out;  
330             nF  :  Integer from Standard; 
331             aF  : out Face from TopoDS); 
332      
333     -- 
334     RealPaveBlock(me:out;   
335             aPB:PaveBlock from BOPTools) 
336         returns PaveBlock from BOPTools; 
337     ---C++: return const &       
338     -- 
339     RealSplitsFace  (me:out;  
340                  nF2 :Integer from Standard;  
341                  aLs :out ListOfPaveBlock from BOPTools); 
342          
343     HasRealSplitsInOnFace (me:out; 
344                  nF1 :Integer from Standard;  
345                  nF2 :Integer from Standard) 
346         returns Boolean from Standard; 
347          
348     RealSplitsInFace(me:out; 
349                  aBid:Integer from Standard;  
350                  nF1 :Integer from Standard;  
351                  nF2 :Integer from Standard;  
352                  aLs :out ListOfPaveBlock from BOPTools); 
353      
354     RealSplitsInFace(me:out; 
355                  nE1 :Integer from Standard;  
356                  nF2 :Integer from Standard;  
357                  aLs :out ListOfPaveBlock from BOPTools); 
358      
359     RealSplitsOnEdge(me:out; 
360                  nE1 :Integer from Standard;  
361                  nE2 :Integer from Standard;  
362                  aLs :out ListOfPaveBlock from BOPTools); 
363      
364     RealSplitsOnFace(me:out; 
365                  nE1 :Integer from Standard;  
366                  nF2 :Integer from Standard;  
367                  aLs :out ListOfPaveBlock from BOPTools); 
368
369     RealSplitsOnFace(me:out;  
370                  aBid:Integer from Standard;  
371                  nF1 :Integer from Standard;  
372                  nF2 :Integer from Standard;  
373                  aLs :out ListOfPaveBlock from BOPTools); 
374     --   
375     PrepareSetForFace(me:out;   
376                 nF1 :Integer from Standard;  
377                 nF2 :Integer from Standard;  
378     --modified by NIZNHY-PKV Fri Apr  1 11:19:15 2005f          
379                 aLPB: ListOfPaveBlock from BOPTools;  
380     --modified by NIZNHY-PKV Fri Apr  1 10:54:16 2005t    
381                 aPSF:out PaveSet from BOPTools); 
382                  
383     PutPaveOnCurve(me:out;   
384                 aPSF: PaveSet from BOPTools; 
385                 aTol: Real from Standard;  
386                 aBC : out Curve from BOPTools); 
387          
388     PutBoundPaveOnCurve (me:out; 
389                     aBC :out Curve from BOPTools;        
390                     aFF :out SSInterference from BOPTools); 
391         
392     PutBoundPaveOnCurve (me:out;  
393                     aP  : Pnt from  gp; 
394                     aT  : Real from Standard;                    
395                     aBC :out Curve from BOPTools;        
396                     aFF :out SSInterference from BOPTools); 
397         
398     FindPave            (me:out; 
399                     aP  : Pnt from gp;  
400                     aTpV: Real from Standard;  
401                     aPS : PaveSet from BOPTools; 
402                     aPV :out Pave from BOPTools) 
403         returns Boolean from Standard; 
404          
405     CheckIntermediatePoint(me:out;  
406                     aPB : PaveBlock      from BOPTools;  
407                     aPBR: PaveBlock      from BOPTools;  
408                     aTol: Real  from  Standard) 
409         returns Integer from Standard;  
410                 
411 --    IsExistingPaveBlock (me:out; 
412 --                  aPB : PaveBlock      from BOPTools; 
413 --                  aFF : SSInterference from BOPTools) 
414 --      returns Boolean from Standard;  
415         
416 --modified by NIZNHY-PKV Fri Apr  1 09:35:34 2005f       
417     IsExistingPaveBlock (me:out; 
418                     aPB : PaveBlock       from BOPTools; 
419                     aLPB: ListOfPaveBlock from BOPTools; 
420                     aTol: Real  from  Standard) 
421         returns Boolean from Standard;  
422 --modified by NIZNHY-PKV Fri Apr  1 09:35:39 2005t       
423           
424     MakePCurves (me:out); 
425      
426 fields 
427     myIntrPool         :  PInterferencePool from BOPTools       is protected; 
428     myDS               :  PShapesDataStructure from NMTDS       is protected;   
429     myIsDone           :  Boolean from Standard                 is protected; 
430     myNbSources        :  Integer from Standard                 is protected;  
431     myNbEdges          :  Integer from Standard                 is protected;      
432     myDSIt             :  IteratorOfCoupleOfShape from NMTTools is protected;
433     -- 
434     myPavePool         :  PavePool from BOPTools                is protected;     
435     myPavePoolNew      :  PavePool from BOPTools                is protected;  
436     myCommonBlockPool  :  CommonBlockPool from NMTTools         is protected;  
437     mySplitShapesPool  :  SplitShapesPool from BOPTools         is protected;    
438     -- 
439     myContext          :  Context from IntTools                 is protected; 
440     mySectionAttribute :  SSIntersectionAttribute from BOPTools is protected;
441 end PaveFiller;