#5217 Filter well measurements by quality

This commit is contained in:
Kristian Bendiksen
2020-01-14 10:58:40 +01:00
committed by Magne Sjaastad
parent 2a0ba626d7
commit ed19f41586
6 changed files with 83 additions and 5 deletions

View File

@@ -57,7 +57,8 @@ std::vector<RimWellMeasurement*>
const RimWellPath& wellPath,
const std::vector<QString>& measurementKinds,
double lowerBound,
double upperBound )
double upperBound,
const std::vector<int>& qualityFilter )
{
std::vector<RimWellMeasurement*> filteredMeasurementsByKindsAndWellPath = filterMeasurements( measurements,
wellPathCollection,
@@ -67,7 +68,8 @@ std::vector<RimWellMeasurement*>
std::vector<RimWellMeasurement*> filteredMeasurements;
for ( auto& measurement : filteredMeasurementsByKindsAndWellPath )
{
if ( RimWellMeasurementFilter::isInsideRange( measurement->value(), lowerBound, upperBound ) )
if ( RimWellMeasurementFilter::isInsideRange( measurement->value(), lowerBound, upperBound ) &&
RimWellMeasurementFilter::hasQuality( measurement->quality(), qualityFilter ) )
{
filteredMeasurements.push_back( measurement );
}
@@ -114,3 +116,11 @@ bool RimWellMeasurementFilter::isInsideRange( double value, double lowerBound, d
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimWellMeasurementFilter::hasQuality( int quality, const std::vector<int>& qualityFilter )
{
return std::find( qualityFilter.begin(), qualityFilter.end(), quality ) != qualityFilter.end();
}