0023948: Wrong intersection between a surface of revolution and a plane.
[occt.git] / src / MgtTopLoc / MgtTopLoc.cdl
1 -- Created on: 1993-03-03
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 package MgtTopLoc 
21
22         ---Purpose: The package  MgtTopLoc provides methods   to store
23         --          and retrieve local    coordinate    systems.  i.e.
24         --          translationg them from Persistent to Transient and
25         --          vice-versa. 
26         --          
27         --          * Persistent local coordinate systems are provided
28         --          by the package PTopLoc.
29         --          
30         --          * Transient local  coordinate systems are provided
31         --          by the package TopLoc.
32         --          
33         --          This package keeps  track of previous translations
34         --          to preserve the incremental  feature of coordinate
35         --          systems. i.e.  once a  data  has  been translated,
36         --          translating it back will give the original data.
37         --          
38         --          Two kinds of objects are managed :
39         --          
40         --          *   Datum3D :  A  Datum3D   is an elementary local
41         --          coordinate system handled by reference.
42         --          
43         --          *  Location   : A Location   is  a  complex  local
44         --          coordinate system   made   by  linking  elementary
45         --          coordinate systems  (Datum3D).  If  a Location  is
46         --          translated twice only the local coordinate systems
47         --          will be the same.  This  is not a problem  as  the
48         --          comparison of Locations is based on the comparison
49         --          of local coordinate systems.
50
51 uses
52
53     TopLoc,
54     PTopLoc,
55     PTColStd
56     
57 is
58     Translate(D : Datum3D from TopLoc;
59               M : in out TransientPersistentMap from PTColStd) 
60     returns Datum3D from PTopLoc;
61         ---Purpose: Translate a  transient   Datum3D to  a  persistant
62         --          Datum3D.
63         ---Level: Internal 
64         
65     Translate(D : Datum3D from PTopLoc;
66               M : in out PersistentTransientMap from PTColStd)
67     returns Datum3D from TopLoc;
68         ---Purpose: Translate a  persistant   Datum3D to  a  transient
69         --          Datum3D.
70         ---Level: Internal 
71         
72         
73     Translate(L : Location from TopLoc;
74               M : in out TransientPersistentMap from PTColStd)  
75     returns Location from PTopLoc;
76         ---Purpose: Translate a non  storable  Location to  a storable
77         --          Location.
78         ---Level: Internal 
79         
80     Translate(L : Location from PTopLoc;
81               M : in out PersistentTransientMap from PTColStd)   
82     returns Location from TopLoc;
83         ---Purpose: Translate a storable  Location  to a non  storable
84         --          Location.
85         ---Level: Internal      
86     
87
88 end MgtTopLoc;