X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_ExtrusionDlg.cxx;h=cfbc3b81493fcc13905bb9479bc071bc4e8458b1;hp=cb9c2d6bcb32c3877691489d509139a9ed5913eb;hb=d9f4b53e489dd5857db264ede6acded7b076c9f1;hpb=6d32f944a0a115b6419184c50b57bf7c4eef5786 diff --git a/src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx b/src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx index cb9c2d6bc..cfbc3b814 100644 --- a/src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, 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 {