void VVTK_PickingDlg::onClickClose()
{
SelectorHelper aHelper( myInteractor );
- if ( !aHelper.get() )
- return;
-
- const TColStd_IndexedMapOfInteger& aMapIndex = aHelper.myMapIndex;
- if ( aMapIndex.Extent() != 1 )
- return;
+ if ( aHelper.get() )
+ {
+ const TColStd_IndexedMapOfInteger& aMapIndex = aHelper.myMapIndex;
+ if ( aMapIndex.Extent() == 1 )
+ {
+ int anObjId = aHelper.myMapIndex(1);
+ VISU::TGaussPointID aGaussPointID = aHelper.myPipeLine->GetObjID( anObjId );
+ VISU::TCellID aCellID = aGaussPointID.first;
+ VISU::TLocalPntID aLocalPntID = aGaussPointID.second;
+
+ VISU::PGaussPtsIDMapper anIDMapper = aHelper.myPipeLine->GetGaussPtsIDMapper();
+ vtkIdType anObjVtkId = anIDMapper->GetVTKID( VISU::TGaussPointID( aCellID, aLocalPntID ) );
+ if ( anObjVtkId >= 0 )
+ {
+ aHelper.myActor->Highlight( false );
+ aHelper.myMapIndex.Clear();
+ }
+ }
+ }
- int anObjId = aHelper.myMapIndex(1);
- VISU::TGaussPointID aGaussPointID = aHelper.myPipeLine->GetObjID( anObjId );
- VISU::TCellID aCellID = aGaussPointID.first;
- VISU::TLocalPntID aLocalPntID = aGaussPointID.second;
-
- VISU::PGaussPtsIDMapper anIDMapper = aHelper.myPipeLine->GetGaussPtsIDMapper();
- vtkIdType anObjVtkId = anIDMapper->GetVTKID( VISU::TGaussPointID( aCellID, aLocalPntID ) );
- if ( anObjVtkId < 0 )
- return;
-
- aHelper.myActor->Highlight( false );
- aHelper.myMapIndex.Clear();
-
reject();
}