Salome HOME
IPAL20992 Controls Free nodes works wrong
authordmv <dmv@opencascade.com>
Tue, 28 Apr 2009 12:53:25 +0000 (12:53 +0000)
committerdmv <dmv@opencascade.com>
Tue, 28 Apr 2009 12:53:25 +0000 (12:53 +0000)
src/OBJECT/SMESH_DeviceActor.cxx
src/SMESHGUI/SMESHGUI_Selection.cxx

index c24f10bfc8918f2849ed71400387b7c42a8d435c..19e3451cac17516c98206eb7ebeca0921c5ea6b6 100644 (file)
@@ -547,8 +547,8 @@ SMESH_DeviceActor
   }else if(FreeNodes* aFreeNodes = dynamic_cast<FreeNodes*>(theFunctor.get())){
     myExtractUnstructuredGrid->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
     vtkUnstructuredGrid* aGrid = myVisualObj->GetUnstructuredGrid();
   }else if(FreeNodes* aFreeNodes = dynamic_cast<FreeNodes*>(theFunctor.get())){
     myExtractUnstructuredGrid->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);
     vtkUnstructuredGrid* aGrid = myVisualObj->GetUnstructuredGrid();
-    vtkIdType aNbCells = aGrid->GetNumberOfCells();
-    for( vtkIdType i = 0; i < aNbCells; i++ ){
+    vtkIdType aNbNodes = myVisualObj->GetNbEntities(SMDSAbs_Node);
+    for( vtkIdType i = 0; i < aNbNodes; i++ ){
       vtkIdType anObjId = myVisualObj->GetNodeObjId(i);
       if(aFreeNodes->IsSatisfy(anObjId))
        myExtractUnstructuredGrid->RegisterCell(i);
       vtkIdType anObjId = myVisualObj->GetNodeObjId(i);
       if(aFreeNodes->IsSatisfy(anObjId))
        myExtractUnstructuredGrid->RegisterCell(i);
index cc09a369fd13724db692f6bd4a264188788ad728..c37d3559f7be5d6b2cf152e32092c4fe9eea1e6f 100644 (file)
@@ -239,6 +239,7 @@ QString SMESHGUI_Selection::controlMode( int ind ) const
     case SMESH_Actor::eLength:            return "eLength";
     case SMESH_Actor::eLength2D:          return "eLength2D";
     case SMESH_Actor::eFreeEdges:         return "eFreeEdges";
     case SMESH_Actor::eLength:            return "eLength";
     case SMESH_Actor::eLength2D:          return "eLength2D";
     case SMESH_Actor::eFreeEdges:         return "eFreeEdges";
+    case SMESH_Actor::eFreeNodes:         return "eFreeNodes";
     case SMESH_Actor::eFreeBorders:       return "eFreeBorders";
     case SMESH_Actor::eFreeFaces:         return "eFreeFaces";
     case SMESH_Actor::eMultiConnection:   return "eMultiConnection";
     case SMESH_Actor::eFreeBorders:       return "eFreeBorders";
     case SMESH_Actor::eFreeFaces:         return "eFreeFaces";
     case SMESH_Actor::eMultiConnection:   return "eMultiConnection";