1 -- Created on: 1993-06-17
2 -- Created by: Jean Yves LEBEY
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class BuildTool from TopOpeBRepDS
19 ---Purpose: Provides a Tool to build topologies. Used to
20 -- instantiate the Builder algorithm.
24 Orientation from TopAbs,
29 Surface from TopOpeBRepDS,
30 Curve from TopOpeBRepDS,
32 Point from TopOpeBRepDS,
33 DataStructure from TopOpeBRepDS,
34 HDataStructure from TopOpeBRepDS,
38 GeomTool from TopOpeBRepTool,
39 CurveTool from TopOpeBRepTool,
40 OutCurveType from TopOpeBRepTool
44 Create returns BuildTool from TopOpeBRepDS;
46 Create (OutCurveType : OutCurveType from TopOpeBRepTool)
47 returns BuildTool from TopOpeBRepDS;
49 Create (GT : GeomTool from TopOpeBRepTool)
50 returns BuildTool from TopOpeBRepDS;
52 GetGeomTool(me) returns GeomTool from TopOpeBRepTool
53 ---C++: return const &
56 ChangeGeomTool(me : in out) returns GeomTool from TopOpeBRepTool
60 MakeVertex(me; V : out Shape from TopoDS; P : Point from TopOpeBRepDS)
63 --- ================================================================
64 --- supprimer la syntaxe sans DS
65 MakeEdge(me; E : out Shape from TopoDS; C : Curve from TopOpeBRepDS)
68 MakeEdge(me; E : out Shape from TopoDS;
69 C : Curve from TopOpeBRepDS;
70 DS : DataStructure from TopOpeBRepDS)
72 --- ================================================================
74 MakeEdge(me; E : out Shape from TopoDS;
76 Tol : Real from Standard)
79 MakeEdge(me; E : out Shape from TopoDS)
82 MakeWire(me; W : out Shape from TopoDS)
85 MakeFace(me; F : out Shape from TopoDS; S : Surface from TopOpeBRepDS)
88 MakeShell(me; Sh : out Shape from TopoDS)
91 MakeSolid(me; S : out Shape from TopoDS)
94 CopyEdge(me; Ein : Shape from TopoDS;
95 Eou : in out Shape from TopoDS)
96 ---Purpose: Make an edge <Eou> with the curve of the edge <Ein>
99 GetOrientedEdgeVertices(me; E : out Edge from TopoDS;
100 Vmin, Vmax : out Vertex from TopoDS;
101 Parmin : out Real from Standard;
102 Parmax : out Real from Standard)
105 UpdateEdgeCurveTol(me; F1, F2 : Face from TopoDS;
106 E : out Edge from TopoDS;
107 C3Dnew : Curve from Geom;
108 tol3d : Real from Standard;
109 tol2d1 : Real from Standard;
110 tol2d2 : Real from Standard;
111 newtol : out Real from Standard;
112 newparmin : out Real from Standard;
113 newparmax : out Real from Standard)
116 ApproxCurves(me; C : Curve from TopOpeBRepDS;
117 E : out Edge from TopoDS;
118 inewC : out Integer from Standard;
119 HDS : HDataStructure from TopOpeBRepDS)
122 ComputePCurves(me; C : Curve from TopOpeBRepDS;
123 E : out Edge from TopoDS;
124 newC : out Curve from TopOpeBRepDS;
125 CompPC1 : Boolean from Standard;
126 CompPC2 : Boolean from Standard;
127 CompC3D : Boolean from Standard)
130 PutPCurves(me; newC : Curve from TopOpeBRepDS;
131 E : out Edge from TopoDS;
132 CompPC1 : Boolean from Standard;
133 CompPC2 : Boolean from Standard)
136 RecomputeCurves(me; C : Curve from TopOpeBRepDS;
137 oldE : Edge from TopoDS;
138 E : out Edge from TopoDS;
139 inewC : out Integer from Standard;
140 HDS : HDataStructure from TopOpeBRepDS)
143 CopyFace(me; Fin : Shape from TopoDS; Fou : in out Shape from TopoDS)
144 ---Purpose: Make a face <Fou> with the surface of the face <Fin>
148 Ein : Shape from TopoDS;
149 Eou : in out Shape from TopoDS;
150 V : Shape from TopoDS)
154 E : in out Shape from TopoDS;
155 V : Shape from TopoDS)
158 AddWireEdge(me; W : in out Shape from TopoDS; E : Shape from TopoDS)
161 AddFaceWire(me; F : in out Shape from TopoDS; W : Shape from TopoDS)
164 AddShellFace(me; Sh : in out Shape from TopoDS; F : Shape from TopoDS)
167 AddSolidShell(me; S : in out Shape from TopoDS; Sh : Shape from TopoDS)
170 Parameter(me; E : Shape from TopoDS;
171 V : Shape from TopoDS;
173 ---Purpose: Sets the parameter <P> for the vertex <V> on the
177 Range(me; E : Shape from TopoDS;
178 first,last : Real from Standard)
179 ---Purpose: Sets the range of edge <E>.
182 UpdateEdge(me; Ein : Shape from TopoDS;
183 Eou : in out Shape from TopoDS)
184 ---Purpose: Sets the range of edge <Eou> from <Ein>
185 -- only when <Ein> has a closed geometry.
188 Parameter(me; C : Curve from TopOpeBRepDS;
189 E : in out Shape from TopoDS;
190 V : in out Shape from TopoDS)
191 ---Purpose: Compute the parameter of the vertex <V>, supported
192 -- by the edge <E>, on the curve <C>.
195 Curve3D(me; E : in out Shape from TopoDS;
197 Tol : Real from Standard)
198 ---Purpose: Sets the curve <C> for the edge <E>
201 TranslateOnPeriodic(me; F : in out Shape from TopoDS;
202 E : in out Shape from TopoDS;
203 C : in out Curve from Geom2d)
206 PCurve(me; F : in out Shape from TopoDS;
207 E : in out Shape from TopoDS;
208 C : Curve from Geom2d)
209 ---Purpose: Sets the pcurve <C> for the edge <E> on the face
210 -- <F>. If OverWrite is True the old pcurve if there
211 -- is one is overwritten, else the two pcurves are
215 PCurve(me; F : in out Shape from TopoDS;
216 E : in out Shape from TopoDS;
217 CDS : Curve from TopOpeBRepDS;
218 C : Curve from Geom2d)
221 Orientation(me; S : in out Shape from TopoDS ; O : Orientation from TopAbs)
224 Orientation(me; S : Shape from TopoDS) returns Orientation from TopAbs
227 Closed(me; S : in out Shape from TopoDS; B : Boolean from Standard)
230 Approximation(me) returns Boolean from Standard
233 UpdateSurface(me; F : Shape from TopoDS; SU : Surface from Geom) is static;
235 UpdateSurface(me; E,oldF,newF : Shape from TopoDS) is static;
237 OverWrite(me) returns Boolean from Standard is static;
239 OverWrite(me : in out; O : Boolean from Standard) is static;
241 Translate(me) returns Boolean from Standard is static;
243 Translate(me : in out; T : Boolean from Standard) is static;
247 myBuilder : Builder from BRep;
248 myCurveTool : CurveTool from TopOpeBRepTool;
249 myOverWrite : Boolean from Standard;
250 myTranslate : Boolean from Standard; -- consigne de recadrage des pcurves
251 -- sur surfaces periodiques
253 end BuildTool from TopOpeBRepDS;