26 #ifndef _SMESHDS_Mesh_HeaderFile
27 #define _SMESHDS_Mesh_HeaderFile
41 #include <TopTools_IndexedMapOfShape.hxx>
42 #include <TopoDS_Shape.hxx>
43 #include <TopoDS_Solid.hxx>
44 #include <TopoDS_Shell.hxx>
45 #include <TopoDS_Face.hxx>
46 #include <TopoDS_Vertex.hxx>
47 #include <TopoDS_Edge.hxx>
49 #include <NCollection_DataMap.hxx>
62 bool IsEmbeddedMode();
115 int n12,
int n23,
int n31,
int ID);
132 int n12,
int n23,
int n34,
int n41,
int ID);
211 int n12,
int n23,
int n31,
212 int n14,
int n24,
int n34,
int ID);
237 int n12,
int n23,
int n34,
int n41,
238 int n15,
int n25,
int n35,
int n45,
270 int n4,
int n5,
int n6,
271 int n12,
int n23,
int n31,
272 int n45,
int n56,
int n64,
273 int n14,
int n25,
int n36,
309 int n5,
int n6,
int n7,
int n8,
310 int n12,
int n23,
int n34,
int n41,
311 int n56,
int n67,
int n78,
int n85,
312 int n15,
int n26,
int n37,
int n48,
365 (std::vector<int> nodes_ids,
366 std::vector<int> quantities,
370 (std::vector<const SMDS_MeshNode*> nodes,
371 std::vector<int> quantities,
375 (std::vector<const SMDS_MeshNode*> nodes,
376 std::vector<int> quantities);
378 void MoveNode(
const SMDS_MeshNode *,
double x,
double y,
double z);
395 std::vector<const SMDS_MeshNode*> nodes);
397 std::vector<const SMDS_MeshNode*> nodes,
398 std::vector<int> quantities);
399 void Renumber (
const bool isNodes,
const int startID=1,
const int deltaID=1);
401 void SetNodeInVolume(
SMDS_MeshNode * aNode,
const TopoDS_Shell & S);
402 void SetNodeInVolume(
SMDS_MeshNode * aNode,
const TopoDS_Solid & S);
403 void SetNodeOnFace(
SMDS_MeshNode * aNode,
const TopoDS_Face & S,
double u=0.,
double v=0.);
404 void SetNodeOnEdge(
SMDS_MeshNode * aNode,
const TopoDS_Edge & S,
double u=0.);
405 void SetNodeOnVertex(
SMDS_MeshNode * aNode,
const TopoDS_Vertex & S);
414 std::list<int> SubMeshIndices();
415 const std::map<int,SMESHDS_SubMesh*>& SubMeshes()
const
416 {
return myShapeIndexToSubMesh; }
419 const std::list<const SMESHDS_Hypothesis*>& GetHypothesis(
const TopoDS_Shape & S)
const;
427 int AddCompoundSubmesh(
const TopoDS_Shape& S, TopAbs_ShapeEnum type = TopAbs_SHAPE);
428 void SetNodeInVolume(
const SMDS_MeshNode * aNode,
int Index);
429 void SetNodeOnFace(
SMDS_MeshNode * aNode,
int Index ,
double u=0.,
double v=0.);
430 void SetNodeOnEdge(
SMDS_MeshNode * aNode,
int Index ,
double u=0.);
437 const std::set<SMESHDS_GroupBase*>&
GetGroups()
const {
return myGroups; }
439 bool IsGroupOfSubShapes (
const TopoDS_Shape& aSubShape)
const;
447 std::map<int,SMESHDS_SubMesh*>::iterator it = myShapeIndexToSubMesh.find( Index );
448 if ( it == myShapeIndexToSubMesh.end() )
449 it = myShapeIndexToSubMesh.insert( std::make_pair(Index,
new SMESHDS_SubMesh() )).first;
450 it->second->AddNode( aNode );
458 typedef std::list<const SMESHDS_Hypothesis*>
THypList;