-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
IdList ids; extractIds( list, ids, '\0' );
IdList::const_iterator anIt = ids.begin(),
aLast = ids.end();
- for( ; anIt!=aLast; anIt++ )
- if( const SMDS_MeshNode * n = aMesh->FindNode( *anIt ) )
- newIndices.Add( n->GetID() );
+ if ( selectionMode() == NodeSelection )
+ for( ; anIt!=aLast; anIt++ ) {
+ if( const SMDS_MeshNode * n = aMesh->FindNode( *anIt ) )
+ newIndices.Add( n->GetID() );
+ }
+ else
+ for( ; anIt!=aLast; anIt++ ) {
+ if( const SMDS_MeshElement* e = aMesh->FindElement( *anIt ) )
+ newIndices.Add( e->GetID() );
+ }
selector()->AddOrRemoveIndex( sel.First(), newIndices, false );
highlight( sel.First(), true, true );