Salome HOME
Added help page and revert some changes for a better ergonomy
[modules/geom.git] / src / NMTTools / NMTTools_DEProcessor.cdl
1 -- Copyright (C) 2007-2011  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
23 -- File:        NMTTools_DEProcessor.cdl
24 -- Created:     Wed Sep 12 12:08:37 2001
25 -- Author:      Peter KURNEV
26 --              <pkv@irinox>
27 --
28 class DEProcessor from NMTTools 
29
30         ---Purpose:  
31         --   
32         --  The  Algorithm to compute and store in interferences' pool 
33         --- and in the Data  Structure  the following values        
34         --- for degenerated edges 
35         ---         1.  Paves/Pave set(s)
36         ---         2.  Split parts 
37         ---         3.  States (3D) for split parts 
38         --- 
39         
40 uses  
41
42     Vertex from TopoDS,
43     Edge   from TopoDS, 
44     Face   from TopoDS, 
45      
46     PPaveFiller     from NMTTools, 
47     PaveFiller      from NMTTools, 
48     --PDSFiller       from NMTTools,   
49     ListOfPaveBlock from BOPTools,
50     PShapesDataStructure from NMTDS, 
51     IndexedDataMapOfIntegerDEInfo from BOPTools   
52
53
54 is
55     --Create (aFiller:out PDSFiller from NMTTools) 
56     --  returns  DEProcessor from NMTTools; 
57         ---Purpose:  
58         --- Constructor 
59         --- 
60     Create (aFiller:out PaveFiller from NMTTools) 
61         returns  DEProcessor from NMTTools; 
62         ---Purpose:  
63         --- Constructor 
64         ---     
65     Do(me:out);   
66         ---Purpose: 
67         --- Launches the processor   
68         ---
69     IsDone(me) 
70         returns Boolean from Standard; 
71         ---Purpose:  
72         --- Returns TRUE if it is Ok       
73         ---
74     --- 
75     ---    Private block 
76     ---
77     ---
78     FindDegeneratedEdges (me:out) 
79         is  protected; 
80         
81     DoPaves  (me:out) 
82         is  protected; 
83          
84     FindPaveBlocks (me:out; 
85             nED:Integer from Standard; 
86             nVD:Integer from Standard; 
87             nFD:Integer from Standard; 
88             aLPB:out ListOfPaveBlock from BOPTools) 
89         is  protected; 
90      
91     FillPaveSet (me:out; 
92             nED:Integer from Standard; 
93             nVD:Integer from Standard; 
94             nFD:Integer from Standard; 
95             aLPB: ListOfPaveBlock from BOPTools) 
96         is  protected; 
97
98     FillSplitEdgesPool(me:out; 
99             nED:Integer from Standard)
100         is  protected; 
101   
102     MakeSplitEdges(me:out; 
103             nED:Integer from Standard;
104             nFD:Integer from Standard)
105         is  protected;   
106          
107     MakeSplitEdge  (me:out;   
108                     aS1: Edge from TopoDS; 
109                     aF : Face from TopoDS;           
110                     aV1: Vertex from TopoDS;         
111                     aP1: Real from Standard; 
112                     aV2: Vertex from TopoDS; 
113                     aP2: Real from Standard; 
114                     aNewEdge:out Edge from TopoDS) 
115         is protected;           
116      
117 fields 
118         
119     --myDSFiller: PDSFiller   from NMTTools is protected;
120     myFiller  : PPaveFiller from NMTTools is protected; 
121     myDS      : PShapesDataStructure from NMTDS is protected;
122     myIsDone  : Boolean   from Standard is protected;   
123     myDEMap   : IndexedDataMapOfIntegerDEInfo from BOPTools is protected; 
124              
125 end DEProcessor;