Salome HOME
Update of CheckDone
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_ExtrusionDlg.cxx
index cb9c2d6bcb32c3877691489d509139a9ed5913eb..e62812954dc4882cae6f917ac950bdfed538767b 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -289,12 +289,12 @@ void SMESHGUI_3TypesSelector::selectionIntoArgument()
     }
     else // get indices of selected elements
     {
-      TColStd_IndexedMapOfInteger aMapIndex;
+      SVTK_TIndexedMapOfVtkId aMapIndex;
       mySelector->GetIndex(IO,aMapIndex);
       int nbElements = aMapIndex.Extent();
       if ( nbElements > 0 )
       {
-        SMESH::long_array_var ids = new SMESH::long_array;
+        SMESH::smIdType_array_var ids = new SMESH::smIdType_array;
         ids->length( nbElements );
         for ( int i = 0; i < nbElements; ++i )
           aString += QString(" %1").arg( ids[ i ] = aMapIndex( i+1 ));
@@ -352,9 +352,9 @@ void SMESHGUI_3TypesSelector::onTextChange( const QString& theNewText )
       SMDSAbs_ElementType SMDSType = SMDSAbs_ElementType( iType+1 );
       const bool isNode = ( SMDSType == SMDSAbs_Node );
 
-      SMESH::long_array_var ids = new SMESH::long_array;
+      SMESH::smIdType_array_var ids = new SMESH::smIdType_array;
       ids->length( aListId.count() );
-      TColStd_MapOfInteger newIndices;
+      SVTK_TVtkIDsMap newIndices;
       for (int i = 0; i < aListId.count(); i++) {
         int id = aListId[ i ].toInt();
         bool validId = false;
@@ -392,7 +392,7 @@ void SMESHGUI_3TypesSelector::onTextChange( const QString& theNewText )
  */
 //================================================================================
 
-void SMESHGUI_3TypesSelector::addTmpIdSource( SMESH::long_array_var& ids, int iType, int index )
+void SMESHGUI_3TypesSelector::addTmpIdSource( SMESH::smIdType_array_var& ids, int iType, int index )
 {
   SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
   SMESH::SMESH_IDSource_var idSrc =
@@ -766,38 +766,53 @@ SMESHGUI_ExtrusionDlg::SMESHGUI_ExtrusionDlg (SMESHGUI* theModule)
   AnglesGrpLayout->setRowMinimumHeight(1, 10);
   AnglesGrpLayout->setRowStretch(3, 10);
 
+  // Controls for advanced parameters
+  QGridLayout* AdvancedGrpLayout = new QGridLayout();
+  AdvancedGrpLayout->setSpacing(SPACING);
+
+  // layouting
+  AdvancedGrpLayout->addWidget(TextLabelDistance,      0, 0);
+  AdvancedGrpLayout->addWidget(TextLabelDx,            0, 2);
+  AdvancedGrpLayout->addWidget(SpinBox_Dx,             0, 3);
+  AdvancedGrpLayout->addWidget(TextLabelDy,            0, 4);
+  AdvancedGrpLayout->addWidget(SpinBox_Dy,             0, 5);
+  AdvancedGrpLayout->addWidget(TextLabelDz,            0, 6);
+  AdvancedGrpLayout->addWidget(SpinBox_Dz,             0, 7);
+  AdvancedGrpLayout->addWidget(TextLabelVector,        1, 0);
+  AdvancedGrpLayout->addWidget(SelectVectorButton,     1, 1);
+  AdvancedGrpLayout->addWidget(TextLabelVx,            1, 2);
+  AdvancedGrpLayout->addWidget(SpinBox_Vx,             1, 3);
+  AdvancedGrpLayout->addWidget(TextLabelVy,            1, 4);
+  AdvancedGrpLayout->addWidget(SpinBox_Vy,             1, 5);
+  AdvancedGrpLayout->addWidget(TextLabelVz,            1, 6);
+  AdvancedGrpLayout->addWidget(SpinBox_Vz,             1, 7);
+  AdvancedGrpLayout->addWidget(TextLabelDist,          2, 0);
+  AdvancedGrpLayout->addWidget(SpinBox_VDist,          2, 3);
+  AdvancedGrpLayout->addWidget(TextLabelNbSteps,       3, 0, 1, 3);
+  AdvancedGrpLayout->addWidget(SpinBox_NbSteps,        3, 3);
+  AdvancedGrpLayout->addWidget(ByAverageNormalCheck,   4, 0, 1, 4);
+  AdvancedGrpLayout->addWidget(UseInputElemsOnlyCheck, 4, 4, 1, 4);
+
+  // Controls for advanced parameters
+  QGroupBox* RbGrp = new QGroupBox();
+  QHBoxLayout* RBLayout = new QHBoxLayout(RbGrp);
+  RBLayout->setSpacing(SPACING); RBLayout->setMargin(MARGIN);
+  RBLayout->addWidget(ExtrMethod_RBut0);
+  RBLayout->addWidget(ExtrMethod_RBut1);
+  RBLayout->addWidget(ExtrMethod_RBut2);
+
   // layouting
-  GroupArgumentsLayout->addWidget(SelectorWdg,            0, 0, 1, 9);
-  GroupArgumentsLayout->addWidget(ExtrMethod_RBut0,       1, 0, 1, 3);
-  GroupArgumentsLayout->addWidget(ExtrMethod_RBut1,       1, 3, 1, 3);
-  GroupArgumentsLayout->addWidget(ExtrMethod_RBut2,       1, 6, 1, 3);
-  GroupArgumentsLayout->addWidget(TextLabelDistance,      2, 0);
-  GroupArgumentsLayout->addWidget(TextLabelDx,            2, 2);
-  GroupArgumentsLayout->addWidget(SpinBox_Dx,             2, 3);
-  GroupArgumentsLayout->addWidget(TextLabelDy,            2, 4);
-  GroupArgumentsLayout->addWidget(SpinBox_Dy,             2, 5);
-  GroupArgumentsLayout->addWidget(TextLabelDz,            2, 6);
-  GroupArgumentsLayout->addWidget(SpinBox_Dz,             2, 7);
-  GroupArgumentsLayout->addWidget(TextLabelVector,        3, 0);
-  GroupArgumentsLayout->addWidget(SelectVectorButton,     3, 1);
-  GroupArgumentsLayout->addWidget(TextLabelVx,            3, 2);
-  GroupArgumentsLayout->addWidget(SpinBox_Vx,             3, 3);
-  GroupArgumentsLayout->addWidget(TextLabelVy,            3, 4);
-  GroupArgumentsLayout->addWidget(SpinBox_Vy,             3, 5);
-  GroupArgumentsLayout->addWidget(TextLabelVz,            3, 6);
-  GroupArgumentsLayout->addWidget(SpinBox_Vz,             3, 7);
-  GroupArgumentsLayout->addWidget(TextLabelDist,          4, 0);
-  GroupArgumentsLayout->addWidget(SpinBox_VDist,          4, 3);
-  GroupArgumentsLayout->addWidget(TextLabelNbSteps,       5, 0, 1, 3);
-  GroupArgumentsLayout->addWidget(SpinBox_NbSteps,        5, 3);
-  GroupArgumentsLayout->addWidget(ByAverageNormalCheck,   6, 0, 1, 4);
-  GroupArgumentsLayout->addWidget(UseInputElemsOnlyCheck, 6, 4, 1, 4);
-  GroupArgumentsLayout->addWidget(BasePointGrp,           7, 0, 1, 9);
-  GroupArgumentsLayout->addWidget(ScalesGrp,              8, 0, 1, 4);
-  GroupArgumentsLayout->addWidget(AnglesGrp,              8, 5, 1, 4);
-  GroupArgumentsLayout->addWidget(myPreviewCheckBox,      9, 0, 1, 8);
-  GroupArgumentsLayout->addWidget(MakeGroupsCheck,        10,0, 1, 8);
-  GroupArgumentsLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding), 10, 0);
+  GroupArgumentsLayout->addWidget(RbGrp,                  0, 0, 1, 4);
+  GroupArgumentsLayout->addWidget(SelectorWdg,            1, 0, 3, 2);
+  GroupArgumentsLayout->addLayout(AdvancedGrpLayout,      1, 2, 1, 2);
+  GroupArgumentsLayout->addWidget(BasePointGrp,           2, 2, 1, 2);
+  GroupArgumentsLayout->addWidget(ScalesGrp,              3, 2, 1, 1);
+  GroupArgumentsLayout->addWidget(AnglesGrp,              3, 3, 1, 1);
+  GroupArgumentsLayout->addWidget(myPreviewCheckBox,      4, 0);
+  GroupArgumentsLayout->addWidget(MakeGroupsCheck,        4, 1);
+  GroupArgumentsLayout->setRowStretch(5, 10);
+  SelectorWdg->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
+  SelectorWdg->setMinimumWidth(320);
 
   /***************************************************************/
   GroupButtons = new QGroupBox(this);
@@ -1223,8 +1238,8 @@ bool SMESHGUI_ExtrusionDlg::ClickOnApply()
         bool   byAverageNormal   = ByAverageNormalCheck->isChecked();
         int    dim               = (maxSelType == SMESH::FACE) ? 2 : 1;
 
-        groups = meshEditor->ExtrusionByNormal( faces, stepSize, nbSteps, useInputElemsOnly,
-                                                byAverageNormal, makeGroups, dim );
+        groups = meshEditor->ExtrusionByNormal( faces, stepSize, nbSteps, byAverageNormal,
+                                                useInputElemsOnly, makeGroups, dim );
       }
       else
       {
@@ -1261,9 +1276,9 @@ bool SMESHGUI_ExtrusionDlg::ClickOnApply()
       SMESH::Update( actor->getIO(), actor->GetVisibility() );
     if ( makeGroups )
       mySMESHGUI->updateObjBrowser(true); // new groups may appear
-    Init(false);
+
     mySelectionMgr->clearSelected();
-    SelectorWdg->Clear();
+    Init(false);
 
     SMESHGUI::Modified();
   }
@@ -1368,7 +1383,7 @@ void SMESHGUI_ExtrusionDlg::SelectionIntoArgument()
   if ( SelectVectorButton->isChecked() )
   {
     Handle(SALOME_InteractiveObject) IO = aList.First();
-    TColStd_IndexedMapOfInteger aMapIndex;
+    SVTK_TIndexedMapOfVtkId aMapIndex;
     mySelector->GetIndex(IO,aMapIndex);
     if ( aMapIndex.Extent() != 1 )
       return;
@@ -1615,8 +1630,8 @@ void SMESHGUI_ExtrusionDlg::onDisplaySimulation( bool toDisplayPreview )
           bool   byAverageNormal   = ByAverageNormalCheck->isChecked();
           int    dim               = (maxSelType == SMESH::FACE) ? 2 : 1;
 
-          groups = meshEditor->ExtrusionByNormal( faces, stepSize, nbSteps, useInputElemsOnly,
-                                                  byAverageNormal, makeGroups, dim );
+          groups = meshEditor->ExtrusionByNormal( faces, stepSize, nbSteps, byAverageNormal,
+                                                  useInputElemsOnly, makeGroups, dim );
         }
         else
         {