X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshOp.cxx;h=21e94744375d8fa4e7b5d267c1e7b952187f2fdb;hb=c8dfd88621483e28b2cc7a6fef299e2a8acad3a5;hp=a52234cd06dfed3885337a10c9b48b1038ace9de;hpb=499f29d24922cec66e41b41a0039a954993bc6df;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MeshOp.cxx b/src/SMESHGUI/SMESHGUI_MeshOp.cxx index a52234cd0..21e947443 100644 --- a/src/SMESHGUI/SMESHGUI_MeshOp.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshOp.cxx @@ -37,6 +37,7 @@ #include "SMESH_NumberFilter.hxx" #include "SMESH_TypeDefs.hxx" #include "SMESH_TypeFilter.hxx" +#include "SMESH_Gen_i.hxx" #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis) @@ -157,7 +158,7 @@ bool SMESHGUI_MeshOp::onApply() if (( myToCreate && !myIsMesh ) || myIsInvalidSubMesh ) aResult = createSubMesh( aMess, anEntryList ); else if ( !myToCreate ) - aResult = editMeshOrSubMesh( aMess ); + aResult = editMeshOrSubMesh( aMess, anEntryList ); if ( aResult ) { SMESHGUI::Modified(); @@ -2038,7 +2039,10 @@ bool SMESHGUI_MeshOp::createMesh( QString& theMess, QStringList& theEntryList ) elemType = SMESH::NODE; CORBA::String_var name = geomGroups[ iG ]->GetName(); - meshGroup = aMesh->CreateGroupFromGEOM( elemType, name, geomGroups[ iG ]); + + SALOMEDS::SObject_wrap groupSO = SMESH_Gen_i::GetSMESHGen()->ObjectToSObject( geomGroups[iG] ); + if (!groupSO->_is_nil()) + meshGroup = aMesh->CreateGroupFromGEOM( elemType, name, geomGroups[ iG ]); // if ( elemType != SMESH::NODE ) // meshGroup = aMesh->CreateGroupFromGEOM( SMESH::NODE, name, geomGroups[ iG ]); } @@ -2573,13 +2577,14 @@ int SMESHGUI_MeshOp::find( const SMESH::SMESH_Hypothesis_var& theHyp, //================================================================================ /*! * \brief Edits mesh or sub-mesh - * \param theMess - Output parameter intended for returning error message - * \retval bool - TRUE if mesh is edited successfully, FALSE otherwise + * \param theMess - Output parameter intended for returning error message + * \param theEntryList - List of entries of published objects + * \retval bool - TRUE if mesh is edited successfully, FALSE otherwise * * Assigns new name hypotheses and algorithms to the mesh or sub-mesh */ //================================================================================ -bool SMESHGUI_MeshOp::editMeshOrSubMesh( QString& theMess ) +bool SMESHGUI_MeshOp::editMeshOrSubMesh( QString& theMess, QStringList& theEntryList) { theMess = ""; @@ -2624,6 +2629,12 @@ bool SMESHGUI_MeshOp::editMeshOrSubMesh( QString& theMess ) if ( !isMesh && !aSubMeshVar->_is_nil() ) aMesh = aSubMeshVar->GetFather(); + _PTR(SObject) aMeshSO = SMESH::FindSObject(aMesh.in()); + if (aMeshSO) { + SMESH::SetName(aMeshSO, myDlg->objectText(SMESHGUI_MeshDlg::Obj)); + theEntryList.append(aMeshSO->GetID().c_str()); + } + // Assign new algorithms and hypotheses for ( int dim = aDim; dim <= SMESH::DIM_3D; dim++ ) {