INT PAL 0052778: Algorithms of SMESH plugins have incorrect set of hypotheses

This commit is contained in:
imn 2015-06-22 15:06:00 +03:00
parent 3c0d0df848
commit 03a1295ce9

View File

@ -1496,17 +1496,21 @@ void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex,
if ( anAvailable.count() == 1 ) if ( anAvailable.count() == 1 )
soleCompatible = myAvailableHypData[dim][Algo][0]; soleCompatible = myAvailableHypData[dim][Algo][0];
if ( dim == aTopDim && prevAlgo ) {// all available algoritms should be selectable any way if ( dim == aTopDim && prevAlgo ) {// all available algoritms should be selectable any way
if (aTopDim == SMESH::DIM_2D) {
anAvailable.clear(); anAvailable.clear();
for (int i = 0; i < myFilteredAlgoData[dim].count(); ++i) { for (int i = 0; i < myFilteredAlgoData[dim].count(); ++i) {
HypothesisData* aCurAlgo = myFilteredAlgoData[dim][ i ]; HypothesisData* aCurAlgo = myFilteredAlgoData[dim][ i ];
anAvailable.append( aCurAlgo->Label ); anAvailable.append( aCurAlgo->Label );
} }
} }
if (aTopDim == SMESH::DIM_3D)
availableHyps( dim, Algo, anAvailable, myAvailableHypData[dim][Algo], 0 );
}
myDlg->tab( dim )->setAvailableHyps( Algo, anAvailable ); myDlg->tab( dim )->setAvailableHyps( Algo, anAvailable );
noCompatible = anAvailable.isEmpty(); noCompatible = anAvailable.isEmpty();
// restore previously selected algo // restore previously selected algo
if (dim == aTopDim && prevAlgo) if (dim == aTopDim && prevAlgo && aTopDim == SMESH::DIM_2D)
algoIndex = myFilteredAlgoData[dim].indexOf( curAlgo ); algoIndex = myFilteredAlgoData[dim].indexOf( curAlgo );
else else
algoIndex = myAvailableHypData[dim][Algo].indexOf( curAlgo ); algoIndex = myAvailableHypData[dim][Algo].indexOf( curAlgo );