X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSVTK%2FSVTK_Renderer.cxx;h=b763565036dee2438591f8b4603b66b894139a1c;hb=refs%2Fheads%2Fngr%2Fpython3_dev_pv5.4;hp=1a251d9e4ebb54c142d0124c61a252fea220101a;hpb=257308ab92a2ecccb38294bf15b690580d6cbebc;p=modules%2Fgui.git diff --git a/src/SVTK/SVTK_Renderer.cxx b/src/SVTK/SVTK_Renderer.cxx index 1a251d9e4..b76356503 100644 --- a/src/SVTK/SVTK_Renderer.cxx +++ b/src/SVTK/SVTK_Renderer.cxx @@ -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 // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -395,9 +395,9 @@ inline bool CheckBndBox(const double theBounds[6]) { - if(theBounds[0] > -VTK_LARGE_FLOAT && theBounds[1] < VTK_LARGE_FLOAT && - theBounds[2] > -VTK_LARGE_FLOAT && theBounds[3] < VTK_LARGE_FLOAT && - theBounds[4] > -VTK_LARGE_FLOAT && theBounds[5] < VTK_LARGE_FLOAT) + if(theBounds[0] > -VTK_FLOAT_MAX && theBounds[1] < VTK_FLOAT_MAX && + theBounds[2] > -VTK_FLOAT_MAX && theBounds[3] < VTK_FLOAT_MAX && + theBounds[4] > -VTK_FLOAT_MAX && theBounds[5] < VTK_FLOAT_MAX) return true; return false; } @@ -413,8 +413,8 @@ SVTK_Renderer bool aCDisplayed = IsCubeAxesDisplayed(); double aNewBndBox[6]; - aNewBndBox[ 0 ] = aNewBndBox[ 2 ] = aNewBndBox[ 4 ] = VTK_LARGE_FLOAT; - aNewBndBox[ 1 ] = aNewBndBox[ 3 ] = aNewBndBox[ 5 ] = -VTK_LARGE_FLOAT; + aNewBndBox[ 0 ] = aNewBndBox[ 2 ] = aNewBndBox[ 4 ] = VTK_FLOAT_MAX; + aNewBndBox[ 1 ] = aNewBndBox[ 3 ] = aNewBndBox[ 5 ] = -VTK_FLOAT_MAX; int aVisibleNum = myTrihedron->GetVisibleActorCount(GetDevice()); if(aVisibleNum){ @@ -708,10 +708,15 @@ void SVTK_Renderer::onFitSelection() vtkActorCollection* aCollection = aCopy.GetActors(); aCollection->InitTraversal(); while ( vtkActor* aProp = aCollection->GetNextActor() ) - if ( SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( aProp ) ) - if ( mySelector->IsSelected( anActor ) ) + if ( SALOME_Actor* anActor = SALOME_Actor::SafeDownCast( aProp ) ) { + const Handle(SALOME_InteractiveObject)& io = anActor->getIO(); + if ( !io.IsNull() && mySelector->IsSelected( io ) ) aSelectedCollection->AddItem( aProp ); - + } + + if( aSelectedCollection->GetNumberOfItems() == 0 ) + return; // if collection is empty + double bounds[6]; ::ComputeBounds( aSelectedCollection, bounds );