0024927: Getting rid of "Persistent" functionality -- Code
[occt.git] / src / MgtTopoDS / MgtTopoDS.cdl
1 -- Created on: 1993-03-09
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
21 package MgtTopoDS 
22
23         ---Purpose: The  package  MgtTopoDS  provides methods to store
24         --          and  retrieve Topological  Data  Structure objects
25         --          from the Database.
26         --          
27         --          The  objects are  translated  between  a transient
28         --          topology and a persitent topology.
29         --          
30         --          *   The TopoDS  package   describes  the transient
31         --          topology.
32         --          
33         --          *  The  PTopoDS  package describes  the persistent
34         --          topology.
35         --          
36         --          As the topological data structure may be completed
37         --          by  inheritance  the  MgtTopoDS package provides a
38         --          mechanism to support  the translation of inherited
39         --          data structure. This mechanism is supported by the
40         --          TranslateTool class.
41         --          
42         --          An error is  raised if  the TranslateTool does not
43         --          match with  the DataStructure  to  translate. This
44         --          check is done with the type of the Model.
45         --          
46         --          This   package   does   not  provides  methods  to
47         --          translate directly Shapes from TopoDS  and PTopoDS
48         --          because the   data structures  are  deferred.   It
49         --          provides methods to support  the implementation of
50         --          Translate methods in the inherited DataStructures.
51         --          
52         --          In  an   inherited data  structure  the  Translate
53         --          method must :
54         --          
55         --          * Create a TranslateTool of the correct type.
56         --          
57         --          * Call the Translate method of MgtTopoDS with this
58         --          Tool.
59
60 uses
61
62     TopoDS,
63     TopTools,
64     PTopoDS,
65     PTColStd,
66     MMgt
67
68 is
69
70     deferred class TranslateTool;
71
72     deferred class TranslateTool1;
73
74
75     ---Category: Old translate methods.
76     --           ======================
77
78     Translate(S : Shape                         from TopoDS;  
79               T : TranslateTool                 from MgtTopoDS;
80               M : in out TransientPersistentMap from PTColStd)
81         returns HShape from PTopoDS
82         raises TypeMismatch from Standard;
83         ---Purpose: Translates a Transient Shape onto a Persistent Shape
84
85     Translate(S  : HShape                        from PTopoDS; 
86               T  : TranslateTool                 from MgtTopoDS;
87               M  : in out PersistentTransientMap from PTColStd;
88               Sh : in out Shape from TopoDS) 
89         raises TypeMismatch from Standard;
90         ---Purpose: Translates a Persistent Shape onto a Transient Shape
91
92
93     ---Category: New translate methods.
94     --           ======================
95
96     Translate1(aShape : Shape from TopoDS;  
97                T : TranslateTool1 from MgtTopoDS;
98                M : in out TransientPersistentMap from PTColStd;
99                aPShape : in out Shape1 from PTopoDS)
100         raises TypeMismatch from Standard;
101         ---Purpose: Translates a Transient Shape onto a Persistent Shape
102
103     Translate1(aPShape : Shape1 from PTopoDS; 
104                T : TranslateTool1 from MgtTopoDS;
105                M : in out PersistentTransientMap from PTColStd;
106                aShape : in out Shape from TopoDS) 
107         raises TypeMismatch from Standard;
108         ---Purpose: Translates a Persistent Shape onto a Transient Shape
109
110 end MgtTopoDS;