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