1 -- Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 -- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
18 -- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 -- File: ModGlue_BuilderArea.cdl
22 -- Author: Peter KURNEV
24 deferred class BuilderArea from GEOMAlgo
25 inherits Algo from GEOMAlgo
27 ---Purpose: The root class for algorithms to build
28 -- faces/solids from set of edges/faces
32 ListOfShape from TopTools,
33 MapOfOrientedShape from TopTools,
34 Context from IntTools,
35 PContext from IntTools
41 ---Purpose: Empty constructor
42 returns BuilderArea from GEOMAlgo;
43 ---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_BuilderArea();"
46 theContext:Context from IntTools);
47 ---Purpose: Sets cashed geometrical tools
50 theLS:ListOfShape from TopTools);
51 ---Purpose: Sets edges/faces to process
54 ---Purpose: Returns edges/faces to process
55 returns ListOfShape from TopTools;
56 ---C++: return const &
59 ---Purpose: Returns wires/shells that have been built
60 returns ListOfShape from TopTools;
61 ---C++: return const &
64 ---Purpose: Returns faces/solids that have been built
65 returns ListOfShape from TopTools;
66 ---C++: return const &
68 PerformShapesToAvoid(me:out)
69 ---Purpose: Collect the edges/faces that
71 -- b) are the same and have different orientation
75 ---Purpose: Build draft faces/shells
76 -- a)myLoops - draft faces/shells that consist of
77 -- boundary edges/faces
78 -- b)myLoopsInternal - draft faces/shells that contains
83 ---Purpose: Build draft faces/solids that contains boundary faces
86 PerformInternalShapes(me:out)
87 ---Purpose: Build finalized faces/solids with internal wires/shells
92 myShapes : ListOfShape from TopTools is protected;
93 myLoops : ListOfShape from TopTools is protected;
94 myLoopsInternal : ListOfShape from TopTools is protected;
95 myShapesToAvoid : MapOfOrientedShape from TopTools is protected;
96 myAreas : ListOfShape from TopTools is protected;
98 myContext : PContext from IntTools is protected;