Salome HOME
projects
/
modules
/
smesh.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
897fdb9
)
INT PAL 0052786: <None> 2D algorithm shown when mesh edition invoked
author
imn
<imn@opencascade.com>
Mon, 29 Jun 2015 16:34:27 +0000
(19:34 +0300)
committer
imn
<imn@opencascade.com>
Mon, 29 Jun 2015 16:34:27 +0000
(19:34 +0300)
src/SMESHGUI/SMESHGUI_MeshOp.cxx
patch
|
blob
|
history
diff --git
a/src/SMESHGUI/SMESHGUI_MeshOp.cxx
b/src/SMESHGUI/SMESHGUI_MeshOp.cxx
index ff98510088ead389874ccd87465f2a6b73ff0816..53e1ea98e459560e02a7b8f1ce05c62b23ae8c80 100644
(file)
--- a/
src/SMESHGUI/SMESHGUI_MeshOp.cxx
+++ b/
src/SMESHGUI/SMESHGUI_MeshOp.cxx
@@
-1496,24
+1496,32
@@
void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex,
if ( anAvailable.count() == 1 )
soleCompatible = myAvailableHypData[dim][Algo][0];
if ( dim == aTopDim && prevAlgo ) {// all available algoritms should be selectable any way
if ( anAvailable.count() == 1 )
soleCompatible = myAvailableHypData[dim][Algo][0];
if ( dim == aTopDim && prevAlgo ) {// all available algoritms should be selectable any way
- if (aTopDim == SMESH::DIM_2D) {
+ if (aTopDim == SMESH::DIM_2D
&& myFilteredAlgoData[dim].count() > 0
) {
anAvailable.clear();
for (int i = 0; i < myFilteredAlgoData[dim].count(); ++i) {
HypothesisData* aCurAlgo = myFilteredAlgoData[dim][ i ];
anAvailable.append( aCurAlgo->Label );
}
}
anAvailable.clear();
for (int i = 0; i < myFilteredAlgoData[dim].count(); ++i) {
HypothesisData* aCurAlgo = myFilteredAlgoData[dim][ i ];
anAvailable.append( aCurAlgo->Label );
}
}
- if (aTopDim == SMESH::DIM_3D)
+ if (aTopDim == SMESH::DIM_3D
&& myDlg->currentMeshType() == MT_ANY
)
availableHyps( dim, Algo, anAvailable, myAvailableHypData[dim][Algo], 0 );
}
myDlg->tab( dim )->setAvailableHyps( Algo, anAvailable );
noCompatible = anAvailable.isEmpty();
// restore previously selected algo
availableHyps( dim, Algo, anAvailable, myAvailableHypData[dim][Algo], 0 );
}
myDlg->tab( dim )->setAvailableHyps( Algo, anAvailable );
noCompatible = anAvailable.isEmpty();
// restore previously selected algo
- if (dim == aTopDim && prevAlgo && aTopDim == SMESH::DIM_2D
)
+ if (dim == aTopDim && prevAlgo && aTopDim == SMESH::DIM_2D
&& myFilteredAlgoData[dim].count() > 0) {
algoIndex = myFilteredAlgoData[dim].indexOf( curAlgo );
algoIndex = myFilteredAlgoData[dim].indexOf( curAlgo );
- else
+ setCurrentHyp( dim, Algo, algoIndex);
+ if (algoIndex >= 0)
+ prevAlgo = algoByDim[ dim ] = myFilteredAlgoData[dim][algoIndex];
+ else
+ prevAlgo = algoByDim[ dim ] = 0;
+ continue;
+ }
+ else {
algoIndex = myAvailableHypData[dim][Algo].indexOf( curAlgo );
algoIndex = myAvailableHypData[dim][Algo].indexOf( curAlgo );
+ }
if ( !isSubmesh && algoIndex < 0 && soleCompatible && !forward && dim != SMESH::DIM_0D)
// select the sole compatible algo
algoIndex = myAvailableHypData[dim][Algo].indexOf( soleCompatible );
if ( !isSubmesh && algoIndex < 0 && soleCompatible && !forward && dim != SMESH::DIM_0D)
// select the sole compatible algo
algoIndex = myAvailableHypData[dim][Algo].indexOf( soleCompatible );