1 -- File : SMESHDS_Mesh.cdl
3 -- Author : Yves FRICAUD, OCC
8 class Mesh from SMESHDS inherits Mesh from SMDS
15 MeshElement from SMDS,
22 PtrHypothesis from SMESHDS,
23 ListOfPtrHypothesis from SMESHDS,
25 IndexedMapOfShape from TopTools,
26 DataMapOfIntegerSubMesh from SMESHDS,
27 DataMapOfShapeListOfPtrHypothesis from SMESHDS
32 Create (MeshID : Integer from Standard) returns mutable Mesh from SMESHDS;
36 ShapeToMesh (me: mutable; S : Shape from TopoDS);
38 AddHypothesis(me: mutable; SS : in Shape from TopoDS; H : PtrHypothesis from SMESHDS)
41 RemoveHypothesis(me: mutable; S : in Shape from TopoDS; H : PtrHypothesis from SMESHDS)
47 AddNode(me: mutable; x,y,z : Real) returns Integer from Standard
50 RemoveNode (me: mutable; ID: Integer) is redefined;
52 MoveNode (me: mutable; ID: Integer; x,y,z: Real);
56 AddEdge(me: mutable; idnode1, idnode2 : Integer) returns Integer from Standard
60 AddFace(me: mutable; idnode1, idnode2, idnode3 : Integer) returns Integer from Standard
61 -- To build a Triangle
65 AddFace(me: mutable; idnode1, idnode2, idnode3 , idnode4 : Integer) returns Integer from Standard
66 -- To build a quadrangle
71 AddVolume(me: mutable; idnode1, idnode2, idnode3, idnode4 : Integer) returns Integer
72 -- To build a Tetrahedron
75 AddVolume(me: mutable; idnode1, idnode2, idnode3, idnode4, idnode5 : Integer) returns Integer
79 AddVolume(me: mutable; idnode1, idnode2, idnode3, idnode4, idnode5, idnode6 : Integer) returns Integer
83 AddVolume(me: mutable; idnode1, idnode2, idnode3, idnode4, idnode5, idnode6, idnode7, idnode8 : Integer) returns Integer
84 -- To build a Hexahedron
88 RemoveElement(me: mutable; IDelem : Integer)
91 -- Binding BRep and MeshElements
93 SetNodeInVolume (me: mutable; aNode : MeshNode from SMDS ; S : Shell from TopoDS);
95 SetNodeOnFace (me: mutable; aNode : MeshNode from SMDS ; S : Face from TopoDS);
97 SetNodeOnEdge (me: mutable; aNode : MeshNode from SMDS ; S : Edge from TopoDS);
99 SetNodeOnVertex(me: mutable; aNode : MeshNode from SMDS ; S : Vertex from TopoDS);
101 UnSetNodeOnShape (me: mutable; aNode : MeshNode from SMDS);
103 SetMeshElementOnShape (me: mutable; anElt : MeshElement from SMDS ; S : Shape from TopoDS);
105 UnSetMeshElementOnShape (me: mutable; anElt : MeshElement from SMDS ; S : Shape from TopoDS) ;
109 ShapeToMesh (me: mutable) returns Shape from TopoDS;
111 HasMeshElements (me: mutable; S : Shape from TopoDS) returns Boolean from Standard;
113 MeshElements (me: mutable; S : Shape from TopoDS) returns SubMesh from SMESHDS;
115 HasHypothesis (me: mutable; S : Shape from TopoDS) returns Boolean from Standard;
117 GetHypothesis (me: mutable; S : Shape from TopoDS)
118 ---C++ : return const &
119 returns ListOfPtrHypothesis from SMESHDS;
121 -- Historic of commands
123 GetScript(me: mutable) returns Script from SMESHDS;
124 ---C++ : return const &
127 ClearScript(me: mutable);
129 -- Methods for persitance
131 ShapeToIndex (me : mutable; aShape : Shape from TopoDS) returns Integer from Standard;
133 IndexToShape (me : mutable; ShapeIndex : Integer from Standard) returns Shape from TopoDS;
135 NewSubMesh (me : mutable; Index : Integer from Standard);
137 SetNodeInVolume (me: mutable; aNode : MeshNode from SMDS ; Index : Integer from Standard);
139 SetNodeOnFace (me: mutable; aNode : MeshNode from SMDS ; Index : Integer from Standard);
141 SetNodeOnEdge (me: mutable; aNode : MeshNode from SMDS ; Index : Integer from Standard);
143 SetNodeOnVertex(me: mutable; aNode : MeshNode from SMDS ; Index : Integer from Standard);
145 SetMeshElementOnShape (me: mutable; anElt : MeshElement from SMDS ; Index : Integer from Standard);
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;