]> SALOME platform Git repositories - modules/geom.git/blob - src/NMTTools/NMTTools_PaveFiller.cdl
Salome HOME
PAL7441. Pb with MakePartition. Fix done by PKV.
[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                 aPSF:out PaveSet from BOPTools); 
379                  
380     PutPaveOnCurve(me:out;   
381                 aPSF: PaveSet from BOPTools; 
382                 aTol: Real from Standard;  
383                 aBC : out Curve from BOPTools); 
384          
385     PutBoundPaveOnCurve (me:out; 
386                     aBC :out Curve from BOPTools;        
387                     aFF :out SSInterference from BOPTools); 
388         
389     PutBoundPaveOnCurve (me:out;  
390                     aP  : Pnt from  gp; 
391                     aT  : Real from Standard;                    
392                     aBC :out Curve from BOPTools;        
393                     aFF :out SSInterference from BOPTools); 
394         
395     FindPave            (me:out; 
396                     aP  : Pnt from gp;  
397                     aTpV: Real from Standard;  
398                     aPS : PaveSet from BOPTools; 
399                     aPV :out Pave from BOPTools) 
400         returns Boolean from Standard; 
401          
402     CheckIntermediatePoint(me:out;  
403                     aPB : PaveBlock      from BOPTools;  
404                     aPBR: PaveBlock      from BOPTools;  
405                     aTol: Real  from  Standard) 
406         returns Integer from Standard;  
407                 
408     IsExistingPaveBlock (me:out; 
409                     aPB : PaveBlock      from BOPTools; 
410                     aFF : SSInterference from BOPTools) 
411         returns Boolean from Standard;  
412          
413     MakePCurves (me:out); 
414      
415 fields 
416     myIntrPool         :  PInterferencePool from BOPTools       is protected; 
417     myDS               :  PShapesDataStructure from NMTDS       is protected;   
418     myIsDone           :  Boolean from Standard                 is protected; 
419     myNbSources        :  Integer from Standard                 is protected;  
420     myNbEdges          :  Integer from Standard                 is protected;      
421     myDSIt             :  IteratorOfCoupleOfShape from NMTTools is protected;
422     -- 
423     myPavePool         :  PavePool from BOPTools                is protected;     
424     myPavePoolNew      :  PavePool from BOPTools                is protected;  
425     myCommonBlockPool  :  CommonBlockPool from NMTTools         is protected;  
426     mySplitShapesPool  :  SplitShapesPool from BOPTools         is protected;    
427     -- 
428     myContext          :  Context from IntTools                 is protected; 
429     mySectionAttribute :  SSIntersectionAttribute from BOPTools is protected;
430 end PaveFiller;