Commit | Line | Data |
---|---|---|
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 | |
17 | package 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 | ||
56 | uses | |
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 | ||
75 | is | |
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 | ||
236 | end BRepTools; | |
237 | ||
238 |