Salome HOME
Remove OCC_LIBS from LDFLAGS
[modules/smesh.git] / src / SMDS / SMDS.cdl
1 --  SMESH SMDS : implementaion of Salome mesh data structure
2 --
3 --  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 --  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
5 -- 
6 --  This library is free software; you can redistribute it and/or 
7 --  modify it under the terms of the GNU Lesser General Public 
8 --  License as published by the Free Software Foundation; either 
9 --  version 2.1 of the License. 
10 -- 
11 --  This library is distributed in the hope that it will be useful, 
12 --  but WITHOUT ANY WARRANTY; without even the implied warranty of 
13 --  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
14 --  Lesser General Public License for more details. 
15 -- 
16 --  You should have received a copy of the GNU Lesser General Public 
17 --  License along with this library; if not, write to the Free Software 
18 --  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
19 -- 
20 --  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
21 --
22 --
23 --
24 --  File   : SMDS.cdl
25 --  Author : Jean-Michel BOULCOURT
26 --  Module : SMESH
27
28 package SMDS 
29
30         ---Purpose: This package provides the classes Mesh and MeshElement
31         --          
32         --          class Mesh: 
33         --          -  contains the main definition of the 
34         --             mesh and have access to the MeshElement objects
35         --             
36         --          class MeshElement:  
37         --           -  defines the  topological constituants of the Mesh (i.e
38         --              the Node, Edge, Face and Volume entities.
39         --              
40         --          These two last classes  inherits from an abstract
41         --          class MeshObject.
42
43 uses
44     SMDSAbs,
45     MMgt,
46     TCollection,
47     TColStd,
48     TColgp,
49     gp
50     
51     
52 is
53
54     ---=================================
55     ---Category: enumerations
56     --           
57     ---=================================
58
59     enumeration TypeOfPosition is
60         TOP_UNSPEC,
61         TOP_3DSPACE,
62         TOP_VERTEX,
63         TOP_EDGE,
64         TOP_FACE
65     end TypeOfPosition;
66     ---Purpose: defines the type of position of a node (see SMDS_Position)
67     --          TOP_UNSPEC   : node position not specfied
68     --          TOP_3DSPACE  : just a 3d point in space not related
69     --                         to a CAD geometry
70     --          TOP_VERTEX   : to characterize a node with a CAD vertex
71     --          TOP_EDGE     : to characterize a node with a CAD edge
72     --          TOP_FACE     : to characterize a node with a CAD face
73     
74     ---=====================================
75     ---Category: public classes
76     --           Mesh object related classes
77     ---=====================================
78
79     class MeshOrientedElementMapHasher;
80
81     class MeshElementMapHasher;
82     
83     class PntHasher;
84
85     deferred class MeshObject;
86
87         class Mesh;
88
89         deferred class MeshElement;
90                  class MeshNode;
91                  class MeshEdge;
92                  deferred class MeshFace;
93                     class MeshTriangle;
94                     class MeshQuadrangle;
95                  deferred class MeshVolume;
96                     class MeshTetrahedron;
97                     class MeshPyramid;
98                     class MeshPrism;
99                     class MeshHexahedron;
100                        
101     private deferred class MeshIDFactory;
102              private class MeshNodeIDFactory;
103              private class MeshElementIDFactory;
104
105     deferred class MeshElementsIterator;
106            class MeshVolumesIterator;
107            class MeshFacesIterator;
108            class MeshEdgesIterator;
109            class MeshNodesIterator;
110
111
112     deferred class Position;
113            class SpacePosition;
114            class VertexPosition;
115            class EdgePosition;
116            class FacePosition;
117
118     ---=================================
119     ---Category: public classes
120     --           Mesh group
121     ---=================================
122
123     class MeshGroup;
124     
125     ---=================================
126     ---Category: public classes
127     --           Mesh collection classes
128     ---=================================
129
130     class ExtendedMap
131         instantiates Map from TCollection (MeshElement from SMDS,
132                                     MeshElementMapHasher from SMDS);
133         
134     class ExtendedOrientedMap
135         instantiates Map from TCollection (MeshElement from SMDS,
136                                     MeshOrientedElementMapHasher from SMDS);
137         
138     class DataMapOfPntInteger
139         instantiates DataMap from TCollection (Pnt from gp,
140                                                Integer,
141                                                PntHasher from SMDS);
142     class DataMapOfIntegerMeshElement  instantiates
143           DataMap from TCollection(Integer,MeshElement from SMDS,
144                                    MapIntegerHasher from TColStd);
145
146     class ListOfMeshElement
147         instantiates List from TCollection (MeshElement from SMDS);
148
149     class ListOfMesh
150         instantiates List from TCollection (Mesh from SMDS);
151
152     class MapOfMeshElement;
153
154     class MapOfMeshOrientedElement;
155
156     class SequenceOfMesh
157         instantiates Sequence from TCollection (Mesh from SMDS);
158
159     class HSequenceOfMesh
160         instantiates HSequence from TCollection (Mesh from SMDS,
161                                                  SequenceOfMesh from SMDS);
162
163
164     class ListOfMeshGroup
165         instantiates List from TCollection(MeshGroup from SMDS);
166
167 end SMDS;
168