2 -- Created: Fri Aug 28 18:54:27 1992
3 -- Author: Remi LEQUETTE
5 ---Copyright: Matra Datavision 1992
11 -- All methods of all classes will be public.
13 ---Purpose: The BRepTools package provides utilities for BRep
16 -- * WireExplorer : A tool to explore the topology of
17 -- a wire in the order of the edges.
19 -- * ShapeSet : Tools used for dumping, writing and
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.
26 -- * Update : Methods to call when a topology has
27 -- been created to compute all missing data.
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.
34 -- * Compare : Method to compare two vertices.
36 -- * Compare : Method to compare two edges.
38 -- * OuterWire : A method to find the outer wire of a
41 -- * OuterShell : A method to find the outer shell of
44 -- * Map3DEdges : A method to map all the 3D Edges of
47 -- * Dump : A method to dump a BRep object.
72 ---Purpose: To explore the 3D or the UV topology of a Face.
74 deferred class Modification;
75 ---Purpose: Defines geometric modifications on a shape
76 -- ( on the faces, the edges, the vertices).
79 ---Purpose: Performs geometric modifications on a shape.
81 class TrsfModification;
82 ---Purpose: Defines a Modification with a Trsf from gp.
83 -- Inherited from Modification.
85 class NurbsConvertModification;
86 ---Purpose: Conversion des entites analytiques d'une shape
87 -- en NURBS (courbes et surface 3D)
88 -- Inherited from Modification.
90 class GTrsfModification;
91 ---Purpose: Defines a Modification with a GTrsf from gp.
92 -- Inherited from Modification.
95 ---Purpose: Provides a tool to change subshapes in a shape.
98 ---Purpose: Provides a tool to glue shapes on edges.
99 -- for exemple glue faces to make a shell.
102 ---Purpose: Provides a tool to
103 -- - identify contigous boundaries (for control
104 -- of continuity: C0, C1, ...)
105 -- - assemble contigous shapes into one shape.
108 -- Dump, Write, Read tools
111 ---Purpose: A set of BRep TShapes. Inherited from TopTools.
114 ---Purpose: Provides tools for modification of shape.
116 class MapOfVertexPnt2d instantiates DataMap from TCollection
118 SequenceOfPnt2d from TColgp,
119 ShapeMapHasher from TopTools);
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.
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.
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.
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.
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.
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.
160 Update(V : Vertex from TopoDS);
161 ---Purpose: Update a vertex (nothing is done)
163 Update(E : Edge from TopoDS);
164 ---Purpose: Update an edge, compute 2d bounding boxes.
166 Update(W : Wire from TopoDS);
167 ---Purpose: Update a wire (nothing is done)
169 Update(F : Face from TopoDS);
170 ---Purpose: Update a Face, update UV points.
172 Update(S : Shell from TopoDS);
173 ---Purpose: Update a shell (nothing is done)
175 Update(S : Solid from TopoDS);
176 ---Purpose: Update a solid (nothing is done)
178 Update(C : CompSolid from TopoDS);
179 ---Purpose: Update a composite solid (nothing is done)
181 Update(C : Compound from TopoDS);
182 ---Purpose: Update a compound (nothing is done)
184 Update(S : Shape from TopoDS);
185 ---Purpose: Update a shape, call the corect update.
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.
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
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.
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.
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.
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.
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.
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
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;
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>.
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.
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.
247 Write(Sh : Shape from TopoDS; File : CString;
248 PR : ProgressIndicator from Message = NULL ) returns Boolean;
249 ---Purpose: Writes <Sh> in <File>.
251 Read(Sh : out Shape from TopoDS; File : CString;
252 B : Builder from BRep; PR : ProgressIndicator from Message = NULL)
254 ---Purpose: Reads a Shape from <File>, returns it in <Sh>.
255 -- <B> is used to build the shape.