Commit 2d64c2359d10f134f37ec9a4fc02cb6487ed34fe

Authored by Benjamin Renard
1 parent 76bfb610

Fix bug with spectro and y axis range (#8564)

Showing 1 changed file with 29 additions and 9 deletions   Show diff stats
src/ParamOutputImpl/Plot/Time/TimePlot.cc
@@ -909,6 +909,10 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam @@ -909,6 +909,10 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam
909 LOG4CXX_DEBUG(gLogger, "TimePlot::drawSpectro - Build data grid"); 909 LOG4CXX_DEBUG(gLogger, "TimePlot::drawSpectro - Build data grid");
910 MatrixGrid matrixGrid; 910 MatrixGrid matrixGrid;
911 911
  912 + //get specific colors for min / max values
  913 + Color minValColor = lZAxis->getMinValColor();
  914 + Color maxValColor = lZAxis->getMaxValColor();
  915 +
912 if ((tableSPtr == nullptr) || !tableSPtr->isVariable(&_parameterManager)) 916 if ((tableSPtr == nullptr) || !tableSPtr->isVariable(&_parameterManager))
913 { 917 {
914 int startIndex; 918 int startIndex;
@@ -945,6 +949,19 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam @@ -945,6 +949,19 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam
945 } 949 }
946 } 950 }
947 951
  952 + if (lYAxis->_reverse) {
  953 + if (((part.y[0] < lYAxis->getRange().getMax()) && (part.y[1] < lYAxis->getRange().getMax())) ||
  954 + ((part.y[0] > lYAxis->getRange().getMin()) && (part.y[1] < lYAxis->getRange().getMin()))) {
  955 + continue;
  956 + }
  957 + }
  958 + else {
  959 + if (((part.y[0] < lYAxis->getRange().getMin()) && (part.y[1] < lYAxis->getRange().getMin())) ||
  960 + ((part.y[0] > lYAxis->getRange().getMax()) && (part.y[1] < lYAxis->getRange().getMax()))) {
  961 + continue;
  962 + }
  963 + }
  964 +
948 for (int i = 0; i < nbValues - 1; ++i) 965 for (int i = 0; i < nbValues - 1; ++i)
949 { 966 {
950 part.x[0] = data.getTimes()[startIndex+i]; 967 part.x[0] = data.getTimes()[startIndex+i];
@@ -953,6 +970,12 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam @@ -953,6 +970,12 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam
953 part.value = data.getValues(index, startIndex)[i]; 970 part.value = data.getValues(index, startIndex)[i];
954 matrixGrid.push_back(part); 971 matrixGrid.push_back(part);
955 } 972 }
  973 +
  974 + //draw spectro
  975 + LOG4CXX_DEBUG(gLogger, "TimePlot::drawSpectro - Draw data grid - " << matrixGrid.size());
  976 + drawMatrix(matrixGrid, pSpectro.getMin(), pSpectro.getMax(),
  977 + minValColor, maxValColor, lZAxis->_color._colorMapIndex, pSpectro.getUseLog0AsMin());
  978 + matrixGrid.clear();
956 } 979 }
957 } 980 }
958 else 981 else
@@ -1010,18 +1033,15 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam @@ -1010,18 +1033,15 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam
1010 else 1033 else
1011 matrixGrid.push_back(part); 1034 matrixGrid.push_back(part);
1012 } 1035 }
  1036 +
  1037 + //draw spectro
  1038 + LOG4CXX_DEBUG(gLogger, "TimePlot::drawSpectro - Draw data grid - " << matrixGrid.size());
  1039 + drawMatrix(matrixGrid, pSpectro.getMin(), pSpectro.getMax(),
  1040 + minValColor, maxValColor, lZAxis->_color._colorMapIndex, pSpectro.getUseLog0AsMin());
  1041 + matrixGrid.clear();
1013 } 1042 }
1014 } 1043 }
1015 } 1044 }
1016 -  
1017 - //get specific colors for min / max values  
1018 - Color minValColor = lZAxis->getMinValColor();  
1019 - Color maxValColor = lZAxis->getMaxValColor();  
1020 -  
1021 - //draw spectro  
1022 - LOG4CXX_DEBUG(gLogger, "TimePlot::drawSpectro - Draw data grid");  
1023 - drawMatrix(matrixGrid, pSpectro.getMin(), pSpectro.getMax(),  
1024 - minValColor, maxValColor, lZAxis->_color._colorMapIndex, pSpectro.getUseLog0AsMin());  
1025 } 1045 }
1026 1046
1027 Color TimePlot::getStatusColor(AMDA::Info::ParamInfoSPtr& paramInfo, double value) { 1047 Color TimePlot::getStatusColor(AMDA::Info::ParamInfoSPtr& paramInfo, double value) {