Salome HOME
Update mail address
[modules/geom.git] / src / NMTTools / NMTTools_DEProcessor.cdl
1 // Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
3 // 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either 
7 // version 2.1 of the License.
8 // 
9 // This library is distributed in the hope that it will be useful 
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 // Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public  
15 // License along with this library; if not, write to the Free Software 
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 //
18 -- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 //
20 -- File:        NMTTools_DEProcessor.cdl
21 -- Created:     Wed Sep 12 12:08:37 2001
22 -- Author:      Peter KURNEV
23 --              <pkv@irinox>
24 ---Copyright:    Matra Datavision 2001
25
26
27 class DEProcessor from NMTTools 
28
29         ---Purpose:  
30         --   
31         --  The  Algorithm to compute and store in interferences' pool 
32         --- and in the Data  Structure  the following values        
33         --- for degenerated edges 
34         ---         1.  Paves/Pave set(s)
35         ---         2.  Split parts 
36         ---         3.  States (3D) for split parts 
37         --- 
38         
39 uses  
40
41     Vertex from TopoDS,
42     Edge   from TopoDS, 
43     Face   from TopoDS, 
44      
45     PPaveFiller     from NMTTools, 
46     PaveFiller      from NMTTools, 
47     --PDSFiller       from NMTTools,   
48     ListOfPaveBlock from BOPTools,
49     PShapesDataStructure from NMTDS, 
50     IndexedDataMapOfIntegerDEInfo from BOPTools   
51
52
53 is
54     --Create (aFiller:out PDSFiller from NMTTools) 
55     --  returns  DEProcessor from NMTTools; 
56         ---Purpose:  
57         --- Constructor 
58         --- 
59     Create (aFiller:out PaveFiller from NMTTools) 
60         returns  DEProcessor from NMTTools; 
61         ---Purpose:  
62         --- Constructor 
63         ---     
64     Do(me:out);   
65         ---Purpose: 
66         --- Launches the processor   
67         ---
68     IsDone(me) 
69         returns Boolean from Standard; 
70         ---Purpose:  
71         --- Returns TRUE if it is Ok       
72         ---
73     --- 
74     ---    Private block 
75     ---
76     ---
77     FindDegeneratedEdges (me:out) 
78         is  protected; 
79         
80     DoPaves  (me:out) 
81         is  protected; 
82          
83     FindPaveBlocks (me:out; 
84             nED:Integer from Standard; 
85             nVD:Integer from Standard; 
86             nFD:Integer from Standard; 
87             aLPB:out ListOfPaveBlock from BOPTools) 
88         is  protected; 
89      
90     FillPaveSet (me:out; 
91             nED:Integer from Standard; 
92             nVD:Integer from Standard; 
93             nFD:Integer from Standard; 
94             aLPB: ListOfPaveBlock from BOPTools) 
95         is  protected; 
96
97     FillSplitEdgesPool(me:out; 
98             nED:Integer from Standard)
99         is  protected; 
100   
101     MakeSplitEdges(me:out; 
102             nED:Integer from Standard;
103             nFD:Integer from Standard)
104         is  protected;   
105          
106     MakeSplitEdge  (me:out;   
107                     aS1: Edge from TopoDS; 
108                     aF : Face from TopoDS;           
109                     aV1: Vertex from TopoDS;         
110                     aP1: Real from Standard; 
111                     aV2: Vertex from TopoDS; 
112                     aP2: Real from Standard; 
113                     aNewEdge:out Edge from TopoDS) 
114         is protected;           
115      
116 fields 
117         
118     --myDSFiller: PDSFiller   from NMTTools is protected;
119     myFiller  : PPaveFiller from NMTTools is protected; 
120     myDS      : PShapesDataStructure from NMTDS is protected;
121     myIsDone  : Boolean   from Standard is protected;   
122     myDEMap   : IndexedDataMapOfIntegerDEInfo from BOPTools is protected; 
123              
124 end DEProcessor;