0022627: Change OCCT memory management defaults
[occt.git] / src / BRepFill / BRepFill_PipeShell.cdl
CommitLineData
7fd59977 1-- File: BRepFill_PipeShell.cdl
2-- Created: Wed Jul 22 09:10:50 1998
3-- Author: Philippe MANGIN
4-- <pmn@sgi29>
5---Copyright: Matra Datavision 1998
6
7
8class PipeShell from BRepFill inherits TShared from MMgt
9
10 ---Purpose: Perform general sweeping construction
11uses
12 Dir from gp,
d7325741
J
13 Ax2 from gp,
14 Trsf from gp,
7fd59977 15 Function from Law,
16 ListOfShape from TopTools,
17 HArray2OfShape from TopTools,
18 Shape from TopoDS,
19 Wire from TopoDS,
20 Vertex from TopoDS,
21 TransitionStyle from BRepFill,
22 Trihedron from GeomFill,
23 PipeError from GeomFill,
24 LocationLaw from BRepFill,
25 SectionLaw from BRepFill,
26 Section from BRepFill,
27 Sweep from BRepFill,
28 DataMapOfShapeListOfShape from TopTools,
29 SequenceOfSection from BRepFill
30
31
32raises
33 DomainError from Standard,
34 NotDone from StdFail
35
36is
37 Create( Spine : Wire from TopoDS)
38 ---Level: Public
39 returns PipeShell from BRepFill;
40
41-- =================================
42-- Methodes Set
43-- =================================
44 ---Purpose: Set an sweep's mode
45 -- If no mode are setted, the mode use in MakePipe is used
46 ---See Also: GeomFill_IsCorrectedFrenet
47
48 Set(me : mutable; Frenet : Boolean = Standard_False);
49 ---Purpose: Set an Frenet or an CorrectedFrenet trihedron
50 -- to perform the sweeping
51 ---Level: Public
52 ---See Also:GeomFill_IsCorrectedFrenet
53
54 Set(me : mutable; Axe : Ax2 from gp);
55 ---Purpose: Set an fixed trihedron to perform the sweeping
56 -- all sections will be parallel.
57 ---Level: Public
58 ---See Also: GeomFill_IsFixed
59
60 Set(me : mutable; BiNormal : Dir from gp);
61 ---Purpose: Set an fixed BiNormal direction to perform
62 -- the sweeping
63 ---Level: Public
64 ---See Also: GeomFill_IsConstantNormal
65
66 Set(me : mutable; SpineSupport : Shape from TopoDS)
67 ---Purpose: Set support to the spine to define the BiNormal
68 -- at the spine, like the normal the surfaces.
69 -- Warning: To be effective, Each edge of the <spine> must
70 -- have an representaion on one face of<SpineSupport>
71 ---Level: Public
72 ---See Also: GeomFill_IsDarboux
73 returns Boolean;
74
75 Set(me : mutable;
76 AuxiliarySpine : Wire from TopoDS;
77 CurvilinearEquivalence : Boolean = Standard_True;
78 KeepContact : Boolean = Standard_False );
79
80 ---Purpose: Set an auxiliary spine to define the Normal
81 -- For each Point of the Spine P, an Point Q is evalued
82 -- on <AuxiliarySpine>
83 -- If <CurvilinearEquivalence>
84 -- Q split <AuxiliarySpine> with the same length ratio
85 -- than P split <Spline>.
86 -- Else the plan define by P and the tangent to the <Spine>
87 -- intersect <AuxiliarySpine> in Q.
88 -- If <KeepContact> the Normal is defined to assume like the sweeped
89 -- section is in contact to the <AuxiliarySpine>
90 -- Else the Normal is defined by the vector PQ.
91
92 ---Level: Public
93
94-- =================================
95-- Methodes to define section(s)
96-- =================================
97 ---Purpose: Give section to sweep.
98 -- Possibilities are :
99 -- - Give one or sevral profile
100 -- - Give one profile and an homotetic law.
101 -- - Automatic compute of correspondance beetween profile, and section
102 -- on the sweeped shape
103 -- - correspondance beetween profile, and section on the sweeped shape
104 -- defined by a vertex of the spine
105
106 -- -"WithCorrection" The profile is rotated to have a Normal --
107 -- parallel to the trihedron's normal and have tangent
108 -- perpendicular to the trihedron's tangent.
109
110
111 Add(me:mutable;
112 Profile : Shape from TopoDS;
113 WithContact : Boolean = Standard_False;
114 WithCorrection : Boolean = Standard_False );
115 ---Purpose: Set an section. The corespondance with the spine, will
116 -- be automaticaly performed.
117 ---Level: Public
118
119 Add(me:mutable;
120 Profile : Shape from TopoDS;
121 Location : Vertex from TopoDS;
122 WithContact : Boolean = Standard_False;
123 WithCorrection : Boolean = Standard_False)
124 ---Purpose: Set an section. The corespondance with the spine, is
125 -- given by <Location>
126
127 ---Level: Public
128 raises DomainError; -- if the <Spine> do not contain <Location>
129
130 SetLaw(me :mutable;
131 Profile : Shape from TopoDS;
132 L : Function from Law;
133 WithContact : Boolean = Standard_False;
134 WithCorrection : Boolean = Standard_False);
135 ---Purpose: Set an section and an homotetic law.
136 -- The homotetie's centers is given by point on the <Spine>.
137 ---Level: Public
138
139
140 SetLaw(me :mutable;
141 Profile : Shape from TopoDS;
142 L : Function from Law;
143 Location : Vertex from TopoDS;
144 WithContact : Boolean = Standard_False;
145 WithCorrection : Boolean = Standard_False);
146 ---Purpose: Set an section and an homotetic law.
147 -- The homotetie center is given by point on the <Spine>
148 ---Level: Public
149
150
151 Delete(me : mutable; Profile : Shape from TopoDS);
152 ---Purpose: Delete an section.
153 ---Level: Public
154
155
156-- ========================================
157-- Methodes to perform and read shape
158-- ========================================
159 IsReady(me)
160 ---Purpose: Say if <me> is ready to build the shape
161 -- return False if <me> do not have section definition
162 returns Boolean;
163
164 GetStatus(me)
165 ---Purpose: Get a status, when Simulate or Build failed.
166 returns PipeError from GeomFill;
167
168 SetTolerance(me : mutable;
169 Tol3d : Real = 1.0e-4;
170 BoundTol : Real = 1.0e-4;
171 TolAngular : Real = 1.0e-2);
172
173 SetTransition(me : mutable;
174 Mode :TransitionStyle from BRepFill
175 = BRepFill_Modified;
176 Angmin : Real = 1.0e-2;
177 Angmax : Real = 6.0)
178 ---Purpose: Set the Transition Mode to manage discontinuities
179 -- on the sweep.
180 ---Level: Public
181 is static;
182
183 Simulate(me : mutable;
184 NumberOfSection : Integer;
185 Sections : out ListOfShape from TopTools)
186 ---Purpose: Perform simulation of the sweep :
187 -- Somes Section are returned.
188 ---Level: Public
189 raises NotDone; -- If <me> it is not Ready
190
191
192 Build(me : mutable)
193 ---Purpose: Builds the resulting shape (redefined from MakeShape).
194 ---Level: Public
195 returns Boolean
196 raises NotDone -- If <me> it is not Ready
197 is static;
198
199 MakeSolid(me : mutable)
200 ---Purpose: Transform the sweeping Shell in Solid.
201 -- If the section are not closed returns False
202 ---Level: Public
203 returns Boolean
204 raises NotDone; -- If <me> is not Builded;
205
206 Shape (me)
207 ---Purpose: Returns the result Shape.
208 ---C++: return const &
209 ---Level: Public
210 returns Shape from TopoDS
211 is static;
212
213 FirstShape (me)
214 ---Purpose: Returns the TopoDS Shape of the bottom of the sweep.
215 ---C++: return const &
216 ---Level: Public
217 returns Shape from TopoDS
218 is static;
219
220 LastShape (me)
221 ---Purpose: Returns the TopoDS Shape of the top of the sweep.
222 ---C++: return const &
223 ---Level: Public
224 returns Shape from TopoDS
225 is static;
226
227 Generated (me: mutable;
228 S : Shape from TopoDS;
229 L : out ListOfShape from TopTools)
230 ---Purpose: Returns the list of shapes generated from the
231 -- shape <S>.
232 ---Level: Public
233 is static;
234
235 Prepare(me: mutable) is private;
236
237 Place(me : mutable;
238 Sec : Section from BRepFill;
239 W : out Wire from TopoDS;
d7325741 240 Trsf : out Trsf from gp;
7fd59977 241 param : out Real from Standard) is private;
242
243 ResetLoc(me : mutable) is private;
244
245 BuildHistory(me: mutable; theSweep: Sweep from BRepFill)
246 is private;
247
248fields
249 mySpine : Wire from TopoDS;
250 myFirst : Shape from TopoDS;
251 myLast : Shape from TopoDS;
252 myShape : Shape from TopoDS;
253 mySeq : SequenceOfSection from BRepFill;
254
255 myGenMap : DataMapOfShapeListOfShape from TopTools;
256
257 myTol3d : Real;
258 myBoundTol : Real;
259 myTolAngular : Real;
260 angmin, angmax : Real;
261
262 myLaw : Function from Law;
263 myLocation : LocationLaw from BRepFill;
264 mySection : SectionLaw from BRepFill;
265 myFaces : HArray2OfShape from TopTools;
266 myTrihedron : Trihedron from GeomFill;
267 myTransition : TransitionStyle from BRepFill;
268 myStatus : PipeError from GeomFill;
269end PipeShell;
270
271
272
273
274