summaryrefslogtreecommitdiff
path: root/src/BOPTools/BOPTools_DEProcessor.cdl
blob: d27d21af671c4dde6bce9cca00300c685f6d7961 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
-- File:	BOPTools_DEProcessor.cdl
-- Created:	Wed Sep 12 12:08:37 2001
-- Author:	Peter KURNEV
--		<pkv@irinox>
---Copyright:	 Matra Datavision 2001


class DEProcessor from BOPTools 

	---Purpose:  
    	--   
    	--  The  Algorithm to compute and store in interferences' pool 
	--- and in the Data  Structure  the following values        
    	--- for degenerated edges 
	---         1.  Paves/Pave set(s)
	---         2.  Split parts 
	---         3.  States (3D) for split parts 
        --- 
	
uses  

    Vertex from TopoDS,
    Edge   from TopoDS, 
    Face   from TopoDS, 
     
    PPaveFiller     from BOPTools, 
    PaveFiller      from BOPTools,   
    ListOfPaveBlock from BOPTools,
     
    PShapesDataStructure from BooleanOperations, 
    
    IndexedDataMapOfIntegerDEInfo from BOPTools	  



is
    Create (aFiller: PaveFiller from BOPTools; 
    	    aDim  : Integer from Standard=3) 
    	returns  DEProcessor from BOPTools; 
    	---Purpose:  
    	--- Constructor 
    	---
    Do(me:out);   
    	---Purpose: 
    	--- Launches the processor   
    	---
    IsDone(me) 
    	returns Boolean from Standard; 
    	---Purpose:  
    	--- Returns TRUE if it is Ok       
    	---
    --- 
    ---    Private block 
    ---
    ---
    FindDegeneratedEdges (me:out) 
    	is  private; 
	
    DoPaves  (me:out) 
    	is  private; 
	 
    FindPaveBlocks (me:out; 
    	    nED:Integer from Standard; 
    	    nVD:Integer from Standard; 
    	    nFD:Integer from Standard; 
    	    aLPB:out ListOfPaveBlock from BOPTools) 
    	is  private; 
     
    FillPaveSet (me:out; 
    	    nED:Integer from Standard; 
    	    nVD:Integer from Standard; 
    	    nFD:Integer from Standard; 
    	    aLPB:out ListOfPaveBlock from BOPTools) 
    	is  private; 

    FillSplitEdgesPool(me:out; 
    	    nED:Integer from Standard)
    	is  private; 
  
    MakeSplitEdges(me:out; 
    	    nED:Integer from Standard;
    	    nFD:Integer from Standard)
    	is  private;   
	 
    MakeSplitEdge  (me:out;   
        	    aS1: Edge from TopoDS; 
		    aF : Face from TopoDS;	     
		    aV1: Vertex from TopoDS;	     
   	    	    aP1: Real from Standard; 
    	    	    aV2: Vertex from TopoDS; 
		    aP2: Real from Standard; 
    	    	    aNewEdge:out Edge from TopoDS) 
    	is  private; 		
     
    DoStates  (me:out; 
    	    nED:Integer from Standard;
    	    nFD:Integer from Standard)
    	is  private;    
	 
    DoStates2D  (me:out; 
    	    nED:Integer from Standard;
    	    nFD:Integer from Standard)
    	is  private; 
	 
fields 
    myDim     : Integer from Standard;     
    
    myFiller  : PPaveFiller from BOPTools; 
    myDS      : PShapesDataStructure from BooleanOperations;
    myIsDone  : Boolean   from Standard;   
    myDEMap   : IndexedDataMapOfIntegerDEInfo from BOPTools; 
       
	     
end DEProcessor;