0024750: Replace instantiations of TCollection generic classes by NCollection templat...
[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;
7fd59977 78
79 deferred class Modification;
7fd59977 80
81 class Modifier;
7fd59977 82
83 class TrsfModification;
7fd59977 84
85 class NurbsConvertModification;
7fd59977 86
87 class GTrsfModification;
7fd59977 88
89 class Substitution;
7fd59977 90
91 class Quilt;
7fd59977 92
7fd59977 93 class ShapeSet;
7fd59977 94
95 class ReShape;
7fd59977 96
df8d3970 97 imported MapOfVertexPnt2d;
98
99 imported DataMapIteratorOfMapOfVertexPnt2d;
7fd59977 100
101 --
102 -- Methods
103 --
104
105 UVBounds(F : Face from TopoDS;
106 UMin, UMax, VMin, VMax : out Real);
107 ---Purpose: Returns in UMin, UMax, VMin, VMax the bounding
108 -- values in the parametric space of F.
109
110 UVBounds(F : Face from TopoDS;
111 W : Wire from TopoDS;
112 UMin, UMax, VMin, VMax : out Real);
113 ---Purpose: Returns in UMin, UMax, VMin, VMax the bounding
114 -- values of the wire in the parametric space of F.
115
116 UVBounds(F : Face from TopoDS;
117 E : Edge from TopoDS;
118 UMin, UMax, VMin, VMax : out Real);
119 ---Purpose: Returns in UMin, UMax, VMin, VMax the bounding
120 -- values of the edge in the parametric space of F.
121
122 AddUVBounds(F : Face from TopoDS;
123 B : in out Box2d from Bnd);
124 ---Purpose: Adds to the box <B> the bounding values in the
125 -- parametric space of F.
126
127 AddUVBounds(F : Face from TopoDS;
128 W : Wire from TopoDS;
129 B : in out Box2d from Bnd);
130 ---Purpose: Adds to the box <B> the bounding values of the
131 -- wire in the parametric space of F.
132
133 AddUVBounds(F : Face from TopoDS;
134 E : Edge from TopoDS;
135 B : in out Box2d from Bnd);
136 ---Purpose: Adds to the box <B> the bounding values of the
137 -- edge in the parametric space of F.
138
139
140 Update(V : Vertex from TopoDS);
141 ---Purpose: Update a vertex (nothing is done)
142
143 Update(E : Edge from TopoDS);
144 ---Purpose: Update an edge, compute 2d bounding boxes.
145
146 Update(W : Wire from TopoDS);
147 ---Purpose: Update a wire (nothing is done)
148
149 Update(F : Face from TopoDS);
150 ---Purpose: Update a Face, update UV points.
151
152 Update(S : Shell from TopoDS);
153 ---Purpose: Update a shell (nothing is done)
154
155 Update(S : Solid from TopoDS);
156 ---Purpose: Update a solid (nothing is done)
157
158 Update(C : CompSolid from TopoDS);
159 ---Purpose: Update a composite solid (nothing is done)
160
161 Update(C : Compound from TopoDS);
162 ---Purpose: Update a compound (nothing is done)
163
164 Update(S : Shape from TopoDS);
165 ---Purpose: Update a shape, call the corect update.
166
167
168
169 UpdateFaceUVPoints(F : Face from TopoDS);
170 ---Purpose: For all the edges of the face <F> reset the UV
171 -- points to ensure that connected faces have the
172 -- same point at there common extremity.
173
174 Clean(S: Shape from TopoDS);
175 ---Purpose: Removes all the triangulations of the faces of <S>
176 -- and removes all polygons on triangulations of the
177 -- edges.
178
01697018
J
179 RemoveUnusedPCurves(S: Shape from TopoDS);
180 ---Purpose: Removes all the pcurves of the edges of <S> that
181 -- refer to surfaces not belonging to any face of <S>
7fd59977 182
183 Triangulation(S: Shape from TopoDS; deflec: Real)
184 returns Boolean from Standard;
185 ---Purpose: verifies that each face from the shape <S> has got
186 -- a triangulation with a deflection <= deflec and
187 -- the edges a discretisation on this triangulation.
188
189
190 Compare(V1,V2 : Vertex from TopoDS) returns Boolean;
191 ---Purpose: Returns True if the distance between the two
192 -- vertices is lower than their tolerance.
193
194 Compare(E1,E2 : Edge from TopoDS) returns Boolean;
195 ---Purpose: Returns True if the distance between the two
196 -- edges is lower than their tolerance.
197
198 OuterWire(F : Face from TopoDS) returns Wire from TopoDS;
199 ---Purpose: Returns the outer most wire of <F>. Returns a Null
200 -- wire if <F> has no wires.
201
7fd59977 202 Map3DEdges(S : Shape from TopoDS;
203 M : in out IndexedMapOfShape from TopTools);
204 ---Purpose: Stores in the map <M> all the 3D topology edges
205 -- of <S>.
206
207 IsReallyClosed(E: Edge from TopoDS; F: Face from TopoDS)
208 ---Purpose: Verifies that the edge <E> is found two times on
209 -- the face <F> before calling BRep_Tool::IsClosed.
210 returns Boolean from Standard;
211
212
213 Dump(Sh : Shape from TopoDS; S : in out OStream);
214 ---Purpose: Dumps the topological structure and the geometry
215 -- of <Sh> on the stream <S>.
216
217 Write(Sh : Shape from TopoDS; S : in out OStream;
218 PR : ProgressIndicator from Message = NULL);
219 ---Purpose: Writes <Sh> on <S> in an ASCII format.
220
221 Read(Sh : out Shape from TopoDS; S : in out IStream;
222 B : Builder from BRep; PR : ProgressIndicator from Message = NULL);
223 ---Purpose: Reads a Shape from <S> in returns it in <Sh>.
224 -- <B> is used to build the shape.
225
226 Write(Sh : Shape from TopoDS; File : CString;
227 PR : ProgressIndicator from Message = NULL ) returns Boolean;
228 ---Purpose: Writes <Sh> in <File>.
229
230 Read(Sh : out Shape from TopoDS; File : CString;
231 B : Builder from BRep; PR : ProgressIndicator from Message = NULL)
232 returns Boolean;
233 ---Purpose: Reads a Shape from <File>, returns it in <Sh>.
234 -- <B> is used to build the shape.
235
236end BRepTools;
237
238