b311480e |
1 | -- Created on: 1993-03-03 |
2 | -- Created by: Remi LEQUETTE |
3 | -- Copyright (c) 1993-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
b311480e |
16 | |
7fd59977 |
17 | -- Update: Frederic MAUPAS |
7fd59977 |
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; |