]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Additional fix for the 0021407: [CEA 515] Plot2d Display error labels around the...
authorrnv <rnv@opencascade.com>
Wed, 1 Feb 2012 07:43:33 +0000 (07:43 +0000)
committerrnv <rnv@opencascade.com>
Wed, 1 Feb 2012 07:43:33 +0000 (07:43 +0000)
src/Plot2d/Plot2d.cxx
src/Plot2d/Plot2d.h
src/Plot2d/Plot2d_Curve.cxx
src/Plot2d/Plot2d_PlotItems.cxx

index b864720b9e1b71804e70b55229048e87c818cfd5..efeba138d4646bef2d20aec0a53d3b6c83f01157 100755 (executable)
@@ -98,19 +98,23 @@ bool Plot2d_Point::deviation(double& min, double& max) const {
 /*!
   Return minimal deviation value.
 */
-double Plot2d_Point::minDeviation() const {
-  if(hasDeviation()) 
-    return deviationPtr[0];
-  return 0.;
+bool Plot2d_Point::minDeviation(double& min) const {
+  if(hasDeviation()) {
+    min = deviationPtr[0];
+    return true;
+  }
+  return false;
 }
 
 /*!
   Return minimal deviation value.
 */
-double Plot2d_Point::maxDeviation() const {
-  if(hasDeviation()) 
-    return deviationPtr[1];
-  return 0.;
+bool Plot2d_Point::maxDeviation(double& max) const {
+  if(hasDeviation()) {
+    max = deviationPtr[1];
+    return true;
+  }
+  return false;
 }
 
 
index 648c813449c6abedd9d6e2b6e793c22ac9ee6686..a278ec2e5d0dca5145c697b33e12cc5a133abf15 100755 (executable)
@@ -60,8 +60,8 @@ struct PLOT2D_EXPORT Plot2d_Point
   bool hasDeviation() const;
   void setDeviation(double min, double max);
   void clearDeviation();
-  double minDeviation() const;
-  double maxDeviation() const;
+  bool minDeviation(double& min) const;
+  bool maxDeviation(double& max) const;
 };
 
 typedef QList<Plot2d_Point> pointList;
index 06e264b2270244af758f3fc47e21237ee52128ae..8afc8c1dc85f0f6aeb6c58f4e8c6c2f60867ff8d 100755 (executable)
@@ -338,9 +338,10 @@ double Plot2d_Curve::getMinY() const
   double aMinY = 1e150;
   pointList::const_iterator aIt;
   double coeff = 0.0;
-  for (aIt = myPoints.begin(); aIt != myPoints.end(); ++aIt) {
-    coeff = (*aIt).minDeviation();
-    aMinY = qMin( aMinY, myScale * (*aIt).y - coeff );
+  for (aIt = myPoints.begin(); aIt != myPoints.end(); ++aIt) {    
+    aMinY = qMin( aMinY, myScale * (*aIt).y );
+    if((*aIt).minDeviation(coeff))
+      aMinY = qMin( aMinY, coeff );
   }
   return aMinY;
 }
@@ -354,8 +355,9 @@ double Plot2d_Curve::getMaxY() const
   pointList::const_iterator aIt;
   double coeff = 0.0;
   for (aIt = myPoints.begin(); aIt != myPoints.end(); ++aIt) {
-    coeff = (*aIt).maxDeviation();
-    aMaxY = qMax( aMaxY, myScale * (*aIt).y + coeff );
+    aMaxY = qMax( aMaxY, myScale * (*aIt).y);
+    if((*aIt).maxDeviation(coeff))
+      aMaxY = qMax( aMaxY, coeff);
   }
   return aMaxY;
 }
\ No newline at end of file
index 8bdb2a79629d98e90ff9c4384df8e5921973d17f..cc91401de1bbef729ea8c1ef0f1ee6ab95ac6f9a 100644 (file)
@@ -324,8 +324,8 @@ void Plot2d_QwtPlotCurve::draw(QPainter *painter,
       xi = x(i);
       yi = y(i);
       xp = xMap.transform(xi);
-      ytop = yMap.transform(yi + max);
-      ybtm = yMap.transform(yi - min);
+      ytop = yMap.transform(max);
+      ybtm = yMap.transform(min);
       tickl = xp - tickSz;
       tickr = xp + tickSz;
       painter->drawLine(tickl,ytop,tickr,ytop);