1 -- File: TopOpeBRepDS_BuildTool.cdl
2 -- Created: Thu Jun 17 14:35:07 1993
3 -- Author: Jean Yves LEBEY
5 ---Copyright: Matra Datavision 1993
9 class BuildTool from TopOpeBRepDS
11 ---Purpose: Provides a Tool to build topologies. Used to
12 -- instantiate the Builder algorithm.
16 Orientation from TopAbs,
21 Surface from TopOpeBRepDS,
22 Curve from TopOpeBRepDS,
24 Point from TopOpeBRepDS,
25 DataStructure from TopOpeBRepDS,
26 HDataStructure from TopOpeBRepDS,
30 GeomTool from TopOpeBRepTool,
31 CurveTool from TopOpeBRepTool,
32 OutCurveType from TopOpeBRepTool
36 Create returns BuildTool from TopOpeBRepDS;
38 Create (OutCurveType : OutCurveType from TopOpeBRepTool)
39 returns BuildTool from TopOpeBRepDS;
41 Create (GT : GeomTool from TopOpeBRepTool)
42 returns BuildTool from TopOpeBRepDS;
44 GetGeomTool(me) returns GeomTool from TopOpeBRepTool
45 ---C++: return const &
48 ChangeGeomTool(me : in out) returns GeomTool from TopOpeBRepTool
52 MakeVertex(me; V : out Shape from TopoDS; P : Point from TopOpeBRepDS)
55 --- ================================================================
56 --- supprimer la syntaxe sans DS
57 MakeEdge(me; E : out Shape from TopoDS; C : Curve from TopOpeBRepDS)
60 MakeEdge(me; E : out Shape from TopoDS;
61 C : Curve from TopOpeBRepDS;
62 DS : DataStructure from TopOpeBRepDS)
64 --- ================================================================
66 MakeEdge(me; E : out Shape from TopoDS;
68 Tol : Real from Standard)
71 MakeEdge(me; E : out Shape from TopoDS)
74 MakeWire(me; W : out Shape from TopoDS)
77 MakeFace(me; F : out Shape from TopoDS; S : Surface from TopOpeBRepDS)
80 MakeShell(me; Sh : out Shape from TopoDS)
83 MakeSolid(me; S : out Shape from TopoDS)
86 CopyEdge(me; Ein : Shape from TopoDS;
87 Eou : in out Shape from TopoDS)
88 ---Purpose: Make an edge <Eou> with the curve of the edge <Ein>
91 GetOrientedEdgeVertices(me; E : out Edge from TopoDS;
92 Vmin, Vmax : out Vertex from TopoDS;
93 Parmin : out Real from Standard;
94 Parmax : out Real from Standard)
97 UpdateEdgeCurveTol(me; F1, F2 : Face from TopoDS;
98 E : out Edge from TopoDS;
99 C3Dnew : Curve from Geom;
100 tol3d : Real from Standard;
101 tol2d1 : Real from Standard;
102 tol2d2 : Real from Standard;
103 newtol : out Real from Standard;
104 newparmin : out Real from Standard;
105 newparmax : out Real from Standard)
108 ApproxCurves(me; C : Curve from TopOpeBRepDS;
109 E : out Edge from TopoDS;
110 inewC : out Integer from Standard;
111 HDS : HDataStructure from TopOpeBRepDS)
114 ComputePCurves(me; C : Curve from TopOpeBRepDS;
115 E : out Edge from TopoDS;
116 newC : out Curve from TopOpeBRepDS;
117 CompPC1 : Boolean from Standard;
118 CompPC2 : Boolean from Standard;
119 CompC3D : Boolean from Standard)
122 PutPCurves(me; newC : Curve from TopOpeBRepDS;
123 E : out Edge from TopoDS;
124 CompPC1 : Boolean from Standard;
125 CompPC2 : Boolean from Standard)
128 RecomputeCurves(me; C : Curve from TopOpeBRepDS;
129 oldE : Edge from TopoDS;
130 E : out Edge from TopoDS;
131 inewC : out Integer from Standard;
132 HDS : HDataStructure from TopOpeBRepDS)
135 CopyFace(me; Fin : Shape from TopoDS; Fou : in out Shape from TopoDS)
136 ---Purpose: Make a face <Fou> with the surface of the face <Fin>
140 Ein : Shape from TopoDS;
141 Eou : in out Shape from TopoDS;
142 V : Shape from TopoDS)
146 E : in out Shape from TopoDS;
147 V : Shape from TopoDS)
150 AddWireEdge(me; W : in out Shape from TopoDS; E : Shape from TopoDS)
153 AddFaceWire(me; F : in out Shape from TopoDS; W : Shape from TopoDS)
156 AddShellFace(me; Sh : in out Shape from TopoDS; F : Shape from TopoDS)
159 AddSolidShell(me; S : in out Shape from TopoDS; Sh : Shape from TopoDS)
162 Parameter(me; E : Shape from TopoDS;
163 V : Shape from TopoDS;
165 ---Purpose: Sets the parameter <P> for the vertex <V> on the
169 Range(me; E : Shape from TopoDS;
170 first,last : Real from Standard)
171 ---Purpose: Sets the range of edge <E>.
174 UpdateEdge(me; Ein : Shape from TopoDS;
175 Eou : in out Shape from TopoDS)
176 ---Purpose: Sets the range of edge <Eou> from <Ein>
177 -- only when <Ein> has a closed geometry.
180 Parameter(me; C : Curve from TopOpeBRepDS;
181 E : in out Shape from TopoDS;
182 V : in out Shape from TopoDS)
183 ---Purpose: Compute the parameter of the vertex <V>, supported
184 -- by the edge <E>, on the curve <C>.
187 Curve3D(me; E : in out Shape from TopoDS;
189 Tol : Real from Standard)
190 ---Purpose: Sets the curve <C> for the edge <E>
193 TranslateOnPeriodic(me; F : in out Shape from TopoDS;
194 E : in out Shape from TopoDS;
195 C : in out Curve from Geom2d)
198 PCurve(me; F : in out Shape from TopoDS;
199 E : in out Shape from TopoDS;
200 C : Curve from Geom2d)
201 ---Purpose: Sets the pcurve <C> for the edge <E> on the face
202 -- <F>. If OverWrite is True the old pcurve if there
203 -- is one is overwritten, else the two pcurves are
207 PCurve(me; F : in out Shape from TopoDS;
208 E : in out Shape from TopoDS;
209 CDS : Curve from TopOpeBRepDS;
210 C : Curve from Geom2d)
213 Orientation(me; S : in out Shape from TopoDS ; O : Orientation from TopAbs)
216 Orientation(me; S : Shape from TopoDS) returns Orientation from TopAbs
219 Closed(me; S : in out Shape from TopoDS; B : Boolean from Standard)
222 Approximation(me) returns Boolean from Standard
225 UpdateSurface(me; F : Shape from TopoDS; SU : Surface from Geom) is static;
227 UpdateSurface(me; E,oldF,newF : Shape from TopoDS) is static;
229 OverWrite(me) returns Boolean from Standard is static;
231 OverWrite(me : in out; O : Boolean from Standard) is static;
233 Translate(me) returns Boolean from Standard is static;
235 Translate(me : in out; T : Boolean from Standard) is static;
239 myBuilder : Builder from BRep;
240 myCurveTool : CurveTool from TopOpeBRepTool;
241 myOverWrite : Boolean from Standard;
242 myTranslate : Boolean from Standard; -- consigne de recadrage des pcurves
243 -- sur surfaces periodiques
245 end BuildTool from TopOpeBRepDS;