mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Changed name of flag and semantics from removeNegativeValues to includePositiveValuesOnly so that only positive values (zero not included) are included. Makes functions more suitable for usage with plots using logarithmic scale. #2193
This commit is contained in:
parent
9e3868d6d8
commit
0af37f3613
@ -27,7 +27,7 @@
|
|||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RigCurveDataTools::CurveIntervals RigCurveDataTools::calculateIntervalsOfValidValues(const std::vector<double>& values,
|
RigCurveDataTools::CurveIntervals RigCurveDataTools::calculateIntervalsOfValidValues(const std::vector<double>& values,
|
||||||
bool removeNegativeValues)
|
bool includePositiveValuesOnly)
|
||||||
{
|
{
|
||||||
CurveIntervals intervals;
|
CurveIntervals intervals;
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ RigCurveDataTools::CurveIntervals RigCurveDataTools::calculateIntervalsOfValidVa
|
|||||||
size_t valueCount = values.size();
|
size_t valueCount = values.size();
|
||||||
while (vIdx < valueCount)
|
while (vIdx < valueCount)
|
||||||
{
|
{
|
||||||
bool isValid = RigCurveDataTools::isValidValue(values[vIdx], removeNegativeValues);
|
bool isValid = RigCurveDataTools::isValidValue(values[vIdx], includePositiveValuesOnly);
|
||||||
|
|
||||||
if (!isValid)
|
if (!isValid)
|
||||||
{
|
{
|
||||||
@ -90,14 +90,14 @@ std::vector<std::pair<size_t, size_t>> RigCurveDataTools::computePolyLineStartSt
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RigCurveDataTools::isValidValue(double value, bool removeNegativeValues)
|
bool RigCurveDataTools::isValidValue(double value, bool allowPositiveValuesOnly)
|
||||||
{
|
{
|
||||||
if (value == HUGE_VAL || value == -HUGE_VAL || value != value)
|
if (value == HUGE_VAL || value == -HUGE_VAL || value != value)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (removeNegativeValues && std::signbit(value))
|
if (allowPositiveValuesOnly && value <= 0)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
static CurveIntervals calculateIntervalsOfValidValues(const std::vector<double>& values,
|
static CurveIntervals calculateIntervalsOfValidValues(const std::vector<double>& values,
|
||||||
bool removeNegativeValues);
|
bool includePositiveValuesOnly);
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
static void getValuesByIntervals(const std::vector<T>& values,
|
static void getValuesByIntervals(const std::vector<T>& values,
|
||||||
@ -62,6 +62,6 @@ public:
|
|||||||
public:
|
public:
|
||||||
// Helper methods, available as public to be able to access from unit tests
|
// Helper methods, available as public to be able to access from unit tests
|
||||||
|
|
||||||
static bool isValidValue(double value, bool removeNegativeValues);
|
static bool isValidValue(double value, bool allowPositiveValuesOnly);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ RiuLineSegmentQwtPlotCurve::~RiuLineSegmentQwtPlotCurve()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RiuLineSegmentQwtPlotCurve::setSamplesFromXValuesAndYValues(const std::vector<double>& xValues, const std::vector<double>& yValues, bool removeNegativeValues)
|
void RiuLineSegmentQwtPlotCurve::setSamplesFromXValuesAndYValues(const std::vector<double>& xValues, const std::vector<double>& yValues, bool keepOnlyPositiveValues)
|
||||||
{
|
{
|
||||||
CVF_ASSERT(xValues.size() == yValues.size());
|
CVF_ASSERT(xValues.size() == yValues.size());
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ void RiuLineSegmentQwtPlotCurve::setSamplesFromXValuesAndYValues(const std::vect
|
|||||||
std::vector<double> filteredXValues;
|
std::vector<double> filteredXValues;
|
||||||
|
|
||||||
{
|
{
|
||||||
auto intervalsOfValidValues = RigCurveDataTools::calculateIntervalsOfValidValues(yValues, removeNegativeValues);
|
auto intervalsOfValidValues = RigCurveDataTools::calculateIntervalsOfValidValues(yValues, keepOnlyPositiveValues);
|
||||||
|
|
||||||
RigCurveDataTools::getValuesByIntervals(yValues, intervalsOfValidValues, &filteredYValues);
|
RigCurveDataTools::getValuesByIntervals(yValues, intervalsOfValidValues, &filteredYValues);
|
||||||
RigCurveDataTools::getValuesByIntervals(xValues, intervalsOfValidValues, &filteredXValues);
|
RigCurveDataTools::getValuesByIntervals(xValues, intervalsOfValidValues, &filteredXValues);
|
||||||
@ -84,17 +84,17 @@ void RiuLineSegmentQwtPlotCurve::setSamplesFromXValuesAndYValues(const std::vect
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RiuLineSegmentQwtPlotCurve::setSamplesFromDatesAndYValues(const std::vector<QDateTime>& dateTimes, const std::vector<double>& yValues, bool removeNegativeValues)
|
void RiuLineSegmentQwtPlotCurve::setSamplesFromDatesAndYValues(const std::vector<QDateTime>& dateTimes, const std::vector<double>& yValues, bool keepOnlyPositiveValues)
|
||||||
{
|
{
|
||||||
setSamplesFromXValuesAndYValues(RiuLineSegmentQwtPlotCurve::fromQDateTime(dateTimes), yValues, removeNegativeValues);
|
setSamplesFromXValuesAndYValues(RiuLineSegmentQwtPlotCurve::fromQDateTime(dateTimes), yValues, keepOnlyPositiveValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RiuLineSegmentQwtPlotCurve::setSamplesFromTimeTAndYValues(const std::vector<time_t>& dateTimes, const std::vector<double>& yValues, bool removeNegativeValues)
|
void RiuLineSegmentQwtPlotCurve::setSamplesFromTimeTAndYValues(const std::vector<time_t>& dateTimes, const std::vector<double>& yValues, bool keepOnlyPositiveValues)
|
||||||
{
|
{
|
||||||
setSamplesFromXValuesAndYValues(RiuLineSegmentQwtPlotCurve::fromTime_t(dateTimes), yValues, removeNegativeValues);
|
setSamplesFromXValuesAndYValues(RiuLineSegmentQwtPlotCurve::fromTime_t(dateTimes), yValues, keepOnlyPositiveValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -49,15 +49,15 @@ public:
|
|||||||
|
|
||||||
void setSamplesFromXValuesAndYValues(const std::vector<double>& xValues,
|
void setSamplesFromXValuesAndYValues(const std::vector<double>& xValues,
|
||||||
const std::vector<double>& yValues,
|
const std::vector<double>& yValues,
|
||||||
bool removeNegativeValues);
|
bool keepOnlyPositiveValues);
|
||||||
|
|
||||||
void setSamplesFromDatesAndYValues(const std::vector<QDateTime>& dateTimes,
|
void setSamplesFromDatesAndYValues(const std::vector<QDateTime>& dateTimes,
|
||||||
const std::vector<double>& yValues,
|
const std::vector<double>& yValues,
|
||||||
bool removeNegativeValues);
|
bool keepOnlyPositiveValues);
|
||||||
|
|
||||||
void setSamplesFromTimeTAndYValues(const std::vector<time_t>& dateTimes,
|
void setSamplesFromTimeTAndYValues(const std::vector<time_t>& dateTimes,
|
||||||
const std::vector<double>& yValues,
|
const std::vector<double>& yValues,
|
||||||
bool removeNegativeValues);
|
bool keepOnlyPositiveValues);
|
||||||
|
|
||||||
void setLineSegmentStartStopIndices(const std::vector< std::pair<size_t, size_t> >& lineSegmentStartStopIndices);
|
void setLineSegmentStartStopIndices(const std::vector< std::pair<size_t, size_t> >& lineSegmentStartStopIndices);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user