mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Refactored cell property filter collection
Using caf::PdmPointersField as container.
This commit is contained in:
@@ -710,30 +710,31 @@ void RivReservoirViewPartMgr::computePropertyVisibility(cvf::UByteArray* cellVis
|
|||||||
|
|
||||||
if (propFilterColl->hasActiveFilters())
|
if (propFilterColl->hasActiveFilters())
|
||||||
{
|
{
|
||||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::const_iterator pfIt;
|
for (size_t i = 0; i < propFilterColl->propertyFilters().size(); i++)
|
||||||
for (pfIt = propFilterColl->propertyFilters().begin(); pfIt != propFilterColl->propertyFilters().end(); ++pfIt)
|
|
||||||
{
|
{
|
||||||
if ((*pfIt)->isActive()&& (*pfIt)->resultDefinition->hasResult())
|
RimCellPropertyFilter* propertyFilter = propFilterColl->propertyFilters()[i];
|
||||||
{
|
|
||||||
const double lowerBound = (*pfIt)->lowerBound();
|
|
||||||
const double upperBound = (*pfIt)->upperBound();
|
|
||||||
|
|
||||||
size_t scalarResultIndex = (*pfIt)->resultDefinition->scalarResultIndex();
|
if (propertyFilter->isActive()&& propertyFilter->resultDefinition->hasResult())
|
||||||
|
{
|
||||||
|
const double lowerBound = propertyFilter->lowerBound();
|
||||||
|
const double upperBound = propertyFilter->upperBound();
|
||||||
|
|
||||||
|
size_t scalarResultIndex = propertyFilter->resultDefinition->scalarResultIndex();
|
||||||
|
|
||||||
size_t adjustedTimeStepIndex = timeStepIndex;
|
size_t adjustedTimeStepIndex = timeStepIndex;
|
||||||
|
|
||||||
// Set time step to zero for static results
|
// Set time step to zero for static results
|
||||||
if ((*pfIt)->resultDefinition()->hasStaticResult())
|
if (propertyFilter->resultDefinition()->hasStaticResult())
|
||||||
{
|
{
|
||||||
adjustedTimeStepIndex = 0;
|
adjustedTimeStepIndex = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RimCellFilter::FilterModeType filterType = (*pfIt)->filterMode();
|
const RimCellFilter::FilterModeType filterType = propertyFilter->filterMode();
|
||||||
|
|
||||||
RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel((*pfIt)->resultDefinition()->porosityModel());
|
RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(propertyFilter->resultDefinition()->porosityModel());
|
||||||
RigCaseData* eclipseCase = propFilterColl->reservoirView()->eclipseCase()->reservoirData();
|
RigCaseData* eclipseCase = propFilterColl->reservoirView()->eclipseCase()->reservoirData();
|
||||||
|
|
||||||
cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createResultAccessor(eclipseCase, grid->gridIndex(), porosityModel, adjustedTimeStepIndex, (*pfIt)->resultDefinition->resultVariable(), (*pfIt)->resultDefinition->resultType());
|
cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createResultAccessor(eclipseCase, grid->gridIndex(), porosityModel, adjustedTimeStepIndex, propertyFilter->resultDefinition->resultVariable(), propertyFilter->resultDefinition->resultType());
|
||||||
CVF_ASSERT(resultAccessor.notNull());
|
CVF_ASSERT(resultAccessor.notNull());
|
||||||
|
|
||||||
//#pragma omp parallel for schedule(dynamic)
|
//#pragma omp parallel for schedule(dynamic)
|
||||||
|
|||||||
@@ -55,10 +55,9 @@ void RimCellPropertyFilterCollection::setReservoirView(RimEclipseView* reservoir
|
|||||||
{
|
{
|
||||||
m_reservoirView = reservoirView;
|
m_reservoirView = reservoirView;
|
||||||
|
|
||||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::iterator it;
|
for (size_t i = 0; i < propertyFilters.size(); i++)
|
||||||
for (it = propertyFilters.v().begin(); it != propertyFilters.v().end(); ++it)
|
|
||||||
{
|
{
|
||||||
RimCellPropertyFilter* propertyFilter = *it;
|
RimCellPropertyFilter* propertyFilter = propertyFilters[i];
|
||||||
|
|
||||||
propertyFilter->resultDefinition->setReservoirView(m_reservoirView.p());
|
propertyFilter->resultDefinition->setReservoirView(m_reservoirView.p());
|
||||||
}
|
}
|
||||||
@@ -93,7 +92,7 @@ RimCellPropertyFilter* RimCellPropertyFilterCollection::createAndAppendPropertyF
|
|||||||
propertyFilter->resultDefinition->setReservoirView(m_reservoirView.p());
|
propertyFilter->resultDefinition->setReservoirView(m_reservoirView.p());
|
||||||
|
|
||||||
propertyFilter->setParentContainer(this);
|
propertyFilter->setParentContainer(this);
|
||||||
propertyFilters.v().push_back(propertyFilter);
|
propertyFilters.push_back(propertyFilter);
|
||||||
|
|
||||||
propertyFilter->resultDefinition->setResultVariable(m_reservoirView->cellResult->resultVariable());
|
propertyFilter->resultDefinition->setResultVariable(m_reservoirView->cellResult->resultVariable());
|
||||||
propertyFilter->resultDefinition->setPorosityModel(m_reservoirView->cellResult->porosityModel());
|
propertyFilter->resultDefinition->setPorosityModel(m_reservoirView->cellResult->porosityModel());
|
||||||
@@ -113,10 +112,9 @@ RimCellPropertyFilter* RimCellPropertyFilterCollection::createAndAppendPropertyF
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimCellPropertyFilterCollection::loadAndInitializePropertyFilters()
|
void RimCellPropertyFilterCollection::loadAndInitializePropertyFilters()
|
||||||
{
|
{
|
||||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::iterator it;
|
for (size_t i = 0; i < propertyFilters.size(); i++)
|
||||||
for (it = propertyFilters.v().begin(); it != propertyFilters.v().end(); ++it)
|
|
||||||
{
|
{
|
||||||
RimCellPropertyFilter* propertyFilter = *it;
|
RimCellPropertyFilter* propertyFilter = propertyFilters[i];
|
||||||
|
|
||||||
propertyFilter->setParentContainer(this);
|
propertyFilter->setParentContainer(this);
|
||||||
|
|
||||||
@@ -142,7 +140,7 @@ void RimCellPropertyFilterCollection::initAfterRead()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimCellPropertyFilterCollection::remove(RimCellPropertyFilter* propertyFilter)
|
void RimCellPropertyFilterCollection::remove(RimCellPropertyFilter* propertyFilter)
|
||||||
{
|
{
|
||||||
propertyFilters.v().remove(propertyFilter);
|
propertyFilters.removeChildObject(propertyFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -152,10 +150,10 @@ bool RimCellPropertyFilterCollection::hasActiveFilters() const
|
|||||||
{
|
{
|
||||||
if (!active) return false;
|
if (!active) return false;
|
||||||
|
|
||||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::const_iterator it;
|
for (size_t i = 0; i < propertyFilters.size(); i++)
|
||||||
for (it = propertyFilters.v().begin(); it != propertyFilters.v().end(); ++it)
|
|
||||||
{
|
{
|
||||||
if ((*it)->isActive() && (*it)->resultDefinition->hasResult()) return true;
|
RimCellPropertyFilter* propertyFilter = propertyFilters[i];
|
||||||
|
if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasResult()) return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -168,10 +166,10 @@ bool RimCellPropertyFilterCollection::hasActiveDynamicFilters() const
|
|||||||
{
|
{
|
||||||
if (!active) return false;
|
if (!active) return false;
|
||||||
|
|
||||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::const_iterator it;
|
for (size_t i = 0; i < propertyFilters.size(); i++)
|
||||||
for (it = propertyFilters.v().begin(); it != propertyFilters.v().end(); ++it)
|
|
||||||
{
|
{
|
||||||
if ((*it)->isActive() && (*it)->resultDefinition->hasDynamicResult()) return true;
|
RimCellPropertyFilter* propertyFilter = propertyFilters[i];
|
||||||
|
if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasDynamicResult()) return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public:
|
|||||||
|
|
||||||
// Fields:
|
// Fields:
|
||||||
caf::PdmField<bool> active;
|
caf::PdmField<bool> active;
|
||||||
caf::PdmField< std::list< caf::PdmPointer< RimCellPropertyFilter > > > propertyFilters;
|
caf::PdmPointersField<RimCellPropertyFilter*> propertyFilters;
|
||||||
|
|
||||||
// Methods
|
// Methods
|
||||||
RimCellPropertyFilter* createAndAppendPropertyFilter();
|
RimCellPropertyFilter* createAndAppendPropertyFilter();
|
||||||
|
|||||||
@@ -176,9 +176,10 @@ void RimEclipseCase::removeResult(const QString& resultName)
|
|||||||
|
|
||||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::iterator it;
|
std::list< caf::PdmPointer< RimCellPropertyFilter > >::iterator it;
|
||||||
RimCellPropertyFilterCollection* propFilterCollection = reservoirView->propertyFilterCollection();
|
RimCellPropertyFilterCollection* propFilterCollection = reservoirView->propertyFilterCollection();
|
||||||
for (it = propFilterCollection->propertyFilters.v().begin(); it != propFilterCollection->propertyFilters.v().end(); ++it)
|
|
||||||
|
for (size_t filter = 0; filter < propFilterCollection->propertyFilters().size(); filter++)
|
||||||
{
|
{
|
||||||
RimCellPropertyFilter* propertyFilter = *it;
|
RimCellPropertyFilter* propertyFilter = propFilterCollection->propertyFilters()[filter];
|
||||||
if (propertyFilter->resultDefinition->resultVariable() == resultName)
|
if (propertyFilter->resultDefinition->resultVariable() == resultName)
|
||||||
{
|
{
|
||||||
propertyFilter->resultDefinition->setResultVariable(RimDefines::undefinedResultName());
|
propertyFilter->resultDefinition->setResultVariable(RimDefines::undefinedResultName());
|
||||||
|
|||||||
Reference in New Issue
Block a user