0020168: EDF SMESH 953: uncomplete selection with filter 'belong on geom'

This commit is contained in:
dmv 2009-02-20 08:08:43 +00:00
parent 7010da6642
commit b199783795
2 changed files with 8 additions and 4 deletions

View File

@ -1120,10 +1120,12 @@ void SMESHGUI_FilterTable::SetCriterion (const int theRow,
aTable->item( theRow, 5 )->setText( QString( theCriterion.ThresholdID ) );
}
if (theCriterion.Compare == SMESH::FT_EqualTo ||
if (theCriterion.Compare == SMESH::FT_EqualTo ||
theCriterion.Type == SMESH::FT_BelongToPlane ||
theCriterion.Type == SMESH::FT_BelongToCylinder ||
theCriterion.Type == SMESH::FT_BelongToGenSurface)
theCriterion.Type == SMESH::FT_BelongToGenSurface ||
theCriterion.Type == SMESH::FT_BelongToGeom ||
theCriterion.Type == SMESH::FT_LyingOnGeom)
{
QTableWidgetItem* anItem = aTable->item(theRow, 0);
if (!myAddWidgets.contains(anItem))
@ -1264,8 +1266,6 @@ void SMESHGUI_FilterTable::updateAdditionalWidget()
ComboItem* anItem = ((ComboItem*)aTable->item(aRow, 0));
int aCriterion = GetCriterionType(aRow);
bool toEnable = ((ComboItem*)aTable->item(aRow, 1))->value() == SMESH::FT_EqualTo &&
aCriterion != SMESH::FT_BelongToGeom &&
aCriterion != SMESH::FT_LyingOnGeom &&
aCriterion != SMESH::FT_RangeOfIds &&
aCriterion != SMESH::FT_FreeEdges &&
aCriterion != SMESH::FT_FreeFaces &&

View File

@ -2189,6 +2189,7 @@ static inline bool getCriteria( Predicate_i* thePred,
theCriteria[ i ].ThresholdStr = aPred->GetShapeName();
theCriteria[ i ].ThresholdID = aPred->GetShapeID();
theCriteria[ i ].TypeOfElement = aPred->GetElementType();
theCriteria[ i ].Tolerance = aPred->GetTolerance();
return true;
}
@ -2224,6 +2225,7 @@ static inline bool getCriteria( Predicate_i* thePred,
theCriteria[ i ].ThresholdStr = aPred->GetShapeName();
theCriteria[ i ].ThresholdID = aPred->GetShapeID();
theCriteria[ i ].TypeOfElement = aPred->GetElementType();
theCriteria[ i ].Tolerance = aPred->GetTolerance();
return true;
}
@ -2450,6 +2452,7 @@ CORBA::Boolean Filter_i::SetCriteria( const SMESH::Filter::Criteria& theCriteria
SMESH::BelongToGeom_ptr tmpPred = aFilterMgr->CreateBelongToGeom();
tmpPred->SetElementType( aTypeOfElem );
tmpPred->SetShape( aThresholdID, aThresholdStr );
tmpPred->SetTolerance( aTolerance );
aPredicate = tmpPred;
}
break;
@ -2476,6 +2479,7 @@ CORBA::Boolean Filter_i::SetCriteria( const SMESH::Filter::Criteria& theCriteria
SMESH::LyingOnGeom_ptr tmpPred = aFilterMgr->CreateLyingOnGeom();
tmpPred->SetElementType( aTypeOfElem );
tmpPred->SetShape( aThresholdID, aThresholdStr );
tmpPred->SetTolerance( aTolerance );
aPredicate = tmpPred;
}
break;