Salome HOME
Typo and whitespace fixes by Kunda
[modules/smesh.git] / src / OBJECT / SMESH_PreviewActorsCollection.cxx
index aee863d1f3f9d9eca7f4dcb70d227fad4893ea24..8cdc0091298da5ed4af08ae48b5c67a3d83773fe 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -84,9 +84,9 @@ bool SMESH_PreviewActorsCollection::Init( const TopoDS_Shape& theShape,
     return false;
 
   // Handle( SALOME_InteractiveObject ) anIO = new SALOME_InteractiveObject();
-  // anIO->setEntry( theEntry.toLatin1().constData() );
-  
-  // get indexes of seleted elements
+  // anIO->setEntry( theEntry.toUtf8().constData() );
+
+  // get indexes of selected elements
   TopExp::MapShapes( theMainShape, myMapOfShapes );
   TopExp_Explorer exp( theShape, theType );
   QSet<int> indices;
@@ -128,6 +128,17 @@ TopoDS_Shape SMESH_PreviewActorsCollection::GetShapeByIndex( int index )
   return IsValidIndex( index ) ? myMapOfShapes.FindKey( index ) : TopoDS_Shape();
 }
 
+int SMESH_PreviewActorsCollection::NbShapesOfType( TopAbs_ShapeEnum type )
+{
+  if ( type == TopAbs_SHAPE ) return myMapOfShapes.Extent();
+
+  int nb = 0;
+  for ( int i = 1; i <= myMapOfShapes.Extent(); ++i )
+    nb += ( myMapOfShapes(i).ShapeType() == type );
+
+  return nb;
+}
+
 void SMESH_PreviewActorsCollection::SetIndices( const QList<int>& indices)
 {
   if ( myIndices != indices )
@@ -237,7 +248,7 @@ void SMESH_PreviewActorsCollection::showCurrentChunk()
       QString entry = QString( "%1_%2" ).arg( myEntry ).arg( index );
       // Create interactive object
       Handle( SALOME_InteractiveObject ) anIO = new SALOME_InteractiveObject();
-      anIO->setEntry( entry.toLatin1().constData() );
+      anIO->setEntry( entry.toUtf8().constData() );
       // Init Actor
       anActor->SetVectorMode( myType==TopAbs_EDGE );
       anActor->setIO( anIO );