mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-27 01:10:32 +05:00
22364: EDF SMESH: Create Mesh dialog box improvement: hide inapplicable algorithms/hypotheses
Improve code readability
This commit is contained in:
parent
056dd851f2
commit
7c09ac523c
@ -281,20 +281,16 @@ namespace SMESH
|
||||
// fill list of hypotheses/algorithms
|
||||
THypothesisDataMap& pMap = isAlgo ? myAlgorithmsMap : myHypothesesMap;
|
||||
THypothesisDataMap::ConstIterator anIter;
|
||||
for ( anIter = pMap.begin(); anIter != pMap.end(); anIter++ ) {
|
||||
for ( anIter = pMap.begin(); anIter != pMap.end(); anIter++ )
|
||||
{
|
||||
HypothesisData* aData = anIter.value();
|
||||
if(!aData || aData->Label.isEmpty()) continue;
|
||||
if (( theDim < 0 || aData->Dim.contains( theDim )) &&
|
||||
( isAlgo || aData->IsAuxOrNeedHyp == isAux ) &&
|
||||
( aData->Context == "ANY" || aData->Context == context ))
|
||||
if (( aData && !aData->Label.isEmpty() ) &&
|
||||
( theDim < 0 || aData->Dim.contains( theDim )) &&
|
||||
( isAlgo || aData->IsAuxOrNeedHyp == isAux ) &&
|
||||
( aData->Context == "ANY" || aData->Context == context ) &&
|
||||
( !checkGeometry || aData->IsNeedGeometry == isNeedGeometry ))
|
||||
{
|
||||
if (checkGeometry) {
|
||||
if (aData->IsNeedGeometry == isNeedGeometry)
|
||||
aHypList.append(anIter.key());
|
||||
}
|
||||
else {
|
||||
aHypList.append(anIter.key());
|
||||
}
|
||||
aHypList.append(anIter.key());
|
||||
}
|
||||
}
|
||||
return aHypList;
|
||||
|
@ -1399,20 +1399,22 @@ void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex,
|
||||
|
||||
QStringList anAvailable;
|
||||
|
||||
// check that tab enable, if algorithm building needed algo is one less than dimension
|
||||
if ( algoData && myIsOnGeometry && !algoData->InputTypes.isEmpty() &&
|
||||
( aDim > SMESH::DIM_0D ) && !isAccessibleDim( aDim - 1 ) ){
|
||||
myDlg->enableTab( aDim - 1 );
|
||||
}
|
||||
if ( (myDlg->currentMeshType() != MT_ANY) &&
|
||||
(( !algoData && ( aDim > SMESH::DIM_0D ) && isAccessibleDim( aDim - 1 )) ||
|
||||
( algoData && myIsOnGeometry && algoData->InputTypes.isEmpty() &&
|
||||
( aDim > SMESH::DIM_0D ) && isAccessibleDim( aDim - 1 ) ) ) ){
|
||||
for (int i = aDim - 1; i >= SMESH::DIM_0D; i--){
|
||||
if ( isAccessibleDim( i ) ) {
|
||||
myDlg->disableTab( i );
|
||||
setCurrentHyp(i, Algo, -1);
|
||||
}
|
||||
// check that tab enabled of one less dimension
|
||||
if ( aDim > SMESH::DIM_0D )
|
||||
{
|
||||
if ( isAccessibleDim( aDim - 1 ) )
|
||||
{
|
||||
if (( myDlg->currentMeshType() != MT_ANY ) &&
|
||||
( !algoData || ( myIsOnGeometry && algoData->InputTypes.isEmpty() )))
|
||||
for (int i = aDim - 1; i >= SMESH::DIM_0D; i--)
|
||||
if ( isAccessibleDim( i ) ) {
|
||||
myDlg->disableTab( i );
|
||||
setCurrentHyp(i, Algo, -1);
|
||||
}
|
||||
}
|
||||
else if ( algoData && myIsOnGeometry && !algoData->InputTypes.isEmpty() )
|
||||
{
|
||||
myDlg->enableTab( aDim - 1 );
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user