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