]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Fix fitAll() function problem on empty view caused by previous integration
authorvsr <vsr@opencascade.com>
Mon, 9 Mar 2009 15:17:20 +0000 (15:17 +0000)
committervsr <vsr@opencascade.com>
Mon, 9 Mar 2009 15:17:20 +0000 (15:17 +0000)
src/Plot2d/Plot2d_ViewFrame.cxx

index 2e95cc8cb89d1d52535fe5660f97d71338d415b5..119e548e0a23e6f01f22a41730d9f11db9d46ab5 100755 (executable)
@@ -833,17 +833,27 @@ void Plot2d_ViewFrame::getFitRangeByCurves(double& xMin,double& xMax,
                                           double& yMin, double& yMax,
                                           double& y2Min, double& y2Max)
 {
-  CurveDict::const_iterator it = myPlot->getCurves().begin();
-  xMin = yMin = y2Min = 1e150;
-  xMax = yMax = y2Max = -1e150;
-  for ( ; it != myPlot->getCurves().end(); it++ ) {
-    if ( xMin > it.value()->getMinX() ) xMin = it.value()->getMinX();
-    if ( xMax < it.value()->getMaxX() ) xMax = it.value()->getMaxX();
-    if ( yMin > it.value()->getMinY() ) yMin = it.value()->getMinY();
-    if ( yMax < it.value()->getMaxY() ) yMax = it.value()->getMaxY();
+  CurveDict cdict = getCurves();
+  if ( !cdict.isEmpty() ) {
+    CurveDict::const_iterator it = myPlot->getCurves().begin();
+    xMin = yMin = y2Min = 1e150;
+    xMax = yMax = y2Max = -1e150;
+    for ( ; it != myPlot->getCurves().end(); it++ ) {
+      if ( xMin > it.value()->getMinX() ) xMin = it.value()->getMinX();
+      if ( xMax < it.value()->getMaxX() ) xMax = it.value()->getMaxX();
+      if ( yMin > it.value()->getMinY() ) yMin = it.value()->getMinY();
+      if ( yMax < it.value()->getMaxY() ) yMax = it.value()->getMaxY();
+    }
+    y2Min = yMin;
+    y2Max = yMax;
+  }
+  else {
+    // default values
+    xMin = isModeHorLinear() ? 0.    : 1.;
+    xMax = isModeHorLinear() ? 1000. : 1e5;
+    yMin = y2Min = isModeVerLinear() ? 0.   : 1.;
+    yMax = y2Max = isModeVerLinear() ? 1000 : 1e5;
   }
-  y2Min = yMin;
-  y2Max = yMax;
 }
 
 /*!