1 -- File: BRepBuilderAPI_MakeSolid.cdl
2 -- Created: Wed Jul 21 16:06:45 1993
3 -- Author: Remi LEQUETTE
5 ---Copyright: Matra Datavision 1993
8 class MakeSolid from BRepBuilderAPI inherits MakeShape from BRepBuilderAPI
10 ---Purpose: Describes functions to build a solid from shells.
11 -- A solid is made of one shell, or a series of shells, which
12 -- do not intersect each other. One of these shells
13 -- constitutes the outside skin of the solid. It may be closed
14 -- (a finite solid) or open (an infinite solid). Other shells
15 -- form hollows (cavities) in these previous ones. Each
16 -- must bound a closed volume.
17 -- A MakeSolid object provides a framework for:
18 -- - defining and implementing the construction of a solid, and
19 -- - consulting the result.
23 CompSolid from TopoDS,
26 MakeSolid from BRepLib
34 ---Purpose: Initializes the construction of a solid. An empty solid is
35 -- considered to cover the whole space. The Add function
36 -- is used to define shells to bound it.
37 returns MakeSolid from BRepBuilderAPI;
39 ----------------------------------------------
41 ----------------------------------------------
43 Create(S : CompSolid from TopoDS)
44 ---Purpose: Make a solid from a CompSolid.
46 returns MakeSolid from BRepBuilderAPI;
48 -- this algorithm removes all inner faces amd make solid from compsolid
50 ----------------------------------------------
52 ----------------------------------------------
54 Create(S : Shell from TopoDS)
55 ---Purpose: Make a solid from a shell.
57 returns MakeSolid from BRepBuilderAPI;
60 Create(S1,S2 : Shell from TopoDS)
61 ---Purpose: Make a solid from two shells.
63 returns MakeSolid from BRepBuilderAPI;
65 Create(S1,S2,S3 : Shell from TopoDS)
66 ---Purpose: Make a solid from three shells.
68 returns MakeSolid from BRepBuilderAPI;
70 ---Purpose: Constructs a solid
71 -- - covering the whole space, or
73 -- - from two shells S1 and S2, or
74 -- - from three shells S1, S2 and S3, or
76 -- No check is done to verify the conditions of coherence
77 -- of the resulting solid. In particular, S1, S2 (and S3) must
78 -- not intersect each other.
79 -- Besides, after all shells have been added using the Add
80 -- function, one of these shells should constitute the outside
81 -- skin of the solid; it may be closed (a finite solid) or open
82 -- (an infinite solid). Other shells form hollows (cavities) in
83 -- these previous ones. Each must bound a closed volume.
85 ----------------------------------------------
86 -- From solid and shells
87 ----------------------------------------------
89 Create(So : Solid from TopoDS)
90 ---Purpose: Make a solid from a solid. Usefull for adding later.
92 returns MakeSolid from BRepBuilderAPI;
94 Create(So : Solid from TopoDS; S : Shell from TopoDS)
95 ---Purpose: Add a shell to a solid.
97 returns MakeSolid from BRepBuilderAPI;
100 -- Constructs a solid:
101 -- - from the solid So, to which shells can be added, or
102 -- - by adding the shell S to the solid So.
104 -- No check is done to verify the conditions of coherence
105 -- of the resulting solid. In particular S must not intersect the solid S0.
106 -- Besides, after all shells have been added using the Add
107 -- function, one of these shells should constitute the outside
108 -- skin of the solid. It may be closed (a finite solid) or open
109 -- (an infinite solid). Other shells form hollows (cavities) in
110 -- the previous ones. Each must bound a closed volume.
112 ----------------------------------------------
114 ----------------------------------------------
116 Add(me : in out; S : Shell from TopoDS)
117 ---Purpose: Adds the shell to the current solid.
119 -- No check is done to verify the conditions of coherence
120 -- of the resulting solid. In particular, S must not intersect
121 -- other shells of the solid under construction.
122 -- Besides, after all shells have been added, one of
123 -- these shells should constitute the outside skin of the
124 -- solid. It may be closed (a finite solid) or open (an
125 -- infinite solid). Other shells form hollows (cavities) in
126 -- these previous ones. Each must bound a closed volume.
129 ----------------------------------------------
131 ----------------------------------------------
133 IsDone(me) returns Boolean
134 ---Purpose: Returns true if the solid is built.
135 -- For this class, a solid under construction is always valid.
136 -- If no shell has been added, it could be a whole-space
137 -- solid. However, no check was done to verify the
138 -- conditions of coherence of the resulting solid.
141 Solid(me) returns Solid from TopoDS
142 ---Purpose: Returns the new Solid.
144 ---C++: return const &
145 ---C++: alias "Standard_EXPORT operator TopoDS_Solid() const;"
151 IsDeleted (me: in out; S : Shape from TopoDS)
157 myMakeSolid : MakeSolid from BRepLib;