4e57c75e |
1 | -- Created by: Peter KURNEV |
973c2be1 |
2 | -- Copyright (c) 2010-2014 OPEN CASCADE SAS |
4e57c75e |
3 | -- Copyright (c) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE |
4 | -- Copyright (c) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, |
5 | -- EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS |
6 | -- |
973c2be1 |
7 | -- This file is part of Open CASCADE Technology software library. |
4e57c75e |
8 | -- |
d5f74e42 |
9 | -- This library is free software; you can redistribute it and/or modify it under |
10 | -- the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
11 | -- by the Free Software Foundation, with special exception defined in the file |
12 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
13 | -- distribution for complete text of the license and disclaimer of any warranty. |
4e57c75e |
14 | -- |
973c2be1 |
15 | -- Alternatively, this file may be used under the terms of Open CASCADE |
16 | -- commercial license or contractual agreement. |
4e57c75e |
17 | |
18 | class BuilderSolid from BOPAlgo |
19 | inherits BuilderArea from BOPAlgo |
20 | |
21 | ---Purpose: The algorithm to build solids from set of faces |
22 | |
23 | uses |
30ecd5f8 |
24 | BaseAllocator from BOPCol, |
25 | Solid from TopoDS |
26 | |
4e57c75e |
27 | --raises |
28 | |
29 | is |
30 | Create |
31 | returns BuilderSolid from BOPAlgo; |
32 | ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_BuilderSolid();" |
33 | |
34 | |
35 | Create (theAllocator: BaseAllocator from BOPCol) |
36 | returns BuilderSolid from BOPAlgo; |
30ecd5f8 |
37 | |
38 | SetSolid(me:out; |
39 | theSolid:Solid from TopoDS); |
40 | ---Purpose: Sets the source solid <theSolid> |
41 | |
42 | Solid(me) |
43 | returns Solid from TopoDS; |
44 | ---C++: return const & |
45 | ---Purpose: Returns the source solid |
4e57c75e |
46 | |
47 | Perform(me:out) |
48 | ---Purpose: Performs the algorithm |
49 | is redefined; |
50 | |
51 | PerformShapesToAvoid(me:out) |
52 | ---Purpose: Collect the faces that |
53 | -- a) are internal |
54 | -- b) are the same and have different orientation |
55 | is redefined protected; |
56 | |
57 | PerformLoops(me:out) |
58 | ---Purpose: Build draft shells |
59 | -- a)myLoops - draft shells that consist of |
60 | -- boundary faces |
61 | -- b)myLoopsInternal - draft shells that contains |
62 | -- inner faces |
63 | is redefined protected; |
64 | |
65 | PerformAreas(me:out) |
66 | ---Purpose: Build draft solids that contains boundary faces |
67 | is redefined protected; |
68 | |
69 | PerformInternalShapes(me:out) |
70 | ---Purpose: Build finalized solids with internal shells |
71 | is redefined protected; |
72 | |
30ecd5f8 |
73 | fields |
74 | mySolid:Solid from TopoDS is protected; |
4e57c75e |
75 | |
76 | end BuilderSolid; |