X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_OffsetDlg.cxx;h=28a095bae052691ac040d6b29bc59cabf1cd1454;hb=5ec2574399111a48b08c6e765466efc7fa175587;hp=b7ded794cb7fdfb5993b85c195010a4b476c701d;hpb=30628bd54b2932ebfaae2ae2c24af7f173c4970e;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_OffsetDlg.cxx b/src/SMESHGUI/SMESHGUI_OffsetDlg.cxx index b7ded794c..28a095bae 100644 --- a/src/SMESHGUI/SMESHGUI_OffsetDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_OffsetDlg.cxx @@ -328,7 +328,7 @@ void SMESHGUI_OffsetDlg::Init (bool ResetControls) //================================================================================= bool SMESHGUI_OffsetDlg::ClickOnApply() { - if (mySMESHGUI->isActiveStudyLocked()) + if (mySMESHGUI->isStudyLocked()) return false; if( !isValid() ) @@ -350,8 +350,9 @@ bool SMESHGUI_OffsetDlg::ClickOnApply() QStringList aParameters; aParameters << SpinBox->text(); - int actionButton = ActionGroup->checkedId(); - bool makeGroups = ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() ); + int actionButton = ActionGroup->checkedId(); + bool copyElements = ( actionButton == COPY_ELEMS_BUTTON ); + bool makeGroups = ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() ); SMESH::ListOfGroups_var groups; SMESH::SMESH_Mesh_var mesh; QStringList anEntryList; @@ -360,17 +361,20 @@ bool SMESHGUI_OffsetDlg::ClickOnApply() switch ( actionButton ) { case MOVE_ELEMS_BUTTON: + makeGroups = true; if ( CheckBoxMesh->isChecked() ) for ( int i = 0; i < myObjects.count(); i++ ) { SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor(); myMeshes[i]->SetParameters( aParameters.join( ":" ).toLatin1().constData() ); - mesh = aMeshEditor->Offset( myObjects[i], offsetValue, true, "", groups.out() ); + mesh = aMeshEditor->Offset( myObjects[i], offsetValue, makeGroups, + copyElements, "", groups.out() ); } else { SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor(); SMESH::IDSource_wrap src = aMeshEditor->MakeIDSource(anElementsId, SMESH::FACE); myMeshes[0]->SetParameters( aParameters.join( ":" ).toLatin1().constData() ); - mesh = aMeshEditor->Offset( src, offsetValue, true, "", groups.out() ); + mesh = aMeshEditor->Offset( src, offsetValue, makeGroups, + copyElements, "", groups.out() ); } break; @@ -379,13 +383,15 @@ bool SMESHGUI_OffsetDlg::ClickOnApply() for ( int i = 0; i < myObjects.count(); i++ ) { SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor(); myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData()); - mesh = aMeshEditor->Offset( myObjects[i], offsetValue, makeGroups, "", groups.out() ); + mesh = aMeshEditor->Offset( myObjects[i], offsetValue, makeGroups, + copyElements, "", groups.out() ); } else { SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor(); SMESH::IDSource_wrap src = aMeshEditor->MakeIDSource(anElementsId, SMESH::FACE ); myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData()); - mesh = aMeshEditor->Offset( src, offsetValue, makeGroups, "", groups.out() ); + mesh = aMeshEditor->Offset( src, offsetValue, makeGroups, + copyElements, "", groups.out() ); } break; @@ -397,7 +403,7 @@ bool SMESHGUI_OffsetDlg::ClickOnApply() SMESH::UniqueMeshName( LineEditNewMesh->text().replace( "*", myObjectsNames[i] )); SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditor(); myMeshes[i]->SetParameters(aParameters.join( ":" ).toLatin1().constData()); - mesh = aMeshEditor->Offset( myObjects[i], offsetValue, makeGroups, + mesh = aMeshEditor->Offset( myObjects[i], offsetValue, makeGroups, copyElements, aName.toLatin1().data(), groups.out() ); if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh )) anEntryList.append( aSObject->GetID().c_str() ); @@ -407,7 +413,7 @@ bool SMESHGUI_OffsetDlg::ClickOnApply() SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditor(); myMeshes[0]->SetParameters(aParameters.join( ":" ).toLatin1().constData()); SMESH::IDSource_wrap src = aMeshEditor->MakeIDSource(anElementsId, SMESH::FACE ); - mesh = aMeshEditor->Offset( src, offsetValue, makeGroups, + mesh = aMeshEditor->Offset( src, offsetValue, makeGroups, copyElements, LineEditNewMesh->text().toLatin1().data(), groups.out() ); if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh ) ) anEntryList.append( aSObject->GetID().c_str() ); @@ -907,7 +913,7 @@ void SMESHGUI_OffsetDlg::onDisplaySimulation( bool toDisplayPreview ) for ( int i = 0; i < myObjects.count(); i++ ) { SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[i]->GetMeshEditPreviewer(); - mesh = aMeshEditor->Offset( myObjects[i], offsetValue, false, "", groups.out() ); + mesh = aMeshEditor->Offset( myObjects[i], offsetValue, false, false, "", groups.out() ); aMeshPreviewStruct << aMeshEditor->GetPreviewData(); } else @@ -920,7 +926,7 @@ void SMESHGUI_OffsetDlg::onDisplaySimulation( bool toDisplayPreview ) SMESH::SMESH_MeshEditor_var aMeshEditor = myMeshes[0]->GetMeshEditPreviewer(); SMESH::IDSource_wrap src = aMeshEditor->MakeIDSource(anElementsId, SMESH::FACE); - mesh = aMeshEditor->Offset( src, offsetValue, false, "", groups.out() ); + mesh = aMeshEditor->Offset( src, offsetValue, false, false, "", groups.out() ); aMeshPreviewStruct << aMeshEditor->GetPreviewData(); } setSimulationPreview(aMeshPreviewStruct);