From: Gilles DAVID Date: Thu, 18 May 2017 16:03:44 +0000 (+0200) Subject: Merge branch 'V8_3_BR' into ngr/python3_dev X-Git-Tag: V9_0_0~6^2~6 X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=commitdiff_plain;h=442fd64c19a6e27a339ca36264c15ec91732cf32;hp=42c70284400c5b73aca9b9b8ffd91a035da25bf8 Merge branch 'V8_3_BR' into ngr/python3_dev Conflicts: src/Tools/padder/spadderpy/gui/inputdialog.py --- diff --git a/doc/salome/gui/SMESH/static/footer.html b/doc/salome/gui/SMESH/static/footer.html index 91afd6cc8..7cf11feba 100755 --- a/doc/salome/gui/SMESH/static/footer.html +++ b/doc/salome/gui/SMESH/static/footer.html @@ -4,7 +4,7 @@ diff --git a/doc/salome/tui/static/footer.html b/doc/salome/tui/static/footer.html index 91afd6cc8..7cf11feba 100755 --- a/doc/salome/tui/static/footer.html +++ b/doc/salome/tui/static/footer.html @@ -4,7 +4,7 @@ diff --git a/src/OBJECT/SMESH_ScalarBarActor.cxx b/src/OBJECT/SMESH_ScalarBarActor.cxx index 1f5b00b63..a45696d7e 100644 --- a/src/OBJECT/SMESH_ScalarBarActor.cxx +++ b/src/OBJECT/SMESH_ScalarBarActor.cxx @@ -578,15 +578,18 @@ int SMESH_ScalarBarActor::RenderOpaqueGeometry(vtkViewport *viewport) // rnv begin // Customization of the vtkScalarBarActor to show distribution histogram. - if(myDistributionColoringType == SMESH_MULTICOLOR_TYPE && GetDistributionVisibility() && distrVisibility) - { - rgb = distColors->GetPointer(3*dcCount); //write into array directly - rgb[0] = rgba[0]; - rgb[1] = rgba[1]; - rgb[2] = rgba[2]; - dcCount++; - } + if ( myDistributionColoringType == SMESH_MULTICOLOR_TYPE && + GetDistributionVisibility() && + distrVisibility && + myNbValues[i] > 0 ) + { + rgb = distColors->GetPointer(3*dcCount); //write into array directly + rgb[0] = rgba[0]; + rgb[1] = rgba[1]; + rgb[2] = rgba[2]; + dcCount++; } + } // Now position everything properly // diff --git a/src/SMESH/SMESH_MeshEditor.cxx b/src/SMESH/SMESH_MeshEditor.cxx index 38b2eeb9f..1f343b1c4 100644 --- a/src/SMESH/SMESH_MeshEditor.cxx +++ b/src/SMESH/SMESH_MeshEditor.cxx @@ -7458,8 +7458,8 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes, for ( size_t i = 0; i < newElemDefs.size(); ++i ) { - if ( i > 0 || !mesh->ChangeElementNodes( elem, & - newElemDefs[i].myNodes[0], + if ( i > 0 || !mesh->ChangeElementNodes( elem, + & newElemDefs[i].myNodes[0], newElemDefs[i].myNodes.size() )) { if ( i == 0 ) @@ -7553,6 +7553,30 @@ bool SMESH_MeshEditor::applyMerge( const SMDS_MeshElement* elem, toRemove = true; nbResElems = 0; + if ( elem->IsQuadratic() && newElemDefs[0].myType == SMDSAbs_Face && nbNodes > 6 ) + { + // if corner nodes stick, remove medium nodes between them from uniqueNodes + int nbCorners = nbNodes / 2; + for ( int iCur = 0; iCur < nbCorners; ++iCur ) + { + int iPrev = ( iCur + 1 ) % nbCorners; + if ( curNodes[ iCur ] == curNodes[ iPrev ] ) // corners stick + { + int iMedium = iCur + nbCorners; + vector< const SMDS_MeshNode* >::iterator i = + std::find( uniqueNodes.begin() + nbCorners - nbRepl, + uniqueNodes.end(), + curNodes[ iMedium ]); + if ( i != uniqueNodes.end() ) + { + --nbUniqueNodes; + for ( ; i+1 != uniqueNodes.end(); ++i ) + *i = *(i+1); + } + } + } + } + switch ( entity ) { case SMDSEntity_Polygon: @@ -7670,11 +7694,9 @@ bool SMESH_MeshEditor::applyMerge( const SMDS_MeshElement* elem, // | | // +---+---+ // 0 7 3 - if (( nbUniqueNodes == 6 && nbRepl == 2 ) && - (( iRepl[0] == 1 && iRepl[1] == 4 && curNodes[1] == curNodes[0] ) || - ( iRepl[0] == 2 && iRepl[1] == 5 && curNodes[2] == curNodes[1] ) || - ( iRepl[0] == 3 && iRepl[1] == 6 && curNodes[3] == curNodes[2] ) || - ( iRepl[0] == 3 && iRepl[1] == 7 && curNodes[3] == curNodes[0] ))) + if ( nbUniqueNodes == 6 && + iRepl[0] < 4 && + ( nbRepl == 1 || iRepl[1] >= 4 )) { toRemove = false; } diff --git a/src/SMESH_I/SMESH_Gen_i_1.cxx b/src/SMESH_I/SMESH_Gen_i_1.cxx index 0ae519858..b08b7e3e6 100644 --- a/src/SMESH_I/SMESH_Gen_i_1.cxx +++ b/src/SMESH_I/SMESH_Gen_i_1.cxx @@ -277,6 +277,10 @@ static SALOMEDS::SObject_ptr publish(SALOMEDS::Study_ptr theStudy, SO = aStudyBuilder->NewObjectToTag( theFatherObject, theTag ); isNewSO = true; } + else + { + isInUseCaseTree = useCaseBuilder->IsUseCaseNode( SO ); + } } else { diff --git a/src/Tools/MGCleanerPlug/doc/conf.py.in b/src/Tools/MGCleanerPlug/doc/conf.py.in index 778165c64..0f6894ffd 100644 --- a/src/Tools/MGCleanerPlug/doc/conf.py.in +++ b/src/Tools/MGCleanerPlug/doc/conf.py.in @@ -36,7 +36,7 @@ master_doc = 'index' # General substitutions. project = 'MGCleaner Plug-in' -copyright = '2013-2016, EDF R&D' +copyright = '2013-2017, EDF R&D' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. diff --git a/src/Tools/Verima/Doc/conf.py.in b/src/Tools/Verima/Doc/conf.py.in index 8778ac7dc..dd67de87c 100644 --- a/src/Tools/Verima/Doc/conf.py.in +++ b/src/Tools/Verima/Doc/conf.py.in @@ -36,7 +36,7 @@ master_doc = 'index' # General substitutions. project = 'Verima Plug-in' -copyright = '2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE' +copyright = '2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. diff --git a/src/Tools/YamsPlug/doc/conf.py.in b/src/Tools/YamsPlug/doc/conf.py.in index 3ac36bee3..29d094d19 100644 --- a/src/Tools/YamsPlug/doc/conf.py.in +++ b/src/Tools/YamsPlug/doc/conf.py.in @@ -36,7 +36,7 @@ master_doc = 'index' # General substitutions. project = 'MeshGems-SurfOpt Plug-in' -copyright = '2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE' +copyright = '2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. diff --git a/src/Tools/ZCracksPlug/doc/conf.py.in b/src/Tools/ZCracksPlug/doc/conf.py.in index d8d457c80..db09764fc 100644 --- a/src/Tools/ZCracksPlug/doc/conf.py.in +++ b/src/Tools/ZCracksPlug/doc/conf.py.in @@ -36,7 +36,7 @@ master_doc = 'index' # General substitutions. project = 'ZCracks Plug-in' -copyright = '2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE' +copyright = '2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents. diff --git a/src/Tools/blocFissure/doc/conf.py.in b/src/Tools/blocFissure/doc/conf.py.in index 72abf4e5f..accd55b19 100644 --- a/src/Tools/blocFissure/doc/conf.py.in +++ b/src/Tools/blocFissure/doc/conf.py.in @@ -36,7 +36,7 @@ master_doc = 'index' # General substitutions. project = 'Plug-in blocFissure' -copyright = '2010-2016 EDF R&D' +copyright = '2010-2017 EDF R&D' # The default replacements for |version| and |release|, also used in various # other places throughout the built documents.