0024530: TKMesh - remove unused package IntPoly
[occt.git] / src / PTopoDS / PTopoDS.cdl
1 -- Created on: 1993-03-08
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
9 -- under the terms of the GNU Lesser General Public 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 PTopoDS 
21
22         ---Purpose: The package PTopoDS provides persistent classes to
23         --          store Topological Data Structures in Data Base.
24         --          
25         --          The  structure  of  this  persistent  topology  is
26         --          similar  to   the  transient  topology   (see  its
27         --          documentation for more comprehension of this one).
28         --          But some differences occure:
29         --          
30         --          * The class Model and derivatives disappear;
31         --          
32         --          * The "free"  information  disappears,  because  a 
33         --          TShape stored in the Data Base is always "frozen";
34         --          
35
36         --          * The class HShape  inherits  from ExternShareable  from
37         --          ObjMgt,  so that an intance of HShape  may be
38         --          shared by a TShape even if the HShape is not in the
39         --          same Container.
40         --          
41         --          * The class Shape1 inherits from Storable from
42         --          Standard.
43         --          
44         --          Note that the  use of this topology is managed  by
45         --          the package MgtTopoDS.
46         --          
47         --          About the question of "Location", see the  package
48         --          PTopLoc  itself;  about  naming,  referencing  and
49         --          using persistent  Shapes outsing  the  topological
50         --          world, see the package TopoDB.
51
52 uses
53
54     ObjMgt,
55     Standard,
56     TopAbs,      -- basic enumerations : ShapeEnum, Orientation
57     PTopLoc,     -- Persistent local coordinate systems
58     PCollection,
59     TCollection
60     
61 is
62
63     ---Category: Old version of Shape/TShape.
64     --           ============================
65
66     class HShape;
67         ---Purpose: A reference (even outside the same container) to a
68         --          Topological shape with Location, Orientation.
69         
70     deferred class TShape;
71         -- inherits ExternShareable from ObjMgt
72         ---Purpose: A topological shape is a structure made from other
73         --          shapes.  This is a deferred class  used to support
74         --          topological objects.
75         
76     deferred class TVertex;
77         ---Purpose: A TVertex  is a topological  point in two or three
78         --          dimensions.
79         
80     class Vertex;
81         ---Purpose: A Vertex  is  a TVertex  with a  Location   and an
82         --          Orientation.
83         --          It inherits HShape
84         
85     deferred class TEdge;
86         ---Purpose: A topological part  of a  curve  in 2D or 3D,  the
87         --          boundary    is   a   set  of oriented    Vertices.
88         
89     class Edge;
90         ---Purpose: A Edge  is a   TEdge    with  a Location  and   an
91         --          Orientation.
92         --          It inherits HShape
93         
94     class TWire;
95         ---Purpose: A set of Edges making a wire  structure, it can be
96         --          a wireframe or a composite line.
97         
98     class Wire;
99         ---Purpose: A  Wire is  a   TWire  with  a  Location  and   an
100         --          Orientation.
101         --          It inherits HShape
102         
103     class TFace;
104         ---Purpose: A  topological part  of a  surface  or of  the  2D
105         --          space. The boundary is a set of wires and edges.
106         
107     class Face;
108         ---Purpose: A Face  is   a   TFace with a   Location  and   an
109         --          Orientation.
110         --          It inherits HShape
111         
112     class TShell;
113         ---Purpose: A set of Faces or Shells, a topological surface or
114         --          any faces structure.
115
116     class Shell;
117         ---Purpose: A  Shell is a  TShell   with  a   Location  and an
118         --          Orientation.
119         --          It inherits HShape
120         
121     class TSolid;
122         ---Purpose: A Topological part of 3D  space, bounded by Shells
123         --          and Faces.
124
125     class Solid;
126         ---Purpose: A  Solid  is  a TSolid  with   a  Location and  an
127         --          Orientation.
128         --          It inherits HShape
129         
130     class TCompSolid;
131         ---Purpose: A structure of Solids sharing Faces.
132         
133     class CompSolid;
134         ---Purpose: A CompSolid is a TCompSolid with a Location and an
135         --          Orientation.
136         --          It inherits HShape
137         
138     class TCompound;
139         ---Purpose: A TCompound is an all-purpose set of Shapes.
140         
141     class Compound;
142         ---Purpose: A Compound is a  TCompound with a Location  and an
143         --          Orientation.
144         --          It inherits HShape
145         
146
147     class HArray1OfHShape instantiates HArray1 from PCollection
148         (HShape from PTopoDS);
149
150
151     ---Category: New version of Shape/TShape.
152     --           ============================
153
154     class Shape1;
155         ---Purpose: A reference to a Topological TShape with Location,
156         --          Orientation.
157         
158     deferred class TShape1;
159         -- inherits ExternShareable from ObjMgt
160         ---Purpose: A topological shape is a structure made from other
161         --          shapes.  This is a deferred class  used to support
162         --          topological objects.
163         
164     deferred class TVertex1;
165         ---Purpose: A TVertex  is a topological  point in two or three
166         --          dimensions.
167         
168     deferred class TEdge1;
169         ---Purpose: A topological part  of a  curve  in 2D or 3D,  the
170         --          boundary    is   a   set  of oriented    Vertices.
171         
172     class TWire1;
173         ---Purpose: A set of Edges making a wire  structure, it can be
174         --          a wireframe or a composite line.
175         
176     class TFace1;
177         ---Purpose: A  topological part  of a  surface  or of  the  2D
178         --          space. The boundary is a set of wires and edges.
179         
180     class TShell1;
181         ---Purpose: A set of Faces or Shells, a topological surface or
182         --          any faces structure.
183
184     class TSolid1;
185         ---Purpose: A Topological part of 3D  space, bounded by Shells
186         --          and Faces.
187
188     class TCompSolid1;
189         ---Purpose: A structure of Solids sharing Faces.
190         
191     class TCompound1;
192         ---Purpose: A TCompound is an all-purpose set of Shapes.
193         
194
195     class HArray1OfShape1 instantiates HArray1 from PCollection
196         (Shape1 from PTopoDS);
197
198 end PTopoDS;