]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
To improve "slider" functionality
authorapo <apo@opencascade.com>
Mon, 19 May 2008 08:42:37 +0000 (08:42 +0000)
committerapo <apo@opencascade.com>
Mon, 19 May 2008 08:42:37 +0000 (08:42 +0000)
src/VISUGUI/VisuGUI_Slider.cxx

index 614608913eefddc4ae71b70f78dab935818f3a0e..0abea289dae139caf420bcebdf9ecacacc8542d3 100644 (file)
@@ -401,6 +401,19 @@ void VisuGUI_Slider::enableControls( bool on )
 
     if( a_current_index <= mySlider->maximum() )
       mySlider->setMaximum( aLength-1 );
+
+    using namespace VISU;
+    SALOMEDS::Study_var aStudy = GetDSStudy( GetCStudy( GetAppStudy( myModule ) ) );
+    VISU::ColoredPrs3dCache_var aCache = GetVisuGen( myModule )->GetColoredPrs3dCache( aStudy );
+
+    long aMb = 1024 * 1024;
+    double aLimitedMemory = aCache->GetLimitedMemory();
+    myLimitedMemory->setValue( aLimitedMemory );
+
+    double aFreeMemory = (double)VISU_PipeLine::GetAvailableMemory( 2048 * aMb ) / (double)aMb;
+    double anUsedMemory = aCache->GetMemorySize();
+    double aLimitedMemoryMax = max( anUsedMemory + aFreeMemory, aLimitedMemory );
+    myLimitedMemory->setMaximum( aLimitedMemoryMax );
   }
   else
   {