From: eap Date: Wed, 3 May 2006 05:43:04 +0000 (+0000) Subject: Store shape id in SpacePosition X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=7d8a3a85163964d916b5da9d79e0d7267490dfd1;p=modules%2Fsmesh.git Store shape id in SpacePosition --- diff --git a/src/SMESHDS/SMESHDS_Mesh.cxx b/src/SMESHDS/SMESHDS_Mesh.cxx index 10cb0b0a5..60b756ed2 100644 --- a/src/SMESHDS/SMESHDS_Mesh.cxx +++ b/src/SMESHDS/SMESHDS_Mesh.cxx @@ -51,6 +51,7 @@ SMESHDS_Mesh::SMESHDS_Mesh(int theMeshID, bool theIsEmbeddedMode): myCurSubID(-1) { myScript = new SMESHDS_Script(theIsEmbeddedMode); + myCurSubMesh = 0; } //======================================================================= @@ -847,7 +848,8 @@ bool SMESHDS_Mesh::add(const SMDS_MeshElement* elem, SMESHDS_SubMesh* subMesh ) void SMESHDS_Mesh::SetNodeInVolume(SMDS_MeshNode * aNode, const TopoDS_Shell & S) { - add( aNode, getSubmesh(S) ); + if ( add( aNode, getSubmesh(S) )) + const_cast( aNode->GetPosition().get() )->SetShapeId( myCurSubID ); } //======================================================================= //function : SetNodeOnVolume @@ -856,7 +858,8 @@ void SMESHDS_Mesh::SetNodeInVolume(SMDS_MeshNode * aNode, void SMESHDS_Mesh::SetNodeInVolume(SMDS_MeshNode * aNode, const TopoDS_Solid & S) { - add( aNode, getSubmesh(S) ); + if ( add( aNode, getSubmesh(S) )) + const_cast( aNode->GetPosition().get() )->SetShapeId( myCurSubID ); } //======================================================================= @@ -1141,7 +1144,8 @@ int SMESHDS_Mesh::ShapeToIndex(const TopoDS_Shape & S) const //======================================================================= void SMESHDS_Mesh::SetNodeInVolume(const SMDS_MeshNode* aNode, int Index) { - add( aNode, getSubmesh( Index )); + if ( add( aNode, getSubmesh( Index ))) + const_cast( aNode->GetPosition().get() )->SetShapeId( Index ); } //=======================================================================