summaryrefslogtreecommitdiff
path: root/src/BOP/BOP_SolidBuilder.cdl
blob: dc2a1c293709559794108384c84eb8f14c675f5f (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
-- File:	BOP_SolidBuilder.cdl
-- Created:	Mon Jun 25 10:22:32 2001
-- Author:	Michael KLOKOV
--		<mkk@kurox>
---Copyright:	 Matra Datavision 2001

class SolidBuilder from BOP
     
    ---Purpose: 
    ---   Construct Solids from a Shell Faces  Set (SFS)
    ---
uses

    Shell            from TopoDS,
    Face             from TopoDS,
    ShapeSet         from BOP,
    LoopSet          from BOP,
    ShellFaceSet     from BOP,
    BlockBuilder     from BOP,
    BlockIterator    from BOP,
    SolidAreaBuilder from BOP

is

    Create returns SolidBuilder from BOP;
    	---Purpose:  
    	--- Empty constructor; 
    	---
    Create(theSFS: in out ShellFaceSet from BOP;
    	   theForceClassFlag: Boolean from Standard = Standard_False)
	   returns SolidBuilder from BOP;
    	---Purpose:  
    	--- The constructor that just calls the method  
    	--- InitSolidBuilder() below 
    	---
    InitSolidBuilder(me : in out;
    	    	     theSFS: in out ShellFaceSet from BOP;
		     theForceClassFlag: Boolean from Standard);
    	---Purpose: 
    	--- Launches the algorithm consisting of four steps 
    	--- 1.  Split the SFS on shells ( BOP_SFSCorrector object)      
    	--- 2.  Make Loops from shells  ( this->MakeLoops() )      
    	--- 3.  Make Areas from Loops   ( BOP_SolidAreaBuilder object)            
    	--- 4.  Make Solids from Areas  ( see methods below )   
    	---

    ---
    ---             O  u  t  p  u  t     m  e  t  h  o  d  s  
    ---
    ---  Iterator on  Solids  
    ---
    InitSolid(me: in out) 
	returns Integer from Standard;

    MoreSolid(me) 
    	returns Boolean from Standard;
    
    NextSolid(me : in out);
    ---
    ---  Iterator on  Shells  
    ---
    InitShell(me : in out) 
    	returns Integer from Standard;
    
    MoreShell(me) 
    	returns Boolean from Standard;
    
    NextShell(me : in out);

    IsOldShell(me) 
    	returns Boolean from Standard;

    OldShell(me) returns Shell from TopoDS;
    ---
    ---  Iterator on  Shells  
    ---
    InitFace(me : in out) 
    	returns Integer from Standard;

    MoreFace(me) 
    	returns Boolean from Standard;

    NextFace(me : in out);
    
    Face(me) 
    	returns Face from TopoDS; 
    	---C++: return const &
    	---Purpose:  
    	--- Returns current new face of current new shell.
    	---

    ------------------------------------------------------
    --             P  r  i  v  a  t  e    b  l  o  c  k   
    --
    MakeLoops(me: in out; theSFS: in out ShapeSet from BOP)
    	is private;

fields

    myLoopSet         : LoopSet          from BOP;
    myBlockIterator   : BlockIterator    from BOP;
    myBlockBuilder    : BlockBuilder     from BOP;
    mySolidAreaBuilder: SolidAreaBuilder from BOP;

end SolidBuilder from BOP;