mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-12 00:29:17 +05:00
INT PAL 0052864: Assigned algorithms are not shown in Edit Mesh dialog
This commit is contained in:
parent
44cfe3f661
commit
293c27e277
@ -1503,7 +1503,8 @@ void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex,
|
|||||||
if ( isAccessibleDim( aDim - 1 ) ) {
|
if ( isAccessibleDim( aDim - 1 ) ) {
|
||||||
if ( algoData && myIsOnGeometry ) {
|
if ( algoData && myIsOnGeometry ) {
|
||||||
for (int i = aDim - 1; i >= SMESH::DIM_0D; i--) {
|
for (int i = aDim - 1; i >= SMESH::DIM_0D; i--) {
|
||||||
if ( isAccessibleDim( i ) && currentHyp( i, Algo ) < 0 ) {
|
if ( isAccessibleDim( i ) && ( currentHyp( i, Algo ) < 0 ||
|
||||||
|
algoData->InputTypes.isEmpty() ) ) {
|
||||||
myDlg->disableTab( i );
|
myDlg->disableTab( i );
|
||||||
setCurrentHyp(i, Algo, -1);
|
setCurrentHyp(i, Algo, -1);
|
||||||
}
|
}
|
||||||
@ -1539,10 +1540,6 @@ void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex,
|
|||||||
bool noCompatible = false;
|
bool noCompatible = false;
|
||||||
for ( ; dim * dir <= lastDim * dir; dim += dir)
|
for ( ; dim * dir <= lastDim * dir; dim += dir)
|
||||||
{
|
{
|
||||||
HypothesisData* nextAlgo = 0;
|
|
||||||
if ( myMaxShapeDim == SMESH::DIM_3D && a3DAlgo && dim == SMESH::DIM_2D ) {
|
|
||||||
nextAlgo = a3DAlgo;
|
|
||||||
}
|
|
||||||
if ( !isAccessibleDim( dim ))
|
if ( !isAccessibleDim( dim ))
|
||||||
continue;
|
continue;
|
||||||
if ( noCompatible ) { // the selected algo has no compatible ones
|
if ( noCompatible ) { // the selected algo has no compatible ones
|
||||||
@ -1552,14 +1549,13 @@ void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex,
|
|||||||
algoByDim[ dim ] = 0;
|
algoByDim[ dim ] = 0;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
HypothesisData* nextAlgo = 0;
|
||||||
|
if ( myMaxShapeDim == SMESH::DIM_3D && a3DAlgo && dim == SMESH::DIM_2D ) {
|
||||||
|
nextAlgo = a3DAlgo;
|
||||||
|
}
|
||||||
// get currently selected algo
|
// get currently selected algo
|
||||||
int algoIndex = currentHyp( dim, Algo );
|
int algoIndex = currentHyp( dim, Algo );
|
||||||
HypothesisData* curAlgo = hypData( dim, Algo, algoIndex );
|
HypothesisData* curAlgo = hypData( dim, Algo, algoIndex );
|
||||||
if ( curAlgo ) { // some algo selected
|
|
||||||
if ( !isCompatible( prevAlgo, curAlgo, Algo ))
|
|
||||||
curAlgo = 0;
|
|
||||||
}
|
|
||||||
// set new available algoritms
|
|
||||||
|
|
||||||
QString anCompareType = currentMeshTypeName(myDlg->currentMeshType());
|
QString anCompareType = currentMeshTypeName(myDlg->currentMeshType());
|
||||||
QString anCurrentCompareType = "";
|
QString anCurrentCompareType = "";
|
||||||
@ -1569,13 +1565,15 @@ void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex,
|
|||||||
anCurrentCompareType = (anCompareType == "HEXA" || anCompareType == "QUAD") ? "QUAD" : "TRIA";
|
anCurrentCompareType = (anCompareType == "HEXA" || anCompareType == "QUAD") ? "QUAD" : "TRIA";
|
||||||
nextAlgo = 0;
|
nextAlgo = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// set new available algoritms
|
||||||
availableHyps( dim, Algo, anAvailable, myAvailableHypData[dim][Algo], prevAlgo, nextAlgo, anCurrentCompareType);
|
availableHyps( dim, Algo, anAvailable, myAvailableHypData[dim][Algo], prevAlgo, nextAlgo, anCurrentCompareType);
|
||||||
HypothesisData* soleCompatible = 0;
|
HypothesisData* soleCompatible = 0;
|
||||||
if ( anAvailable.count() == 1 )
|
if ( anAvailable.count() == 1 )
|
||||||
soleCompatible = myAvailableHypData[dim][Algo][0];
|
soleCompatible = myAvailableHypData[dim][Algo][0];
|
||||||
myDlg->tab( dim )->setAvailableHyps( Algo, anAvailable );
|
myDlg->tab( dim )->setAvailableHyps( Algo, anAvailable );
|
||||||
noCompatible = anAvailable.isEmpty();
|
noCompatible = anAvailable.isEmpty();
|
||||||
algoIndex = myAvailableHypData[dim][Algo].indexOf( curAlgo );
|
algoIndex = myAvailableHypData[dim][Algo].indexOf( curAlgo );
|
||||||
if ( !isSubmesh && algoIndex < 0 && soleCompatible && !forward && dim != SMESH::DIM_0D) {
|
if ( !isSubmesh && algoIndex < 0 && soleCompatible && !forward && dim != SMESH::DIM_0D) {
|
||||||
// select the sole compatible algo
|
// select the sole compatible algo
|
||||||
algoIndex = myAvailableHypData[dim][Algo].indexOf( soleCompatible );
|
algoIndex = myAvailableHypData[dim][Algo].indexOf( soleCompatible );
|
||||||
|
Loading…
Reference in New Issue
Block a user