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