mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-27 09:50:34 +05:00
INT PAL 0053067: Algorithm disable in "Edit mesh" dialog
This commit is contained in:
parent
3c33b14157
commit
18dade91d0
@ -1504,6 +1504,7 @@ void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex,
|
|||||||
QString anCompareType = currentMeshTypeName(myDlg->currentMeshType());
|
QString anCompareType = currentMeshTypeName(myDlg->currentMeshType());
|
||||||
bool is2dtype = ( anCompareType == "QUAD" ) || ( anCompareType == "TRIA" );
|
bool is2dtype = ( anCompareType == "QUAD" ) || ( anCompareType == "TRIA" );
|
||||||
int dim = is2dtype ? SMESH::DIM_2D : SMESH::DIM_3D;
|
int dim = is2dtype ? SMESH::DIM_2D : SMESH::DIM_3D;
|
||||||
|
dim = ( myMaxShapeDim < dim ) ? myMaxShapeDim : dim;
|
||||||
for (int i = dim; i >= SMESH::DIM_0D; i--) {
|
for (int i = dim; i >= SMESH::DIM_0D; i--) {
|
||||||
if ( i != aDim ) {
|
if ( i != aDim ) {
|
||||||
if ( algoData && algoData->InputTypes.isEmpty() ) {
|
if ( algoData && algoData->InputTypes.isEmpty() ) {
|
||||||
@ -2746,18 +2747,14 @@ void SMESHGUI_MeshOp::setFilteredAlgoData( const int theTabIndex, const int theI
|
|||||||
setCurrentHyp( dim, Algo, anCurrentAvailableAlgo );
|
setCurrentHyp( dim, Algo, anCurrentAvailableAlgo );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( aDim == SMESH::DIM_2D) {
|
for ( int i = myMaxShapeDim; i >= SMESH::DIM_0D; i-- ) {
|
||||||
myDlg->disableTab( SMESH::DIM_3D );
|
|
||||||
setCurrentHyp( SMESH::DIM_3D, Algo, -1);
|
|
||||||
}
|
|
||||||
for ( int i = myMaxShapeDim; i > SMESH::DIM_0D; i-- ) {
|
|
||||||
bool isNoneAlg = currentHyp( i, Algo ) < 0;
|
bool isNoneAlg = currentHyp( i, Algo ) < 0;
|
||||||
if ( !isNoneAlg )
|
if ( !isNoneAlg )
|
||||||
isReqDisBound = myAvailableHypData[i][Algo].at( currentHyp( i, Algo ) )->InputTypes.isEmpty();
|
isReqDisBound = myAvailableHypData[i][Algo].at( currentHyp( i, Algo ) )->InputTypes.isEmpty();
|
||||||
else
|
else
|
||||||
isReqDisBound = true;
|
isReqDisBound = true;
|
||||||
if ( isReqDisBound && !isNoneAlg) {
|
if ( isReqDisBound && !isNoneAlg && i <= aDim) {
|
||||||
for (int j = i; j >= SMESH::DIM_0D; j--) {
|
for (int j = myMaxShapeDim; j >= SMESH::DIM_0D; j--) {
|
||||||
if ( currentHyp( j, Algo ) < 0 ) {
|
if ( currentHyp( j, Algo ) < 0 ) {
|
||||||
myDlg->disableTab( j );
|
myDlg->disableTab( j );
|
||||||
setCurrentHyp( j , Algo, -1 );
|
setCurrentHyp( j , Algo, -1 );
|
||||||
@ -2765,7 +2762,15 @@ void SMESHGUI_MeshOp::setFilteredAlgoData( const int theTabIndex, const int theI
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
myDlg->enableTab( i );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if ( aDim == SMESH::DIM_2D) {
|
||||||
|
myDlg->disableTab( SMESH::DIM_3D );
|
||||||
|
setCurrentHyp( SMESH::DIM_3D, Algo, -1);
|
||||||
|
}
|
||||||
|
|
||||||
int currentTab = ( theTabIndex <= aDim ) ? theTabIndex : aDim;
|
int currentTab = ( theTabIndex <= aDim ) ? theTabIndex : aDim;
|
||||||
myDlg->setCurrentTab( currentTab );
|
myDlg->setCurrentTab( currentTab );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user