cfc08c7c670b2e4c1acd144108806d7a330d028b
[occt.git] / TopOpeBRepDS_BuildTool.cdl
1 -- File:        TopOpeBRepDS_BuildTool.cdl
2 -- Created:     Thu Jun 17 14:35:07 1993
3 -- Author:      Jean Yves LEBEY
4 --              <jyl@zerox>
5 ---Copyright:    Matra Datavision 1993
6
7
8
9 class BuildTool from TopOpeBRepDS 
10
11         ---Purpose: Provides  a  Tool  to  build  topologies. Used  to
12         --          instantiate the Builder algorithm.
13
14 uses
15
16     Orientation from TopAbs,
17     Shape       from TopoDS,
18     Vertex      from TopoDS,
19     Edge        from TopoDS,
20     Face        from TopoDS,
21     Surface     from TopOpeBRepDS,
22     Curve       from TopOpeBRepDS,
23     Curve       from Geom,
24     Point       from TopOpeBRepDS,
25     DataStructure from TopOpeBRepDS,
26     HDataStructure from TopOpeBRepDS,
27     Curve       from Geom2d,
28     Surface from Geom,
29     Builder     from BRep,
30     GeomTool    from TopOpeBRepTool,
31     CurveTool from TopOpeBRepTool,
32     OutCurveType from TopOpeBRepTool
33
34 is
35
36     Create returns BuildTool from TopOpeBRepDS;
37
38     Create (OutCurveType : OutCurveType from TopOpeBRepTool)
39     returns BuildTool from TopOpeBRepDS;
40
41     Create (GT : GeomTool from TopOpeBRepTool) 
42     returns BuildTool from TopOpeBRepDS;
43
44     GetGeomTool(me) returns GeomTool from TopOpeBRepTool
45     ---C++: return const &
46     is static;
47
48     ChangeGeomTool(me : in out) returns GeomTool from TopOpeBRepTool
49     ---C++: return &
50     is static;
51
52     MakeVertex(me; V : out Shape from TopoDS; P : Point from TopOpeBRepDS)
53     is static;
54     
55     --- ================================================================
56     --- supprimer la syntaxe sans DS
57     MakeEdge(me; E : out Shape from TopoDS; C : Curve from TopOpeBRepDS)
58     is static;
59
60     MakeEdge(me; E : out Shape from TopoDS; 
61                  C : Curve from TopOpeBRepDS;
62                  DS : DataStructure from TopOpeBRepDS)
63     is static;
64     --- ================================================================
65
66     MakeEdge(me; E : out Shape from TopoDS; 
67                  C : Curve from Geom;
68                  Tol : Real from Standard)
69     is static;
70
71     MakeEdge(me; E : out Shape from TopoDS)
72     is static;
73
74     MakeWire(me; W : out Shape from TopoDS)
75     is static;
76     
77     MakeFace(me; F : out Shape from TopoDS; S : Surface from TopOpeBRepDS)
78     is static;
79
80     MakeShell(me; Sh : out Shape from TopoDS)
81     is static;
82     
83     MakeSolid(me; S : out Shape from TopoDS)
84     is static;
85     
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>
89     is static;
90         
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) 
95     is static;
96     
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) 
106     is static;
107     
108     ApproxCurves(me; C : Curve from TopOpeBRepDS;
109                      E  : out Edge from TopoDS;
110                      inewC : out Integer from Standard;
111                      HDS : HDataStructure from TopOpeBRepDS) 
112     is static;
113     
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) 
120     is static;
121
122     PutPCurves(me; newC : Curve from TopOpeBRepDS;
123                    E  : out Edge from TopoDS;
124                    CompPC1 : Boolean from Standard;
125                    CompPC2 : Boolean from Standard) 
126     is static;
127
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) 
133     is static;
134
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>
137     is static;
138     
139     AddEdgeVertex(me; 
140                   Ein : Shape from TopoDS; 
141                   Eou : in out Shape from TopoDS; 
142                   V : Shape from TopoDS)
143     is static;
144     
145     AddEdgeVertex(me; 
146                   E : in out Shape from TopoDS; 
147                   V : Shape from TopoDS)
148     is static;
149     
150     AddWireEdge(me; W : in out Shape from TopoDS; E : Shape from TopoDS)
151     is static;
152     
153     AddFaceWire(me; F : in out Shape from TopoDS; W : Shape from TopoDS)
154     is static;
155     
156     AddShellFace(me; Sh : in out Shape from TopoDS; F : Shape from TopoDS)
157     is static;
158     
159     AddSolidShell(me; S : in out Shape from TopoDS; Sh : Shape from TopoDS)
160     is static;
161     
162     Parameter(me; E : Shape from TopoDS; 
163                   V : Shape from TopoDS;  
164                   P : Real)
165         ---Purpose: Sets the parameter <P>  for  the vertex <V> on the
166         --          edge <E>.
167     is static;
168
169     Range(me; E : Shape from TopoDS;
170               first,last : Real from Standard)
171         ---Purpose: Sets the range of edge <E>.
172     is static;
173
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.
178     is static;
179
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>.
185     is static;
186     
187     Curve3D(me; E : in out Shape from TopoDS; 
188                 C : Curve from Geom;
189                 Tol : Real from Standard)  
190         ---Purpose: Sets the  curve <C> for the edge  <E>
191     is static;
192
193     TranslateOnPeriodic(me; F : in out Shape from TopoDS; 
194                             E : in out Shape from TopoDS; 
195                             C : in out Curve from Geom2d)
196     is static private;
197
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
204         --          set.
205     is static;
206
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)
211     is static;
212     
213     Orientation(me; S : in out Shape from TopoDS ; O : Orientation from TopAbs)
214     is static;
215
216     Orientation(me; S : Shape from TopoDS) returns Orientation from TopAbs
217     is static;
218
219     Closed(me; S : in out Shape from TopoDS; B : Boolean from Standard)
220     is static;
221
222     Approximation(me) returns Boolean from Standard
223     is static;
224
225     UpdateSurface(me; F : Shape from TopoDS; SU : Surface from Geom) is static;
226
227     UpdateSurface(me; E,oldF,newF : Shape from TopoDS) is static;
228
229     OverWrite(me) returns Boolean from Standard is static;
230
231     OverWrite(me : in out; O : Boolean from Standard) is static;
232
233     Translate(me) returns Boolean from Standard is static;
234
235     Translate(me : in out; T : Boolean from Standard) is static;
236
237 fields
238     
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  
244     
245 end BuildTool from TopOpeBRepDS;