0024830: Remove redundant keyword 'mutable' in CDL declarations
[occt.git] / src / MgtBRep / MgtBRep_TranslateTool.cdl
1 -- Created on: 1993-06-14
2 -- Created by: Remi LEQUETTE
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 -- Update:      Frederic MAUPAS
18
19
20 class TranslateTool from MgtBRep inherits TranslateTool from MgtTopoDS
21
22         ---Purpose: The TranslateTool class is provided to support the
23         --          translation of BRep topological data structures.
24 uses
25
26     TransientPersistentMap from PTColStd,
27     PersistentTransientMap from PTColStd,
28     CurveRepresentation    from PBRep,
29     CurveRepresentation    from BRep,
30     Curve                  from Geom,
31     Curve                  from PGeom,
32     Curve                  from Geom2d,
33     Curve                  from PGeom2d,
34     Surface                from Geom,
35     Surface                from PGeom,
36     Shape                  from TopoDS,
37     HShape                 from PTopoDS,
38     TriangleMode           from MgtBRep
39
40 raises
41     TypeMismatch from Standard
42
43 is
44
45     Create(aTriMode : TriangleMode from MgtBRep)
46     returns TranslateTool from MgtBRep;
47         ---Purpose: Creates a new TranslateTool
48
49     --
50     --     Auxiliairy Protected Methods for Shape Geometrical Rep
51     --     
52
53     Translate(me;
54               TC : Curve                         from Geom;
55               M  : in out TransientPersistentMap from PTColStd)
56     returns Curve from PGeom
57     is protected;
58     ---Purpose: Translates a Transient Curve onto a Persistent Curve
59
60     Translate(me;
61               PC : Curve                         from PGeom;
62               M  : in out PersistentTransientMap from PTColStd)
63     returns Curve from Geom
64     is protected;
65     ---Purpose: Translates a Persistent Curve onto a Transient Curve
66
67
68     Translate(me;
69               TC : Curve                         from Geom2d;
70               M  : in out TransientPersistentMap from PTColStd)
71     returns Curve from PGeom2d
72     is protected;
73     ---Purpose: Translates a Transient Curve2d onto a Persistent Curve
74
75     Translate(me;
76               PC : Curve                         from PGeom2d;
77               M  : in out PersistentTransientMap from PTColStd)
78     returns Curve from Geom2d
79     is protected;
80     ---Purpose: Translates a Persistent Curve2d onto a Transient Curve
81     
82
83     Translate(me;
84               TS : Surface                       from Geom;
85               M  : in out TransientPersistentMap from PTColStd)
86     returns Surface from PGeom
87     is protected;
88     ---Purpose: Translates a Transient Surface onto a Persistent Curve
89
90     Translate(me;
91               PS : Surface                       from PGeom;
92               M  : in out PersistentTransientMap from PTColStd)
93     returns Surface from Geom
94     is protected;
95     ---Purpose: Translates a Persistent Surface onto a Transient Curve
96         
97     --         
98     --     The Add method is used to insert a shape in an other shape.
99     --     
100     
101     Add(me;
102         S1 : in out Shape from TopoDS;
103         S2 :        Shape from TopoDS)
104         ---Level: Internal 
105     raises
106         TypeMismatch from Standard;
107     
108     --
109     --       The Make methods should create a new empty  object of the
110     --       given type with  the given Model.   They should raise the
111     --       TypeMismatch   exception  if  the Model   is  not of  the
112     --       expected type.
113     --       
114
115
116     MakeVertex(me; 
117                S  : out Shape from TopoDS) 
118         ---Level: Internal 
119     raises
120         TypeMismatch from Standard;
121     
122     MakeVertex(me; 
123                S  : HShape from PTopoDS) 
124         ---Level: Internal 
125     raises
126         TypeMismatch from Standard;
127     
128     MakeEdge(me; 
129              S  : out Shape from TopoDS) 
130         ---Level: Internal 
131     raises
132         TypeMismatch from Standard;
133     
134     MakeEdge(me; 
135              S  : HShape from PTopoDS) 
136         ---Level: Internal 
137     raises
138         TypeMismatch from Standard;
139     
140     MakeWire(me; 
141              S  : out Shape from TopoDS) 
142         ---Level: Internal 
143     raises
144         TypeMismatch from Standard;
145     
146     MakeWire(me; 
147              S  : HShape from PTopoDS) 
148         ---Level: Internal 
149     raises
150         TypeMismatch from Standard;
151     
152     MakeFace(me; 
153              S  : out Shape from TopoDS) 
154         ---Level: Internal 
155     raises
156         TypeMismatch from Standard;
157     
158     MakeFace(me; 
159              S  : HShape from PTopoDS) 
160         ---Level: Internal 
161     raises
162         TypeMismatch from Standard;
163     
164     MakeShell(me; 
165               S  : out Shape from TopoDS) 
166         ---Level: Internal 
167     raises
168         TypeMismatch from Standard;
169     
170     MakeShell(me; 
171               S  : HShape from PTopoDS) 
172         ---Level: Internal 
173     raises
174         TypeMismatch from Standard;
175     
176     MakeSolid(me; 
177               S  : out Shape from TopoDS) 
178         ---Level: Internal 
179     raises
180         TypeMismatch from Standard;
181     
182     MakeSolid(me; 
183               S  : HShape from PTopoDS) 
184         ---Level: Internal 
185     raises
186         TypeMismatch from Standard;
187     
188     MakeCompSolid(me; 
189                   S  : out Shape from TopoDS) 
190         ---Level: Internal 
191     raises
192         TypeMismatch from Standard;
193     
194     MakeCompSolid(me; 
195                   S  : HShape from PTopoDS) 
196         ---Level: Internal 
197     raises
198         TypeMismatch from Standard;
199     
200     MakeCompound(me; 
201                  S  : out Shape from TopoDS) 
202         ---Level: Internal 
203     raises
204         TypeMismatch from Standard;
205     
206     MakeCompound(me; 
207                  S  : HShape from PTopoDS) 
208         ---Level: Internal 
209     raises
210         TypeMismatch from Standard;
211     
212     --
213     --     The Update methods should transfer the data from  the first
214     --     shape to the second.
215     --     
216     --     When an update method  is redefined it  should transfer the
217     --     data then call the Update  redefined method to transfer the
218     --     inherited data.
219     --     
220     
221     UpdateVertex(me;
222                  S1 :         Shape                  from TopoDS;
223                  S2 : HShape                 from PTopoDS;
224                  M  : in out  TransientPersistentMap from PTColStd)
225         ---Level: Internal 
226     is redefined;
227     
228     UpdateVertex(me;
229                  S1 :        HShape                 from PTopoDS;
230                  S2 : in out Shape                  from TopoDS;
231                  M  : in out PersistentTransientMap from PTColStd)
232         ---Level: Internal 
233     is redefined;
234     
235     UpdateEdge(me;
236                S1 :         Shape                  from TopoDS;
237                S2 : HShape                 from PTopoDS;
238                M  : in out  TransientPersistentMap from PTColStd)
239         ---Level: Internal 
240     is redefined;
241     
242     UpdateEdge(me;
243                S1 :        HShape                 from PTopoDS;
244                S2 : in out Shape                  from TopoDS;
245                M  : in out PersistentTransientMap from PTColStd)
246         ---Level: Internal 
247     is redefined;
248     
249     UpdateFace(me;
250                S1 :         Shape                  from TopoDS;
251                S2 : HShape                 from PTopoDS;
252                M  : in out  TransientPersistentMap from PTColStd)
253         ---Level: Internal 
254     is redefined;
255     
256     UpdateFace(me;
257                S1 :        HShape                 from PTopoDS;
258                S2 : in out Shape                  from TopoDS;
259                M  : in out PersistentTransientMap from PTColStd)
260         ---Level: Internal 
261     is redefined;
262
263 fields
264
265     myTriangleMode       : TriangleMode   from MgtBRep;
266     
267 end TranslateTool;