From 7dbb2914d9aa9785661fc4ffb43358ec9a578cf9 Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 16 Mar 2017 17:57:38 +0300 Subject: [PATCH] Fix regressions smesh/viscous_layers_00/A3 smesh/3D_mesh_GHS3D_01/B1 --- src/SMESHGUI/SMESHGUI.cxx | 6 +++--- src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx | 9 +++++---- src/StdMeshers/StdMeshers_ViscousLayers.cxx | 10 +++++++--- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index 1f3435241..0f08808d0 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -4605,9 +4605,9 @@ void SMESHGUI::initialize( CAM_Application* app ) // Controls //------------------------------------------------- QString - aMeshInVtkHasNodes = aMeshInVTK + "&&" + hasNodes, - aMeshInVtkHasEdges = aMeshInVTK + "&&" + hasEdges, - aMeshInVtkHasFaces = aMeshInVTK + "&&" + hasFaces, + aMeshInVtkHasNodes = aMeshInVTK + "&&" + hasNodes, + aMeshInVtkHasEdges = aMeshInVTK + "&&" + hasEdges, + aMeshInVtkHasFaces = aMeshInVTK + "&&" + hasFaces, aMeshInVtkHasVolumes = aMeshInVTK + "&&" + hasVolumes; anId = popupMgr()->insert( tr( "MEN_CTRL" ), -1, -1 ); diff --git a/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx b/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx index 0f6172b05..aac578ba2 100644 --- a/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx @@ -135,7 +135,7 @@ SMESHGUI_BuildCompoundDlg::SMESHGUI_BuildCompoundDlg( SMESHGUI* theModule ) CheckBoxMerge = new QCheckBox(tr("MERGE_NODES_AND_ELEMENTS"), GroupArgs); TextLabelTol = new QLabel(tr("SMESH_TOLERANCE"), GroupArgs); - TextLabelTol->setAlignment(Qt::AlignCenter); + //TextLabelTol->setAlignment(Qt::AlignCenter); SpinBoxTol = new SMESHGUI_SpinBox(GroupArgs); SpinBoxTol->RangeStepAndValidator(0.0, COORD_MAX, 0.00001, "len_tol_precision" ); @@ -146,8 +146,8 @@ SMESHGUI_BuildCompoundDlg::SMESHGUI_BuildCompoundDlg( SMESHGUI* theModule ) GroupArgsLayout->addWidget(ComboBoxUnion, 1, 3); GroupArgsLayout->addWidget(CheckBoxCommon, 2, 0, 1, 4); GroupArgsLayout->addWidget(CheckBoxMerge, 3, 0, 1, 4); - GroupArgsLayout->addWidget(TextLabelTol, 4, 0, 1, 2); - GroupArgsLayout->addWidget(SpinBoxTol, 4, 2, 1, 2); + GroupArgsLayout->addWidget(TextLabelTol, 4, 0); + GroupArgsLayout->addWidget(SpinBoxTol, 4, 1, 1, 3); /***************************************************************/ GroupButtons = new QGroupBox(this); @@ -289,6 +289,8 @@ bool SMESHGUI_BuildCompoundDlg::ClickOnApply() if (!isValid()) return false; + SUIT_OverrideCursor aWaitCursor; + SMESH::SMESH_Mesh_var aMesh; if (!myMesh->_is_nil()) @@ -298,7 +300,6 @@ bool SMESHGUI_BuildCompoundDlg::ClickOnApply() QStringList anEntryList; try { - SUIT_OverrideCursor aWaitCursor; aMesh = myMeshArray[0]->GetMesh(); aMesh->SetParameters( aParameters.join(":").toLatin1().constData() ); diff --git a/src/StdMeshers/StdMeshers_ViscousLayers.cxx b/src/StdMeshers/StdMeshers_ViscousLayers.cxx index 6042aa422..a6530b924 100644 --- a/src/StdMeshers/StdMeshers_ViscousLayers.cxx +++ b/src/StdMeshers/StdMeshers_ViscousLayers.cxx @@ -1865,15 +1865,19 @@ SMESH_ComputeErrorPtr _ViscousBuilder::Compute(SMESH_Mesh& theMesh, size_t iSD = 0; for ( iSD = 0; iSD < _sdVec.size(); ++iSD ) // find next SOLID to compute if ( _sdVec[iSD]._before.IsEmpty() && + !_sdVec[iSD]._solid.IsNull() && _sdVec[iSD]._n2eMap.empty() ) break; if ( ! makeLayer(_sdVec[iSD]) ) // create _LayerEdge's return _error; - if ( _sdVec[iSD]._n2eMap.size() == 0 ) + if ( _sdVec[iSD]._n2eMap.size() == 0 ) // no layers in a SOLID + { + _sdVec[iSD]._solid.Nullify(); continue; - + } + if ( ! inflate(_sdVec[iSD]) ) // increase length of _LayerEdge's return _error; @@ -9049,7 +9053,7 @@ void _LayerEdge::Block( _SolidData& data ) minDist = Min( pSrc.SquareDistance( pTgtN ), minDist ); minDist = Min( pTgt.SquareDistance( pSrcN ), minDist ); double newMaxLen = edge->_maxLen + 0.5 * Sqrt( minDist ); - if ( edge->_nodes[0]->getshapeId() == neibor->_nodes[0]->getshapeId() ) + //if ( edge->_nodes[0]->getshapeId() == neibor->_nodes[0]->getshapeId() ) viscous_layers_00/A3 { newMaxLen *= edge->_lenFactor / neibor->_lenFactor; }