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())
|
||||
{
|
||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::const_iterator pfIt;
|
||||
for (pfIt = propFilterColl->propertyFilters().begin(); pfIt != propFilterColl->propertyFilters().end(); ++pfIt)
|
||||
for (size_t i = 0; i < propFilterColl->propertyFilters().size(); i++)
|
||||
{
|
||||
if ((*pfIt)->isActive()&& (*pfIt)->resultDefinition->hasResult())
|
||||
{
|
||||
const double lowerBound = (*pfIt)->lowerBound();
|
||||
const double upperBound = (*pfIt)->upperBound();
|
||||
RimCellPropertyFilter* propertyFilter = propFilterColl->propertyFilters()[i];
|
||||
|
||||
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;
|
||||
|
||||
// Set time step to zero for static results
|
||||
if ((*pfIt)->resultDefinition()->hasStaticResult())
|
||||
if (propertyFilter->resultDefinition()->hasStaticResult())
|
||||
{
|
||||
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();
|
||||
|
||||
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());
|
||||
|
||||
//#pragma omp parallel for schedule(dynamic)
|
||||
|
||||
@@ -55,10 +55,9 @@ void RimCellPropertyFilterCollection::setReservoirView(RimEclipseView* reservoir
|
||||
{
|
||||
m_reservoirView = reservoirView;
|
||||
|
||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::iterator it;
|
||||
for (it = propertyFilters.v().begin(); it != propertyFilters.v().end(); ++it)
|
||||
for (size_t i = 0; i < propertyFilters.size(); i++)
|
||||
{
|
||||
RimCellPropertyFilter* propertyFilter = *it;
|
||||
RimCellPropertyFilter* propertyFilter = propertyFilters[i];
|
||||
|
||||
propertyFilter->resultDefinition->setReservoirView(m_reservoirView.p());
|
||||
}
|
||||
@@ -93,7 +92,7 @@ RimCellPropertyFilter* RimCellPropertyFilterCollection::createAndAppendPropertyF
|
||||
propertyFilter->resultDefinition->setReservoirView(m_reservoirView.p());
|
||||
|
||||
propertyFilter->setParentContainer(this);
|
||||
propertyFilters.v().push_back(propertyFilter);
|
||||
propertyFilters.push_back(propertyFilter);
|
||||
|
||||
propertyFilter->resultDefinition->setResultVariable(m_reservoirView->cellResult->resultVariable());
|
||||
propertyFilter->resultDefinition->setPorosityModel(m_reservoirView->cellResult->porosityModel());
|
||||
@@ -113,10 +112,9 @@ RimCellPropertyFilter* RimCellPropertyFilterCollection::createAndAppendPropertyF
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimCellPropertyFilterCollection::loadAndInitializePropertyFilters()
|
||||
{
|
||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::iterator it;
|
||||
for (it = propertyFilters.v().begin(); it != propertyFilters.v().end(); ++it)
|
||||
for (size_t i = 0; i < propertyFilters.size(); i++)
|
||||
{
|
||||
RimCellPropertyFilter* propertyFilter = *it;
|
||||
RimCellPropertyFilter* propertyFilter = propertyFilters[i];
|
||||
|
||||
propertyFilter->setParentContainer(this);
|
||||
|
||||
@@ -142,7 +140,7 @@ void RimCellPropertyFilterCollection::initAfterRead()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimCellPropertyFilterCollection::remove(RimCellPropertyFilter* propertyFilter)
|
||||
{
|
||||
propertyFilters.v().remove(propertyFilter);
|
||||
propertyFilters.removeChildObject(propertyFilter);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -152,10 +150,10 @@ bool RimCellPropertyFilterCollection::hasActiveFilters() const
|
||||
{
|
||||
if (!active) return false;
|
||||
|
||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::const_iterator it;
|
||||
for (it = propertyFilters.v().begin(); it != propertyFilters.v().end(); ++it)
|
||||
for (size_t i = 0; i < propertyFilters.size(); i++)
|
||||
{
|
||||
if ((*it)->isActive() && (*it)->resultDefinition->hasResult()) return true;
|
||||
RimCellPropertyFilter* propertyFilter = propertyFilters[i];
|
||||
if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasResult()) return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -168,10 +166,10 @@ bool RimCellPropertyFilterCollection::hasActiveDynamicFilters() const
|
||||
{
|
||||
if (!active) return false;
|
||||
|
||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::const_iterator it;
|
||||
for (it = propertyFilters.v().begin(); it != propertyFilters.v().end(); ++it)
|
||||
for (size_t i = 0; i < propertyFilters.size(); i++)
|
||||
{
|
||||
if ((*it)->isActive() && (*it)->resultDefinition->hasDynamicResult()) return true;
|
||||
RimCellPropertyFilter* propertyFilter = propertyFilters[i];
|
||||
if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasDynamicResult()) return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@@ -34,7 +34,7 @@ public:
|
||||
|
||||
// Fields:
|
||||
caf::PdmField<bool> active;
|
||||
caf::PdmField< std::list< caf::PdmPointer< RimCellPropertyFilter > > > propertyFilters;
|
||||
caf::PdmPointersField<RimCellPropertyFilter*> propertyFilters;
|
||||
|
||||
// Methods
|
||||
RimCellPropertyFilter* createAndAppendPropertyFilter();
|
||||
|
||||
@@ -176,9 +176,10 @@ void RimEclipseCase::removeResult(const QString& resultName)
|
||||
|
||||
std::list< caf::PdmPointer< RimCellPropertyFilter > >::iterator it;
|
||||
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)
|
||||
{
|
||||
propertyFilter->resultDefinition->setResultVariable(RimDefines::undefinedResultName());
|
||||
|
||||
Reference in New Issue
Block a user