Integration of OCCT 6.5.0 from SVN
[occt.git] / src / BRepTools / BRepTools.cdl
CommitLineData
7fd59977 1-- File: BRepTools.cdl
2-- Created: Fri Aug 28 18:54:27 1992
3-- Author: Remi LEQUETTE
4-- <rle@phylox>
5---Copyright: Matra Datavision 1992
6
7
8package BRepTools
9
10 ---Level : Public.
11 -- All methods of all classes will be public.
12
13 ---Purpose: The BRepTools package provides utilities for BRep
14 -- data structures.
15 --
16 -- * WireExplorer : A tool to explore the topology of
17 -- a wire in the order of the edges.
18 --
19 -- * ShapeSet : Tools used for dumping, writing and
20 -- reading.
21 --
22 -- * UVBounds : Methods to compute the limits of the
23 -- boundary of a face, a wire or an edge in the
24 -- parametric space of a face.
25 --
26 -- * Update : Methods to call when a topology has
27 -- been created to compute all missing data.
28 --
29 -- * UpdateFaceUVPoints : Method to update the UV
30 -- points stored with the edges on a face. This
31 -- method ensure that connected edges have the same
32 -- UV point on their common extremity.
33 --
34 -- * Compare : Method to compare two vertices.
35 --
36 -- * Compare : Method to compare two edges.
37 --
38 -- * OuterWire : A method to find the outer wire of a
39 -- face.
40 --
41 -- * OuterShell : A method to find the outer shell of
42 -- a solid.
43 --
44 -- * Map3DEdges : A method to map all the 3D Edges of
45 -- a Shape.
46 --
47 -- * Dump : A method to dump a BRep object.
48 --
49
50uses
51 BRep,
52 TopExp,
53 TopTools,
54 TopoDS,
55 TopAbs,
56 TopLoc,
57 GeomAbs,
58 GeomTools,
59 Geom,
60 Geom2d,
61 gp,
62 Bnd,
63 TColgp,
64 TColStd,
65 TCollection,
66 MMgt,
67 Message
68
69is
70
71 class WireExplorer;
72 ---Purpose: To explore the 3D or the UV topology of a Face.
73
74 deferred class Modification;
75 ---Purpose: Defines geometric modifications on a shape
76 -- ( on the faces, the edges, the vertices).
77
78 class Modifier;
79 ---Purpose: Performs geometric modifications on a shape.
80
81 class TrsfModification;
82 ---Purpose: Defines a Modification with a Trsf from gp.
83 -- Inherited from Modification.
84
85 class NurbsConvertModification;
86 ---Purpose: Conversion des entites analytiques d'une shape
87 -- en NURBS (courbes et surface 3D)
88 -- Inherited from Modification.
89
90 class GTrsfModification;
91 ---Purpose: Defines a Modification with a GTrsf from gp.
92 -- Inherited from Modification.
93
94 class Substitution;
95 ---Purpose: Provides a tool to change subshapes in a shape.
96
97 class Quilt;
98 ---Purpose: Provides a tool to glue shapes on edges.
99 -- for exemple glue faces to make a shell.
100
101 -- class Sewing;
102 ---Purpose: Provides a tool to
103 -- - identify contigous boundaries (for control
104 -- of continuity: C0, C1, ...)
105 -- - assemble contigous shapes into one shape.
106
107 --
108 -- Dump, Write, Read tools
109
110 class ShapeSet;
111 ---Purpose: A set of BRep TShapes. Inherited from TopTools.
112
113 class ReShape;
114 ---Purpose: Provides tools for modification of shape.
115
116 class MapOfVertexPnt2d instantiates DataMap from TCollection
117 (Shape from TopoDS,
118 SequenceOfPnt2d from TColgp,
119 ShapeMapHasher from TopTools);
120
121 --
122 -- Methods
123 --
124
125 UVBounds(F : Face from TopoDS;
126 UMin, UMax, VMin, VMax : out Real);
127 ---Purpose: Returns in UMin, UMax, VMin, VMax the bounding
128 -- values in the parametric space of F.
129
130 UVBounds(F : Face from TopoDS;
131 W : Wire from TopoDS;
132 UMin, UMax, VMin, VMax : out Real);
133 ---Purpose: Returns in UMin, UMax, VMin, VMax the bounding
134 -- values of the wire in the parametric space of F.
135
136 UVBounds(F : Face from TopoDS;
137 E : Edge from TopoDS;
138 UMin, UMax, VMin, VMax : out Real);
139 ---Purpose: Returns in UMin, UMax, VMin, VMax the bounding
140 -- values of the edge in the parametric space of F.
141
142 AddUVBounds(F : Face from TopoDS;
143 B : in out Box2d from Bnd);
144 ---Purpose: Adds to the box <B> the bounding values in the
145 -- parametric space of F.
146
147 AddUVBounds(F : Face from TopoDS;
148 W : Wire from TopoDS;
149 B : in out Box2d from Bnd);
150 ---Purpose: Adds to the box <B> the bounding values of the
151 -- wire in the parametric space of F.
152
153 AddUVBounds(F : Face from TopoDS;
154 E : Edge from TopoDS;
155 B : in out Box2d from Bnd);
156 ---Purpose: Adds to the box <B> the bounding values of the
157 -- edge in the parametric space of F.
158
159
160 Update(V : Vertex from TopoDS);
161 ---Purpose: Update a vertex (nothing is done)
162
163 Update(E : Edge from TopoDS);
164 ---Purpose: Update an edge, compute 2d bounding boxes.
165
166 Update(W : Wire from TopoDS);
167 ---Purpose: Update a wire (nothing is done)
168
169 Update(F : Face from TopoDS);
170 ---Purpose: Update a Face, update UV points.
171
172 Update(S : Shell from TopoDS);
173 ---Purpose: Update a shell (nothing is done)
174
175 Update(S : Solid from TopoDS);
176 ---Purpose: Update a solid (nothing is done)
177
178 Update(C : CompSolid from TopoDS);
179 ---Purpose: Update a composite solid (nothing is done)
180
181 Update(C : Compound from TopoDS);
182 ---Purpose: Update a compound (nothing is done)
183
184 Update(S : Shape from TopoDS);
185 ---Purpose: Update a shape, call the corect update.
186
187
188
189 UpdateFaceUVPoints(F : Face from TopoDS);
190 ---Purpose: For all the edges of the face <F> reset the UV
191 -- points to ensure that connected faces have the
192 -- same point at there common extremity.
193
194 Clean(S: Shape from TopoDS);
195 ---Purpose: Removes all the triangulations of the faces of <S>
196 -- and removes all polygons on triangulations of the
197 -- edges.
198
199
200 Triangulation(S: Shape from TopoDS; deflec: Real)
201 returns Boolean from Standard;
202 ---Purpose: verifies that each face from the shape <S> has got
203 -- a triangulation with a deflection <= deflec and
204 -- the edges a discretisation on this triangulation.
205
206
207 Compare(V1,V2 : Vertex from TopoDS) returns Boolean;
208 ---Purpose: Returns True if the distance between the two
209 -- vertices is lower than their tolerance.
210
211 Compare(E1,E2 : Edge from TopoDS) returns Boolean;
212 ---Purpose: Returns True if the distance between the two
213 -- edges is lower than their tolerance.
214
215 OuterWire(F : Face from TopoDS) returns Wire from TopoDS;
216 ---Purpose: Returns the outer most wire of <F>. Returns a Null
217 -- wire if <F> has no wires.
218
219 OuterShell(S : Solid from TopoDS) returns Shell from TopoDS;
220 ---Purpose: Returns the outer most shell of <S>. Returns a Null
221 -- wire if <S> has no shells.
222
223 Map3DEdges(S : Shape from TopoDS;
224 M : in out IndexedMapOfShape from TopTools);
225 ---Purpose: Stores in the map <M> all the 3D topology edges
226 -- of <S>.
227
228 IsReallyClosed(E: Edge from TopoDS; F: Face from TopoDS)
229 ---Purpose: Verifies that the edge <E> is found two times on
230 -- the face <F> before calling BRep_Tool::IsClosed.
231 returns Boolean from Standard;
232
233
234 Dump(Sh : Shape from TopoDS; S : in out OStream);
235 ---Purpose: Dumps the topological structure and the geometry
236 -- of <Sh> on the stream <S>.
237
238 Write(Sh : Shape from TopoDS; S : in out OStream;
239 PR : ProgressIndicator from Message = NULL);
240 ---Purpose: Writes <Sh> on <S> in an ASCII format.
241
242 Read(Sh : out Shape from TopoDS; S : in out IStream;
243 B : Builder from BRep; PR : ProgressIndicator from Message = NULL);
244 ---Purpose: Reads a Shape from <S> in returns it in <Sh>.
245 -- <B> is used to build the shape.
246
247 Write(Sh : Shape from TopoDS; File : CString;
248 PR : ProgressIndicator from Message = NULL ) returns Boolean;
249 ---Purpose: Writes <Sh> in <File>.
250
251 Read(Sh : out Shape from TopoDS; File : CString;
252 B : Builder from BRep; PR : ProgressIndicator from Message = NULL)
253 returns Boolean;
254 ---Purpose: Reads a Shape from <File>, returns it in <Sh>.
255 -- <B> is used to build the shape.
256
257end BRepTools;
258
259