0024530: TKMesh - remove unused package IntPoly
[occt.git] / src / BRepOffsetAPI / BRepOffsetAPI_DraftAngle.cdl
CommitLineData
b311480e 1-- Created on: 1995-02-22
2-- Created by: Jacques GOUSSARD
3-- Copyright (c) 1995-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
973c2be1 8-- This library is free software; you can redistribute it and / or modify it
9-- under the terms of the GNU Lesser General Public version 2.1 as published
10-- by the Free Software Foundation, with special exception defined in the file
11-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12-- distribution for complete text of the license and disclaimer of any warranty.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class DraftAngle from BRepOffsetAPI inherits ModifyShape from BRepBuilderAPI
18
19 ---Purpose: Taper-adding transformations on a shape.
20 -- The resulting shape is constructed by defining one face
21 -- to be tapered after another one, as well as the
22 -- geometric properties of their tapered transformation.
23 -- Each tapered transformation is propagated along the
24 -- series of faces which are tangential to one another and
25 -- which contains the face to be tapered.
26 -- This algorithm is useful in the construction of molds or
27 -- dies. It facilitates the removal of the article being produced.
28 -- A DraftAngle object provides a framework for:
29 -- - initializing the construction algorithm with a given shape,
30 -- - acquiring the data characterizing the faces to be tapered,
31 -- - implementing the construction algorithm, and
32 -- - consulting the results.
33 -- Warning
34 -- - This algorithm treats planar, cylindrical and conical faces.
35 -- - Do not use shapes, which with a draft angle added to
36 -- a face would modify the topology. This would, for
37 -- example, involve creation of new vertices, edges or
38 -- faces, or suppression of existing vertices, edges or faces.
39 -- - Any face, which is continuous in tangency with the
40 -- face to be tapered, will also be tapered. These
41 -- connected faces must also respect the above criteria.
42
43
44uses
45 Shape from TopoDS,
46 Face from TopoDS,
47 ShapeModification from BRepBuilderAPI,
48 ListOfShape from TopTools,
49 Dir from gp,
50 Pln from gp,
51 ErrorStatus from Draft
52
53raises
54 NotDone from StdFail,
55 NullObject from Standard,
56 NoSuchObject from Standard,
57 ConstructionError from Standard
58
59is
60
61 Create
62
63 returns DraftAngle from BRepOffsetAPI;
64 ---Purpose: Constructs an empty algorithm to perform
65 -- taper-adding transformations on faces of a shape.
66 -- Use the Init function to define the shape to be tapered.
67
68 Create(S: Shape from TopoDS)
69 returns DraftAngle from BRepOffsetAPI;
70 ---Purpose: Initializes an algorithm to perform taper-adding
71 -- transformations on faces of the shape S.
72 -- S will be referred to as the initial shape of the algorithm.
73
74 Clear(me: in out)
75
76 ---Purpose: Cancels the results of all taper-adding transformations
77 -- performed by this algorithm on the initial shape. These
78 -- results will have been defined by successive calls to the function Add.
79 is static;
80
81
82 Init(me: in out; S: Shape from TopoDS)
83
84 ---Purpose: Initializes, or reinitializes this taper-adding algorithm with the shape S.
85 -- S will be referred to as the initial shape of this algorithm.
86
87 is static;
88
89
90 Add(me: in out; F : Face from TopoDS;
91 Direction : Dir from gp;
92 Angle : Real from Standard;
93 NeutralPlane: Pln from gp;
94 Flag : Boolean from Standard = Standard_True)
95 ---Purpose: Adds the face F, the direction
96 -- Direction, the angle Angle, the plane NeutralPlane, and the flag
97 -- Flag to the framework created at construction time, and with this
98 -- data, defines the taper-adding transformation.
99 -- F is a face, which belongs to the initial shape of this algorithm or
100 -- to the shape loaded by the function Init.
101 -- Only planar, cylindrical or conical faces can be tapered:
102 -- - If the face F is planar, it is tapered by inclining it
103 -- through the angle Angle about the line of intersection between the
104 -- plane NeutralPlane and F.
105 -- Direction indicates the side of NeutralPlane from which matter is
106 -- removed if Angle is positive or added if Angle is negative.
107 -- - If F is cylindrical or conical, it is transformed in the
108 -- same way on a single face, resulting in a conical face if F
109 -- is cylindrical, and a conical or cylindrical face if it is already conical.
110 -- The taper-adding transformation is propagated from the face F along
111 -- the series of planar, cylindrical or conical faces containing F,
112 -- which are tangential to one another.
113 -- Use the function AddDone to check if this taper-adding transformation is successful.
114 -- Warning
115 -- Nothing is done if:
116 -- - the face F does not belong to the initial shape of this algorithm, or
117 -- - the face F is not planar, cylindrical or conical.
118 -- Exceptions
119 -- - Standard_NullObject if the initial shape is not
120 -- defined, i.e. if this algorithm has not been initialized
121 -- with the non-empty constructor or the Init function.
122 -- - Standard_ConstructionError if the previous call to
123 -- Add has failed. The function AddDone ought to have
124 -- been used to check for this, and the function Remove
125 -- to cancel the results of the unsuccessful taper-adding
126 -- transformation and to retrieve the previous shape.
127 raises NullObject from Standard,
128 ConstructionError from Standard
129 is static;
130
131
132 AddDone(me)
133
134 ---Purpose: Returns true if the previous taper-adding
135 -- transformation performed by this algorithm in the last
136 -- call to Add, was successful.
137 -- If AddDone returns false:
138 -- - the function ProblematicShape returns the face
139 -- on which the error occurred,
140 -- - the function Remove has to be used to cancel the
141 -- results of the unsuccessful taper-adding
142 -- transformation and to retrieve the previous shape.
143 -- Exceptions
144 -- Standard_NullObject if the initial shape has not
145 -- been defined, i.e. if this algorithm has not been
146 -- initialized with the non-empty constructor or the .Init function.
147 returns Boolean from Standard
148 raises NullObject from Standard
149
150 is static;
151
152
153 Remove(me: in out; F: Face from TopoDS)
154 ---Purpose: Cancels the taper-adding transformation previously
155 -- performed by this algorithm on the face F and the
156 -- series of tangential faces which contain F, and retrieves
157 -- the shape before the last taper-adding transformation.
158 -- Warning
159 -- You will have to use this function if the previous call to
160 -- Add fails. Use the function AddDone to check it.
161 -- Exceptions
162 -- - Standard_NullObject if the initial shape has not
163 -- been defined, i.e. if this algorithm has not been
164 -- initialized with the non-empty constructor or the Init function.
165 -- - Standard_NoSuchObject if F has not been added
166 -- or has already been removed.
167 raises NullObject from Standard,
168 NoSuchObject from Standard
169
170 is static;
171
172
173 ProblematicShape(me)
174
175 returns Shape from TopoDS
176 ---Purpose: Returns the shape on which an error occurred after an
177 -- unsuccessful call to Add or when IsDone returns false.
178 -- Exceptions
179 -- Standard_NullObject if the initial shape has not been
180 -- defined, i.e. if this algorithm has not been initialized with
181 -- the non-empty constructor or the Init function.
182 ---C++: return const&
183 raises NullObject from Standard
184
185 is static;
186
187
188
189 Status(me)
190 ---Purpose: Returns an error status when an error has occured
191 -- (Face, Edge or Vertex recomputaion problem).
192 -- Otherwise returns Draft_NoError. The method may be
193 -- called if AddDone returns Standard_False, or when
194 -- IsDone returns Standard_False.
195
196 returns ErrorStatus from Draft
197 raises NullObject from Standard
198 -- The exception is raised if no shape has been
199 -- given(constructor or Init method).
200
201 is static;
202
203
204 ConnectedFaces(me; F: Face from TopoDS)
205
206 returns ListOfShape from TopTools
207 ---Purpose: Returns all the faces which have been added
208 -- together with the face <F>.
209 --
210 ---C++: return const&
211
212 raises NullObject from Standard,
213 -- The exception is raised if no shape has been
214 -- given(constructor or Init method).
215 NoSuchObject from Standard,
216 -- The exception is raised if F has not been added.
217 NotDone from StdFail
218 -- The exception is raised if AddDone returns False.
219 is static;
220
221
222 ModifiedFaces(me)
223
224 returns ListOfShape from TopTools
225 ---Purpose: Returns all the faces on which a modification has
226 -- been given.
227 --
228 ---C++: return const&
229
230 raises NullObject from Standard,
231 -- The exception is raised if no shape has been
232 -- given(constructor or Init method).
233 NotDone from StdFail
234 -- The exception is raised if AddDone returns False.
235 is static;
236
237
238 Build(me : in out)
239
240 ---Purpose: Builds the resulting shape (redefined from MakeShape).
241 ---Level: Public
242 is redefined;
243
244 CorrectWires(me : in out);
245
246 Generated (me: in out; S : Shape from TopoDS)
247 ---Purpose: Returns the list of shapes generated from the
248 -- shape <S>.
249 ---C++: return const &
250 ---Level: Public
251 returns ListOfShape from TopTools
252 is redefined virtual;
253
254
255
256 Modified (me: in out; S : Shape from TopoDS)
257 ---Purpose: Returns the list of shapes modified from the shape
258 -- <S>.
259 ---C++: return const &
260 ---Level: Public
261 returns ListOfShape from TopTools
262 is redefined virtual;
263
264fields
265
266 myModifiedShapes : ListOfShape from TopTools;
267
268end DraftAngle;
269
270
271
272
273