]> SALOME platform Git repositories - modules/geom.git/blob - src/GEOMAlgo/GEOMAlgo_BuilderArea.cdl
Salome HOME
0021434: Boolean operations generate a shape with big vertex tolerance.
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo_BuilderArea.cdl
1 -- Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
2 --
3 -- Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 -- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 --
6 -- This library is free software; you can redistribute it and/or
7 -- modify it under the terms of the GNU Lesser General Public
8 -- License as published by the Free Software Foundation; either
9 -- version 2.1 of the License.
10 --
11 -- This library is distributed in the hope that it will be useful,
12 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
13 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 -- Lesser General Public License for more details.
15 --
16 -- You should have received a copy of the GNU Lesser General Public
17 -- License along with this library; if not, write to the Free Software
18 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 --
20 -- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
22 -- File:   ModGlue_BuilderArea.cdl
23 -- Author: Peter KURNEV
24
25 deferred class BuilderArea from GEOMAlgo
26        inherits Algo from GEOMAlgo
27
28        ---Purpose: The root class for algorithms to build
29        --          faces/solids from set of edges/faces
30
31 uses
32     Shape from TopoDS,
33     ListOfShape from TopTools,
34     MapOfOrientedShape from TopTools,
35     Context from IntTools
36
37 --raises
38
39 is
40     Initialize
41         ---Purpose:  Empty  constructor
42         returns BuilderArea from GEOMAlgo;
43     ---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_BuilderArea();"
44
45     SetContext(me:out;
46                theContext:Context from IntTools);
47         ---Purpose: Sets cashed geometrical tools
48
49     Context(me)
50         returns  Context from IntTools;
51         ---Purpose: Returns cashed geometrical tools
52     ---C++:  return const &
53
54     SetShapes(me:out;
55               theLS:ListOfShape from TopTools);
56         ---Purpose: Sets edges/faces to process
57
58     Shapes(me)
59         ---Purpose: Returns edges/faces to process
60         returns ListOfShape from TopTools;
61     ---C++:  return const &
62
63     Loops(me)
64         ---Purpose: Returns wires/shells that have been built
65         returns ListOfShape from TopTools;
66     ---C++:  return const &
67
68     Areas(me)
69         ---Purpose: Returns faces/solids that have been built
70         returns ListOfShape from TopTools;
71     ---C++:  return const &
72
73     Perform(me:out)
74         is redefined;
75
76     PerformShapesToAvoid(me:out)
77         ---Purpose:  Collect the edges/faces that
78         --           a) are internal
79         --           b) are the same and have different orientation
80         is virtual protected;
81
82     PerformLoops(me:out)
83         ---Purpose: Build draft faces/shells
84         --          a)myLoops - draft faces/shells that consist of
85         --                      boundary edges/faces
86         --          b)myLoopsInternal - draft faces/shells that contains
87         --                               inner edges/faces
88         is virtual protected;
89
90     PerformAreas(me:out)
91         ---Purpose: Build draft faces/solids that contains boundary faces
92         is virtual protected;
93
94     PerformInternalShapes(me:out)
95         ---Purpose: Build finalized faces/solids with internal wires/shells
96         is virtual protected;
97
98 fields
99     myShapes         :  ListOfShape from TopTools is protected;
100     myLoops          :  ListOfShape from TopTools is protected;
101     myLoopsInternal  :  ListOfShape from TopTools is protected;
102     myShapesToAvoid  :  MapOfOrientedShape from TopTools is protected;
103     myAreas          :  ListOfShape from TopTools is protected;
104     --
105     myContext        :  Context from IntTools is protected;
106
107 end BuilderArea;