Salome HOME
Merge with version on tag OCC-V2_1_0d
[modules/geom.git] / src / NMTTools / NMTTools_DEProcessor.cdl
1 -- File:        NMTTools_DEProcessor.cdl
2 -- Created:     Wed Sep 12 12:08:37 2001
3 -- Author:      Peter KURNEV
4 --              <pkv@irinox>
5 ---Copyright:    Matra Datavision 2001
6
7
8 class DEProcessor from NMTTools 
9
10         ---Purpose:  
11         --   
12         --  The  Algorithm to compute and store in interferences' pool 
13         --- and in the Data  Structure  the following values        
14         --- for degenerated edges 
15         ---         1.  Paves/Pave set(s)
16         ---         2.  Split parts 
17         ---         3.  States (3D) for split parts 
18         --- 
19         
20 uses  
21
22     Vertex from TopoDS,
23     Edge   from TopoDS, 
24     Face   from TopoDS, 
25      
26     PPaveFiller     from NMTTools, 
27     PaveFiller      from NMTTools, 
28     --PDSFiller       from NMTTools,   
29     ListOfPaveBlock from BOPTools,
30     PShapesDataStructure from NMTDS, 
31     IndexedDataMapOfIntegerDEInfo from BOPTools   
32
33
34 is
35     --Create (aFiller:out PDSFiller from NMTTools) 
36     --  returns  DEProcessor from NMTTools; 
37         ---Purpose:  
38         --- Constructor 
39         --- 
40     Create (aFiller:out PaveFiller from NMTTools) 
41         returns  DEProcessor from NMTTools; 
42         ---Purpose:  
43         --- Constructor 
44         ---     
45     Do(me:out);   
46         ---Purpose: 
47         --- Launches the processor   
48         ---
49     IsDone(me) 
50         returns Boolean from Standard; 
51         ---Purpose:  
52         --- Returns TRUE if it is Ok       
53         ---
54     --- 
55     ---    Private block 
56     ---
57     ---
58     FindDegeneratedEdges (me:out) 
59         is  protected; 
60         
61     DoPaves  (me:out) 
62         is  protected; 
63          
64     FindPaveBlocks (me:out; 
65             nED:Integer from Standard; 
66             nVD:Integer from Standard; 
67             nFD:Integer from Standard; 
68             aLPB:out ListOfPaveBlock from BOPTools) 
69         is  protected; 
70      
71     FillPaveSet (me:out; 
72             nED:Integer from Standard; 
73             nVD:Integer from Standard; 
74             nFD:Integer from Standard; 
75             aLPB: ListOfPaveBlock from BOPTools) 
76         is  protected; 
77
78     FillSplitEdgesPool(me:out; 
79             nED:Integer from Standard)
80         is  protected; 
81   
82     MakeSplitEdges(me:out; 
83             nED:Integer from Standard;
84             nFD:Integer from Standard)
85         is  protected;   
86          
87     MakeSplitEdge  (me:out;   
88                     aS1: Edge from TopoDS; 
89                     aF : Face from TopoDS;           
90                     aV1: Vertex from TopoDS;         
91                     aP1: Real from Standard; 
92                     aV2: Vertex from TopoDS; 
93                     aP2: Real from Standard; 
94                     aNewEdge:out Edge from TopoDS) 
95         is protected;           
96      
97 fields 
98         
99     --myDSFiller: PDSFiller   from NMTTools is protected;
100     myFiller  : PPaveFiller from NMTTools is protected; 
101     myDS      : PShapesDataStructure from NMTDS is protected;
102     myIsDone  : Boolean   from Standard is protected;   
103     myDEMap   : IndexedDataMapOfIntegerDEInfo from BOPTools is protected; 
104              
105 end DEProcessor;