Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/smesh.git] / src / SMESHDS / SMESHDS_Mesh.cdl
1 -- File      : SMESHDS_Mesh.cdl
2 -- Created   : 
3 -- Author    : Yves FRICAUD, OCC
4 -- Project   : SALOME
5 -- Copyright : OCC
6
7
8 class Mesh from SMESHDS inherits Mesh from SMDS
9
10 uses 
11         Mesh                              from SMDS,
12         MeshNode                          from SMDS,    
13         MeshEdge                          from SMDS,    
14         MeshFace                          from SMDS,    
15         MeshElement                       from SMDS,    
16         Shell                             from TopoDS,
17         Shape                             from TopoDS,
18         Face                              from TopoDS,
19         Edge                              from TopoDS,
20         Vertex                            from TopoDS,
21         SubMesh                           from SMESHDS,
22         PtrHypothesis                     from SMESHDS,
23         ListOfPtrHypothesis               from SMESHDS,
24         Script                            from SMESHDS,
25         IndexedMapOfShape                 from TopTools,
26         DataMapOfIntegerSubMesh           from SMESHDS,
27         DataMapOfShapeListOfPtrHypothesis from SMESHDS
28
29         
30 is
31
32         Create (MeshID : Integer from Standard) returns mutable Mesh from SMESHDS;
33         
34 -- Building
35
36         ShapeToMesh (me: mutable; S : Shape from TopoDS);
37
38         AddHypothesis(me: mutable; SS : in Shape from TopoDS; H : PtrHypothesis from SMESHDS)
39         returns Boolean;        
40
41         RemoveHypothesis(me: mutable; S : in Shape from TopoDS; H : PtrHypothesis from SMESHDS)
42         returns Boolean;        
43
44         
45         -- Building Node
46         
47         AddNode(me: mutable; x,y,z : Real) returns Integer from Standard
48         is redefined;
49
50         RemoveNode (me: mutable; ID: Integer) is redefined;
51         
52         MoveNode (me: mutable; ID: Integer; x,y,z: Real);
53         
54         
55         -- Building Edge
56         AddEdge(me: mutable; idnode1, idnode2 : Integer) returns Integer from Standard
57         is redefined;
58
59         -- Building Face
60         AddFace(me: mutable; idnode1, idnode2, idnode3 : Integer) returns Integer from Standard
61         -- To build a Triangle
62         is redefined;
63
64
65         AddFace(me: mutable; idnode1, idnode2, idnode3 , idnode4 : Integer) returns Integer from Standard
66         -- To build a quadrangle
67         is redefined;
68
69         -- Building Volume
70         
71         AddVolume(me: mutable; idnode1, idnode2, idnode3, idnode4 : Integer) returns Integer
72         -- To build a Tetrahedron
73         is redefined;
74
75         AddVolume(me: mutable; idnode1, idnode2, idnode3, idnode4, idnode5 : Integer) returns Integer
76         -- To build a Pyramid
77         is redefined;
78
79         AddVolume(me: mutable; idnode1, idnode2, idnode3, idnode4, idnode5, idnode6 : Integer) returns Integer
80         -- To build a Prism
81         is redefined;
82
83         AddVolume(me: mutable; idnode1, idnode2, idnode3, idnode4, idnode5, idnode6, idnode7, idnode8 : Integer) returns Integer
84         -- To build a Hexahedron
85         is redefined;
86
87
88         RemoveElement(me: mutable; IDelem : Integer)
89         is redefined;
90
91         -- Binding  BRep and MeshElements
92
93         SetNodeInVolume (me: mutable; aNode : MeshNode from SMDS ; S : Shell  from TopoDS);
94
95         SetNodeOnFace  (me: mutable; aNode : MeshNode from SMDS ; S : Face  from TopoDS);
96
97         SetNodeOnEdge  (me: mutable; aNode : MeshNode from SMDS ; S : Edge   from TopoDS);
98
99         SetNodeOnVertex(me: mutable; aNode : MeshNode from SMDS ; S : Vertex from TopoDS);
100
101         UnSetNodeOnShape (me: mutable; aNode : MeshNode from SMDS);
102
103         SetMeshElementOnShape (me: mutable; anElt : MeshElement from SMDS ; S : Shape from TopoDS);
104
105         UnSetMeshElementOnShape (me: mutable; anElt : MeshElement from SMDS ; S : Shape from TopoDS) ;
106
107 -- Exploration 
108
109         ShapeToMesh (me: mutable) returns Shape from TopoDS;
110
111         HasMeshElements (me: mutable; S : Shape from TopoDS)  returns Boolean from Standard;
112
113         MeshElements (me: mutable; S : Shape from TopoDS)  returns SubMesh from SMESHDS;
114
115         HasHypothesis (me: mutable; S : Shape from TopoDS)  returns Boolean from Standard;
116
117         GetHypothesis (me: mutable; S : Shape from TopoDS) 
118         ---C++ : return const & 
119         returns ListOfPtrHypothesis from SMESHDS;       
120
121 -- Historic of commands
122         
123         GetScript(me: mutable) returns Script from SMESHDS;
124         ---C++ : return const &
125
126
127         ClearScript(me: mutable);
128
129 -- Methods for persitance
130
131         ShapeToIndex (me : mutable; aShape : Shape from TopoDS) returns Integer from Standard;
132
133         IndexToShape (me : mutable; ShapeIndex : Integer from Standard) returns Shape from TopoDS;
134
135         NewSubMesh (me : mutable; Index : Integer from Standard);
136
137         SetNodeInVolume (me: mutable; aNode : MeshNode from SMDS ; Index : Integer from Standard);
138
139         SetNodeOnFace  (me: mutable; aNode : MeshNode from SMDS ;  Index : Integer from Standard);
140
141         SetNodeOnEdge  (me: mutable; aNode : MeshNode from SMDS ;  Index : Integer from Standard);
142
143         SetNodeOnVertex(me: mutable; aNode : MeshNode from SMDS ;  Index : Integer from Standard);
144
145         SetMeshElementOnShape (me: mutable; anElt : MeshElement from SMDS ; Index : Integer from Standard);
146
147
148 fields
149
150         myMeshID              : Integer                           from Standard;        
151         myShape               : Shape                             from TopoDS;
152         myIndexToShape        : IndexedMapOfShape                 from TopTools; -- Gives Index from Shape and Shape from Index
153         myShapeIndexToSubMesh : DataMapOfIntegerSubMesh           from SMESHDS ;
154         myShapeToHypothesis   : DataMapOfShapeListOfPtrHypothesis from SMESHDS; 
155         myScript              : Script                            from SMESHDS;
156
157 end Mesh;