Salome HOME
bos #20256: [CEA 18523] Porting SMESH to int 64 bits
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_OffsetDlg.cxx
index b7ded794cb7fdfb5993b85c195010a4b476c701d..c8f79dea0c4d164c4828e8183432ccd0deccf034 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -328,7 +328,7 @@ void SMESHGUI_OffsetDlg::Init (bool ResetControls)
 //=================================================================================
 bool SMESHGUI_OffsetDlg::ClickOnApply()
 {
-  if (mySMESHGUI->isActiveStudyLocked())
+  if (mySMESHGUI->isStudyLocked())
     return false;
 
   if( !isValid() )
@@ -340,7 +340,7 @@ bool SMESHGUI_OffsetDlg::ClickOnApply()
   {
     QStringList aListElementsId = myElementsId.split(" ", QString::SkipEmptyParts);
 
-    SMESH::long_array_var anElementsId = new SMESH::long_array;
+    SMESH::smIdType_array_var anElementsId = new SMESH::smIdType_array;
     anElementsId->length(aListElementsId.count());
     for (int i = 0; i < aListElementsId.count(); i++)
       anElementsId[i] = aListElementsId[i].toInt();
@@ -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() );
@@ -546,7 +552,7 @@ void SMESHGUI_OffsetDlg::onTextChange (const QString& theNewText)
   if (aMesh) {
     Handle(SALOME_InteractiveObject) anIO = myActor->getIO();
 
-    TColStd_MapOfInteger newIndices;
+    SVTK_TVtkIDsMap newIndices;
 
     QStringList aListId = theNewText.split(" ", QString::SkipEmptyParts);
     for (int i = 0; i < aListId.count(); i++)
@@ -907,12 +913,12 @@ 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
         {
-          SMESH::long_array_var anElementsId = new SMESH::long_array;
+          SMESH::smIdType_array_var anElementsId = new SMESH::smIdType_array;
           QStringList aListElementsId = myElementsId.split(" ", QString::SkipEmptyParts);
           anElementsId->length(aListElementsId.count());
           for (int i = 0; i < aListElementsId.count(); i++)
@@ -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);