Salome HOME
Fix regressions V8_3_0a2
authoreap <eap@opencascade.com>
Thu, 16 Mar 2017 14:57:38 +0000 (17:57 +0300)
committereap <eap@opencascade.com>
Thu, 16 Mar 2017 14:57:38 +0000 (17:57 +0300)
smesh/viscous_layers_00/A3
smesh/3D_mesh_GHS3D_01/B1

src/SMESHGUI/SMESHGUI.cxx
src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx
src/StdMeshers/StdMeshers_ViscousLayers.cxx

index 1f3435241ee13075bedb69e43d3fb6e81719415b..0f08808d0b766c228c18f766da8f73620e4d7964 100644 (file)
@@ -4605,9 +4605,9 @@ void SMESHGUI::initialize( CAM_Application* app )
   // Controls
   //-------------------------------------------------
   QString
   // 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 );
     aMeshInVtkHasVolumes = aMeshInVTK + "&&" + hasVolumes;
 
   anId = popupMgr()->insert( tr( "MEN_CTRL" ), -1, -1 );
index 0f6172b0565506a732e4237573ed02707a56e458..aac578ba22440c023b86bdbc78fd84907d199f1c 100644 (file)
@@ -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);
   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" );
 
   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(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);
 
   /***************************************************************/
   GroupButtons = new QGroupBox(this);
@@ -289,6 +289,8 @@ bool SMESHGUI_BuildCompoundDlg::ClickOnApply()
   if (!isValid())
     return false;
 
   if (!isValid())
     return false;
 
+  SUIT_OverrideCursor aWaitCursor;
+
   SMESH::SMESH_Mesh_var aMesh;
 
   if (!myMesh->_is_nil())
   SMESH::SMESH_Mesh_var aMesh;
 
   if (!myMesh->_is_nil())
@@ -298,7 +300,6 @@ bool SMESHGUI_BuildCompoundDlg::ClickOnApply()
 
     QStringList anEntryList;
     try {
 
     QStringList anEntryList;
     try {
-      SUIT_OverrideCursor aWaitCursor;
 
       aMesh = myMeshArray[0]->GetMesh();
       aMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
 
       aMesh = myMeshArray[0]->GetMesh();
       aMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
index 6042aa4220d4c28d1f7fc046d9eaaa815c314e03..a6530b9244a5782abe3a820e82075e2aab951077 100644 (file)
@@ -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() &&
     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;
 
            _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;
       continue;
-    
+    }
+
     if ( ! inflate(_sdVec[iSD]) )     // increase length of _LayerEdge's
       return _error;
 
     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 );
       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;
       }
       {
         newMaxLen *= edge->_lenFactor / neibor->_lenFactor;
       }