PAL8581,8660. Add IsParametric parameter to SMESH::Mesh_Editor::Smooth()

This commit is contained in:
eap 2005-04-27 06:13:15 +00:00
parent a29cea0f7d
commit a57449a497
3 changed files with 41 additions and 25 deletions

View File

@ -205,17 +205,26 @@ SMESHGUI_SmoothingDlg::SMESHGUI_SmoothingDlg( QWidget* parent, const char* name,
SpinBox_AspectRatio = new SMESHGUI_SpinBox(GroupArguments, "SpinBox_AspectRatio"); SpinBox_AspectRatio = new SMESHGUI_SpinBox(GroupArguments, "SpinBox_AspectRatio");
GroupArgumentsLayout->addWidget( SpinBox_AspectRatio, 5, 2 ); GroupArgumentsLayout->addWidget( SpinBox_AspectRatio, 5, 2 );
// Check box "Is Parametric"
CheckBoxParametric = new QCheckBox( GroupArguments, "CheckBoxParametric" );
CheckBoxParametric->setText( tr( "IS_PARAMETRIC" ) );
GroupArgumentsLayout->addMultiCellWidget( CheckBoxParametric, 6, 6, 0, 2 );
SMESHGUI_SmoothingDlgLayout->addWidget( GroupArguments, 1, 0 ); SMESHGUI_SmoothingDlgLayout->addWidget( GroupArguments, 1, 0 );
/* Initialisations */ /* Initialisations */
ComboBoxMethod->insertItem(tr("LAPLACIAN")); ComboBoxMethod->insertItem(tr("LAPLACIAN"));
ComboBoxMethod->insertItem(tr("CENTROIDAL")); ComboBoxMethod->insertItem(tr("CENTROIDAL"));
ComboBoxMethod->setCurrentItem(0);
CheckBoxParametric->setChecked( TRUE );
QIntValidator* anIntValidator = new QIntValidator(SpinBox_IterationLimit); QIntValidator* anIntValidator = new QIntValidator(SpinBox_IterationLimit);
SpinBox_IterationLimit->setValidator(anIntValidator); SpinBox_IterationLimit->setValidator(anIntValidator);
SpinBox_IterationLimit->setRange( 1, 999999 ); SpinBox_IterationLimit->setRange( 1, 999999 );
SpinBox_IterationLimit->setValue(20);
SpinBox_AspectRatio->RangeStepAndValidator( 0.0, +999999.999, 0.1, 3 ); SpinBox_AspectRatio->RangeStepAndValidator( 0.0, +999999.999, 0.1, 3 );
SpinBox_AspectRatio->SetValue(1.1);
GroupArguments->show(); GroupArguments->show();
myConstructorId = 0 ; myConstructorId = 0 ;
@ -281,13 +290,14 @@ void SMESHGUI_SmoothingDlg::Init()
{ {
myBusy = false; myBusy = false;
ComboBoxMethod->setCurrentItem(0); // ComboBoxMethod->setCurrentItem(0);
SpinBox_IterationLimit->setValue(20); // SpinBox_IterationLimit->setValue(20);
SpinBox_AspectRatio->SetValue(1.1); // SpinBox_AspectRatio->SetValue(1.1);
myEditCurrentArgument = LineEditElements; myEditCurrentArgument = LineEditElements;
LineEditElements->setFocus(); LineEditElements->setFocus();
LineEditNodes->clear();
myElementsId = ""; myElementsId = "";
myNbOkElements = 0 ; myNbOkElements = 0 ;
myNbOkNodes = 0 ; myNbOkNodes = 0 ;
@ -337,7 +347,7 @@ void SMESHGUI_SmoothingDlg::ClickOnApply()
aNodesId[i] = aListNodesId[i].toInt(); aNodesId[i] = aListNodesId[i].toInt();
} }
else else
anElementsId->length(0); aNodesId->length(0);
long anIterationLimit = (long)SpinBox_IterationLimit->value(); long anIterationLimit = (long)SpinBox_IterationLimit->value();
double aMaxAspectRatio = SpinBox_AspectRatio->GetValue(); double aMaxAspectRatio = SpinBox_AspectRatio->GetValue();
@ -351,7 +361,9 @@ void SMESHGUI_SmoothingDlg::ClickOnApply()
{ {
SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor(); SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
QApplication::setOverrideCursor(Qt::waitCursor); QApplication::setOverrideCursor(Qt::waitCursor);
aResult = aMeshEditor->Smooth(anElementsId.inout(), aNodesId.inout(), anIterationLimit, aMaxAspectRatio, aMethod); aResult = aMeshEditor->Smooth(anElementsId.inout(), aNodesId.inout(),
anIterationLimit, aMaxAspectRatio, aMethod,
CheckBoxParametric->isChecked());
QApplication::restoreOverrideCursor(); QApplication::restoreOverrideCursor();
} }
catch( ... ) catch( ... )

View File

@ -106,6 +106,7 @@ private:
QSpinBox * SpinBox_IterationLimit; QSpinBox * SpinBox_IterationLimit;
QLabel * TextLabelAspectRatio; QLabel * TextLabelAspectRatio;
SMESHGUI_SpinBox* SpinBox_AspectRatio; SMESHGUI_SpinBox* SpinBox_AspectRatio;
QCheckBox * CheckBoxParametric;
private slots: private slots:

View File

@ -1468,6 +1468,9 @@ msgstr "Laplacian"
msgid "SMESHGUI_SmoothingDlg::CENTROIDAL" msgid "SMESHGUI_SmoothingDlg::CENTROIDAL"
msgstr "Centroidal" msgstr "Centroidal"
msgid "SMESHGUI_SmoothingDlg::IS_PARAMETRIC"
msgstr "in parametric space"
#---------------------------------------------------- #----------------------------------------------------
msgid "SMESHGUI_ExtrusionDlg::EXTRUSION_ALONG_LINE" msgid "SMESHGUI_ExtrusionDlg::EXTRUSION_ALONG_LINE"