Salome HOME
rnc : added code depending on an environmebnt variable to test parallel visualisation...
[modules/geom.git] / src / NMTTools / NMTTools_PaveFiller.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:        NMTTools_PaveFiller.cdl
23 -- Created:     Fri Dec  5 14:35:00 2003
24 -- Author:      Peter KURNEV
25 --              <pkv@irinox>
26 --
27 class PaveFiller from NMTTools 
28
29         ---Purpose: 
30
31 uses   
32     DataMapOfIntegerInteger from TColStd, 
33     ListOfInteger from TColStd,  
34     MapOfInteger from TColStd,  
35      
36     Pnt from gp,
37     ShapeEnum  from  TopAbs, 
38     Vertex     from  TopoDS, 
39     Face       from  TopoDS,  
40     Shape      from TopoDS, 
41     Edge       from  TopoDS, 
42     ListOfShape from TopTools,  
43     DataMapOfShapeShape from TopTools,
44         
45     Context     from IntTools, 
46     ShrunkRange from IntTools,
47     
48     IndexedDataMapOfShapeInteger from BooleanOperations, 
49
50     PavePool          from BOPTools, 
51     PaveBlock         from BOPTools,
52     ListOfPaveBlock   from BOPTools,
53     SplitShapesPool   from BOPTools, 
54     Pave              from BOPTools, 
55     PaveSet           from BOPTools, 
56     Curve             from BOPTools, 
57     SSInterference    from BOPTools, 
58     IDMapOfPaveBlockIMapOfPaveBlock from BOPTools, 
59     IDMapOfPaveBlockIMapOfInteger   from BOPTools, 
60     SSIntersectionAttribute         from BOPTools,  
61     
62     ShapesDataStructure  from NMTDS,  
63     PShapesDataStructure from NMTDS, 
64     Iterator             from NMTDS,  
65     PIterator from NMTDS, 
66     PInterfPool from NMTDS, 
67     
68     CommonBlockPool         from NMTTools, 
69     CommonBlock             from NMTTools, 
70     ListOfCommonBlock       from NMTTools, 
71     DataMapOfIntegerFaceInfo from NMTTools,
72     IndexedDataMapOfIndexedMapOfInteger from NMTTools  
73
74 --raises
75
76 is 
77     Create 
78         returns PaveFiller from NMTTools;  
79     ---C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller();"
80       
81   
82      
83     SetCompositeShape (me:out;  
84             aS:  Shape from TopoDS);  
85      
86     CompositeShape(me) 
87         returns  Shape from TopoDS; 
88         ---C++:  return  const&  
89         
90              
91     DS(me:out) 
92         returns PShapesDataStructure from NMTDS;  
93  
94     DSIt(me:out) 
95         returns PIterator from NMTDS; 
96      
97     IP(me:out)  
98         returns PInterfPool from NMTDS; 
99     --   
100     Init       (me:out) 
101         is virtual  protected; 
102          
103     Clear   (me:out) 
104         is virtual  protected;
105
106     Perform    (me:out) 
107         is virtual;   
108          
109     PerformVV  (me:out) 
110         is virtual protected;  
111      
112     PerformVE  (me:out) 
113         is virtual protected; 
114      
115     PerformVF  (me:out) 
116         is virtual protected; 
117
118     PerformEE (me:out) 
119         is virtual protected; 
120       
121     PerformEF (me:out) 
122         is virtual protected; 
123    
124     PerformFF (me:out) 
125         is virtual protected; 
126      
127     MakeSplitEdges(me:out) 
128         is protected;   
129      
130     PreparePaveBlocks (me:out; 
131             aType1: ShapeEnum  from  TopAbs; 
132             aType2: ShapeEnum  from  TopAbs) 
133         is virtual protected; 
134      
135     CorrectShrunkRanges(me:out; 
136             aSide:  Integer  from  Standard; 
137             aPave:  Pave from BOPTools; 
138             aSR  :  out ShrunkRange  from  IntTools)
139         is protected; 
140          
141     PreparePaveBlocks (me:out;   
142             anE:Integer from Standard) 
143         is virtual protected;             
144         
145      
146     PrepareEdges  (me:out) 
147         is virtual protected;  
148      
149     --
150     -- Query section 
151     IsDone(me) 
152         returns  Boolean from Standard; 
153
154     Context(me) 
155          returns Context from IntTools; 
156         ---C++:return const &   
157
158     ChangeContext(me:out) 
159          returns Context from IntTools;  
160         ---C++:return & 
161
162     PavePool(me) 
163         returns  PavePool from BOPTools; 
164         ---C++:return const &    
165
166     ChangePavePool(me:out) 
167         returns  PavePool from BOPTools; 
168         ---C++:return & 
169
170     CommonBlockPool(me) 
171         returns  CommonBlockPool from NMTTools; 
172         ---C++:return const &    
173
174     ChangeCommonBlockPool(me:out) 
175         returns  CommonBlockPool from NMTTools; 
176         ---C++:return & 
177
178     SplitShapesPool(me)  
179         returns  SplitShapesPool from BOPTools;
180         ---C++:return const &   
181
182     ChangeSplitShapesPool(me:out)  
183         returns  SplitShapesPool from BOPTools;
184         ---C++:return  &        
185      
186     FindSDVertex (me; 
187                     nV:  Integer  from  Standard) 
188         returns Integer from Standard; 
189
190     IsSuccessorsComputed (me;  
191             iF1:Integer from  Standard; 
192             iF2:Integer from  Standard) 
193         returns  Boolean from Standard 
194         is protected;  
195
196     IsBlocksCoinside (me; 
197             aPB1:PaveBlock from BOPTools;
198             aPB2:PaveBlock from BOPTools) 
199         returns Boolean from Standard 
200         is protected; 
201      
202     RefinePavePool(me:out) 
203         is protected;  
204
205     CheckFacePaves(me:out;  
206              aV : Vertex  from TopoDS;  
207              nF:  Integer from Standard) 
208         returns Integer from Standard 
209         is protected;  
210          
211     ReplaceCommonBlocks (me:out; 
212             aLCB: ListOfCommonBlock from NMTTools) 
213         is protected; 
214      
215     RemoveCommonBlocks (me:out; 
216             aLCB: ListOfCommonBlock from NMTTools) 
217         is protected;
218      
219     SplitCommonBlocks (me:out; 
220             aLCB: ListOfCommonBlock from NMTTools) 
221         is protected;  
222
223     SplitCommonBlock (me:out; 
224             aCB : CommonBlock from NMTTools; 
225             aLCB: out ListOfCommonBlock from NMTTools) 
226         is protected; 
227
228     EECommonBlocks(me:out; 
229             aM:IDMapOfPaveBlockIMapOfPaveBlock from BOPTools) 
230         is protected; 
231      
232     EFCommonBlocks(me:out;  
233              aMapCB:IDMapOfPaveBlockIMapOfInteger from BOPTools) 
234         is protected;  
235          
236     EENewVertices (me:out;  
237             aM:IndexedDataMapOfShapeInteger from BooleanOperations) 
238         is protected;  
239
240     EENewVertices (me:out;  
241             aV:Vertex from TopoDS;  
242             aM:IndexedDataMapOfShapeInteger from BooleanOperations) 
243         is protected; 
244      
245     EFNewVertices (me:out; 
246             aM:IndexedDataMapOfShapeInteger from BooleanOperations) 
247         is protected; 
248      
249     EFNewVertices (me:out; 
250             aV:Vertex from TopoDS;  
251             aM:IndexedDataMapOfShapeInteger from BooleanOperations) 
252         is protected;   
253          
254     UpdateCommonBlocks(me:out) 
255         is protected;  
256      
257     UpdatePaveBlocks(me:out) 
258         is protected; 
259          
260     SplitIndex(me; 
261             aPB:PaveBlock from BOPTools) 
262         returns Integer from Standard  
263         is protected;                
264          
265     MakeBlocks(me:out) 
266         is protected;   
267
268     -------------------------------------------------------------- 
269     ---   
270     ---  Some API FUNCTIONS  
271     ---                  
272     SplitsInFace(me:out; 
273                  aBid:Integer from Standard;  
274                  nF1 :Integer from Standard;  
275                  nF2 :Integer from Standard;  
276                  aLs :out ListOfInteger from TColStd) 
277         returns Integer from Standard;  
278
279     SplitsInFace(me:out; 
280                  nE1 :Integer from Standard;  
281                  nF2 :Integer from Standard;  
282                  aLs :out ListOfInteger from TColStd) 
283         returns Integer from Standard;  
284         
285     SplitsOnEdge(me:out; 
286                  nE1 :Integer from Standard;  
287                  nE2 :Integer from Standard;  
288                  aLs :out ListOfInteger from TColStd) 
289         returns Integer from Standard;  
290         
291     SplitsOnFace(me:out; 
292                  nE1 :Integer from Standard;  
293                  nF2 :Integer from Standard;  
294                  aLs :out ListOfInteger from TColStd) 
295         returns Integer from Standard;  
296         
297     SplitsOnFace(me:out;  
298                  aBid:Integer from Standard;  
299                  nF1 :Integer from Standard;  
300                  nF2 :Integer from Standard;  
301                  aLs :out ListOfInteger from TColStd) 
302         returns Integer from Standard;  
303         
304     SplitsInFace(me:out; 
305                  aBid:Integer from Standard;  
306                  nF1 :Integer from Standard;  
307                  nF2 :Integer from Standard;  
308                  aLs :out ListOfPaveBlock from BOPTools) 
309         returns Integer from Standard;  
310      
311     SplitsInFace(me:out; 
312                  nE1 :Integer from Standard;  
313                  nF2 :Integer from Standard;  
314                  aLs :out ListOfPaveBlock from BOPTools) 
315         returns Integer from Standard;  
316      
317     SplitsOnEdge(me:out; 
318                  nE1 :Integer from Standard;  
319                  nE2 :Integer from Standard;  
320                  aLs :out ListOfPaveBlock from BOPTools) 
321         returns Integer from Standard;  
322      
323     SplitsOnFace(me:out; 
324                  nE1 :Integer from Standard;  
325                  nF2 :Integer from Standard;  
326                  aLs :out ListOfPaveBlock from BOPTools) 
327         returns Integer from Standard;  
328
329     SplitsOnFace(me:out;  
330                  aBid:Integer from Standard;  
331                  nF1 :Integer from Standard;  
332                  nF2 :Integer from Standard;  
333                  aLs :out ListOfPaveBlock from BOPTools) 
334         returns Integer from Standard;  
335     --
336     SplitsFace  (me:out;  
337                  nF2 :Integer from Standard;  
338                  aLs :out ListOfPaveBlock from BOPTools) 
339         returns Integer from Standard;  
340
341     SplitsFace  (me:out;  
342                  nF2 :Integer from Standard;  
343                  aLs :out ListOfInteger from TColStd) 
344         returns Integer from Standard;  
345
346     CommonBlocksFace (me:out;  
347                  nF  :Integer from Standard;  
348                  aLCB:out ListOfCommonBlock from NMTTools) 
349         returns Integer from Standard;   
350         
351     PrepareFace(me:out;  
352             nF  :  Integer from Standard; 
353             aF  : out Face from TopoDS); 
354      
355     -- 
356     RealPaveBlock(me:out;   
357             aPB:PaveBlock from BOPTools) 
358         returns PaveBlock from BOPTools; 
359     ---C++: return const &         
360     
361     RealPaveBlock(me:out;   
362             aPB:PaveBlock from BOPTools; 
363             aLB:out ListOfInteger from TColStd; 
364             aIsCommonBlock:out  Integer from Standard) 
365         returns PaveBlock from BOPTools; 
366     ---C++: return const &       
367      
368     RealSplitsFace  (me:out;  
369                  nF2 :Integer from Standard;  
370                  aLs :out ListOfPaveBlock from BOPTools); 
371          
372     HasRealSplitsInOnFace (me:out; 
373                  nF1 :Integer from Standard;  
374                  nF2 :Integer from Standard) 
375         returns Boolean from Standard; 
376          
377     RealSplitsInFace(me:out; 
378                  aBid:Integer from Standard;  
379                  nF1 :Integer from Standard;  
380                  nF2 :Integer from Standard;  
381                  aLs :out ListOfPaveBlock from BOPTools); 
382      
383     RealSplitsInFace(me:out; 
384                  nE1 :Integer from Standard;  
385                  nF2 :Integer from Standard;  
386                  aLs :out ListOfPaveBlock from BOPTools); 
387      
388     RealSplitsOnEdge(me:out; 
389                  nE1 :Integer from Standard;  
390                  nE2 :Integer from Standard;  
391                  aLs :out ListOfPaveBlock from BOPTools); 
392      
393     RealSplitsOnFace(me:out; 
394                  nE1 :Integer from Standard;  
395                  nF2 :Integer from Standard;  
396                  aLs :out ListOfPaveBlock from BOPTools); 
397
398     RealSplitsOnFace(me:out;  
399                  aBid:Integer from Standard;  
400                  nF1 :Integer from Standard;  
401                  nF2 :Integer from Standard;  
402                  aLs :out ListOfPaveBlock from BOPTools); 
403                   
404     PrepareSetForFace(me:out;   
405                 nF1 :Integer from Standard;  
406                 nF2 :Integer from Standard;  
407                 aLPB: ListOfPaveBlock from BOPTools;  
408                 aPSF:out PaveSet from BOPTools); 
409      
410     PutPaveOnCurve(me:out;   
411                 aPSF: PaveSet from BOPTools;  
412                 aTol: Real from Standard;  
413                 aBC : out Curve from BOPTools);  
414                 
415
416  
417     PutBoundPaveOnCurve (me:out; 
418                     aBC :out Curve from BOPTools;        
419                     aFF :out SSInterference from BOPTools); 
420         
421     PutBoundPaveOnCurve (me:out;  
422                     aP  : Pnt from  gp; 
423                     aT  : Real from Standard;                    
424                     aBC :out Curve from BOPTools;        
425                     aFF :out SSInterference from BOPTools); 
426         
427     FindPave            (me:out; 
428                     aP  : Pnt from gp;  
429                     aTpV: Real from Standard;  
430                     aPS : PaveSet from BOPTools; 
431                     aPV :out Pave from BOPTools) 
432         returns Boolean from Standard; 
433          
434     CheckIntermediatePoint(me:out;  
435                     aPB : PaveBlock      from BOPTools;  
436                     aPBR: PaveBlock      from BOPTools;  
437                     aTol: Real  from  Standard) 
438         returns Integer from Standard;  
439                 
440
441     IsExistingPaveBlock (me:out; 
442                     aPB : PaveBlock       from BOPTools; 
443                     aLPB: ListOfPaveBlock from BOPTools; 
444                     aTol: Real  from  Standard) 
445         returns Boolean from Standard;  
446           
447     MakePCurves (me:out); 
448      
449     PerformVF1(me:out) 
450         is protected;  
451          
452     MakeAloneVertices(me:out) 
453         is protected;   
454          
455     AloneVertices(me)  
456         returns IndexedDataMapOfIndexedMapOfInteger from NMTTools; 
457     ---C++: return const & 
458      
459     IsExistingPaveBlock (me:out; 
460                     aPB : PaveBlock   from BOPTools; 
461                     aLPB: ListOfShape from TopTools; 
462                     aTol: Real  from  Standard) 
463         returns Boolean from Standard;  
464
465     --
466     CheckCoincidence (me:out; 
467                     aPB : PaveBlock   from BOPTools; 
468                     aLPB: ListOfPaveBlock from BOPTools) 
469         returns Boolean from Standard;  
470     -- 
471      
472     CheckIntermediatePoint(me:out;  
473                     aPB : PaveBlock      from BOPTools;  
474                     aE  : Edge from TopoDS;  
475                     aTol: Real  from  Standard) 
476         returns Integer from Standard;   
477
478     SharedEdges(me:out;  
479                  nF1  :Integer from Standard;  
480                  nF2  :Integer from Standard;  
481                  aLNE :out ListOfInteger from TColStd; 
482                  aLSE :out ListOfShape   from TopTools); 
483
484     FuseVertices(me; 
485         aC:Shape from TopoDS; 
486         aDMVV:  out  DataMapOfShapeShape from TopTools);  
487     --
488     TreatPaveBlocks(me:out; 
489             theLCB:out ListOfCommonBlock from NMTTools); 
490              
491     ChangePavePoolNew(me:out) 
492         returns PavePool from BOPTools; 
493     ---C++:return &  
494
495     CheckCoincidence (me:out; 
496                     aPB1 : PaveBlock   from BOPTools; 
497                     aPB2 : PaveBlock   from BOPTools) 
498         returns Boolean from Standard;     
499         
500     FillFaceInfo (me:out) 
501         is protected;
502  
503     CorrectTolR3D(me:out;   
504                 aFF     : SSInterference from BOPTools;  
505                 aMVStick: MapOfInteger from TColStd; 
506                 aTolR3D:  out Real from Standard) 
507         is protected;  
508          
509 --modified by NIZNHY-PKV Thu Sep 15 08:15:08 2011f 
510     PutClosingPaveOnCurve (me:out; 
511                     aBC :out Curve from BOPTools;        
512                     aFF :out SSInterference from BOPTools); 
513  --modified by NIZNHY-PKV Thu Sep 15 08:15:12 2011t 
514  
515 fields 
516     myDS               :  PShapesDataStructure from NMTDS       is protected;   
517     myIsDone           :  Boolean from Standard                 is protected; 
518     myNbSources        :  Integer from Standard                 is protected;  
519     myNbEdges          :  Integer from Standard                 is protected;  
520
521     myPavePool         :  PavePool from BOPTools                is protected;     
522     myPavePoolNew      :  PavePool from BOPTools                is protected;  
523     myCommonBlockPool  :  CommonBlockPool from NMTTools         is protected;  
524     mySplitShapesPool  :  SplitShapesPool from BOPTools         is protected;    
525     -- 
526     myContext          :  Context from IntTools                 is protected; 
527     mySectionAttribute :  SSIntersectionAttribute from BOPTools is protected; 
528     myAloneVertices    :  IndexedDataMapOfIndexedMapOfInteger from NMTTools is protected;   
529     --
530     myVSD              :  DataMapOfIntegerInteger from TColStd is protected; 
531     myDSIt             :  PIterator from NMTDS is protected;  
532     myCompositeShape   :  Shape from TopoDS is protected;
533     myIP               :  PInterfPool from NMTDS is protected;     
534 --modified by NIZNHY-PKV Wed Feb 09 10:51:50 2011f 
535     myFaceInfo         :  DataMapOfIntegerFaceInfo from NMTTools is protected;
536 --modified by NIZNHY-PKV Wed Feb 09 10:51:50 2011t
537 end PaveFiller;