#4111 Move resultDefinition field to private

This commit is contained in:
Magne Sjaastad 2019-02-18 11:07:54 +01:00
parent fdf3313320
commit 7fe0b92839
7 changed files with 67 additions and 58 deletions

View File

@ -118,10 +118,10 @@ void RicEclipsePropertyFilterFeatureImpl::setDefaults(RimEclipsePropertyFilter*
RimEclipseView* reservoirView = nullptr; RimEclipseView* reservoirView = nullptr;
propertyFilter->firstAncestorOrThisOfTypeAsserted(reservoirView); propertyFilter->firstAncestorOrThisOfTypeAsserted(reservoirView);
propertyFilter->resultDefinition->setEclipseCase(reservoirView->eclipseCase()); propertyFilter->resultDefinition()->setEclipseCase(reservoirView->eclipseCase());
propertyFilter->resultDefinition->simpleCopy(reservoirView->cellResult()); propertyFilter->resultDefinition()->simpleCopy(reservoirView->cellResult());
propertyFilter->resultDefinition->loadResult(); propertyFilter->resultDefinition()->loadResult();
propertyFilter->setToDefaultValues(); propertyFilter->setToDefaultValues();
propertyFilter->updateFilterName(); propertyFilter->updateFilterName();
propertyFilter->m_useCategorySelection = true; propertyFilter->m_useCategorySelection = true;

View File

@ -809,13 +809,13 @@ void RivReservoirViewPartMgr::computePropertyVisibility(cvf::UByteArray* cellVis
{ {
RimEclipsePropertyFilter* propertyFilter = propFilterColl->propertyFilters()[i]; RimEclipsePropertyFilter* propertyFilter = propFilterColl->propertyFilters()[i];
if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasResult()) if (propertyFilter->isActive() && propertyFilter->resultDefinition()->hasResult())
{ {
const RimCellFilter::FilterModeType filterType = propertyFilter->filterMode(); const RimCellFilter::FilterModeType filterType = propertyFilter->filterMode();
RigEclipseCaseData* eclipseCase = propFilterColl->reservoirView()->eclipseCase()->eclipseCaseData(); RigEclipseCaseData* eclipseCase = propFilterColl->reservoirView()->eclipseCase()->eclipseCaseData();
cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createFromResultDefinition(eclipseCase, grid->gridIndex(), timeStepIndex, propertyFilter->resultDefinition); cvf::ref<RigResultAccessor> resultAccessor = RigResultAccessorFactory::createFromResultDefinition(eclipseCase, grid->gridIndex(), timeStepIndex, propertyFilter->resultDefinition());
CVF_ASSERT(resultAccessor.notNull()); CVF_ASSERT(resultAccessor.notNull());

View File

@ -461,7 +461,7 @@ void RimEclipseCase::updateFormationNamesData()
RimEclipsePropertyFilterCollection* eclFilColl = eclView->eclipsePropertyFilterCollection(); RimEclipsePropertyFilterCollection* eclFilColl = eclView->eclipsePropertyFilterCollection();
for (RimEclipsePropertyFilter* propFilter : eclFilColl->propertyFilters) for (RimEclipsePropertyFilter* propFilter : eclFilColl->propertyFilters)
{ {
if (propFilter->resultDefinition->resultType() == RiaDefines::FORMATION_NAMES) if (propFilter->resultDefinition()->resultType() == RiaDefines::FORMATION_NAMES)
{ {
propFilter->resultDefinition()->setResultVariable(RiaDefines::undefinedResultName()); propFilter->resultDefinition()->setResultVariable(RiaDefines::undefinedResultName());
} }
@ -471,7 +471,7 @@ void RimEclipseCase::updateFormationNamesData()
RimEclipsePropertyFilterCollection* eclFilColl = eclView->eclipsePropertyFilterCollection(); RimEclipsePropertyFilterCollection* eclFilColl = eclView->eclipsePropertyFilterCollection();
for (RimEclipsePropertyFilter* propFilter : eclFilColl->propertyFilters) for (RimEclipsePropertyFilter* propFilter : eclFilColl->propertyFilters)
{ {
if (propFilter->resultDefinition->resultType() == RiaDefines::FORMATION_NAMES) if (propFilter->resultDefinition()->resultType() == RiaDefines::FORMATION_NAMES)
{ {
propFilter->setToDefaultValues(); propFilter->setToDefaultValues();
propFilter->updateConnectedEditors(); propFilter->updateConnectedEditors();

View File

@ -68,14 +68,14 @@ RimEclipsePropertyFilter::RimEclipsePropertyFilter()
CAF_PDM_InitFieldNoDefault(&obsoleteField_evaluationRegion, "EvaluationRegion", "Evaluation Region", "", "", ""); CAF_PDM_InitFieldNoDefault(&obsoleteField_evaluationRegion, "EvaluationRegion", "Evaluation Region", "", "", "");
RiaFieldhandleTools::disableWriteAndSetFieldHidden(&obsoleteField_evaluationRegion); RiaFieldhandleTools::disableWriteAndSetFieldHidden(&obsoleteField_evaluationRegion);
CAF_PDM_InitFieldNoDefault(&resultDefinition, "ResultDefinition", "Result Definition", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_resultDefinition, "ResultDefinition", "Result Definition", "", "", "");
resultDefinition = new RimEclipseResultDefinition(); m_resultDefinition = new RimEclipseResultDefinition();
resultDefinition->setDiffResultOptionsEnabled(true); m_resultDefinition->setDiffResultOptionsEnabled(true);
// Set to hidden to avoid this item to been displayed as a child item // Set to hidden to avoid this item to been displayed as a child item
// Fields in this object are displayed using defineUiOrdering() // Fields in this object are displayed using defineUiOrdering()
resultDefinition.uiCapability()->setUiHidden(true); m_resultDefinition.uiCapability()->setUiHidden(true);
resultDefinition.uiCapability()->setUiTreeChildrenHidden(true); m_resultDefinition.uiCapability()->setUiTreeChildrenHidden(true);
CAF_PDM_InitField(&m_rangeLabelText, "Dummy_keyword", QString("Range Type"), "Range Type", "", "", ""); CAF_PDM_InitField(&m_rangeLabelText, "Dummy_keyword", QString("Range Type"), "Range Type", "", "", "");
m_rangeLabelText.xmlCapability()->disableIO(); m_rangeLabelText.xmlCapability()->disableIO();
@ -101,7 +101,15 @@ RimEclipsePropertyFilter::RimEclipsePropertyFilter()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RimEclipsePropertyFilter::~RimEclipsePropertyFilter() RimEclipsePropertyFilter::~RimEclipsePropertyFilter()
{ {
delete resultDefinition; delete m_resultDefinition;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimEclipseResultDefinition* RimEclipsePropertyFilter::resultDefinition() const
{
return m_resultDefinition;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -118,7 +126,7 @@ void RimEclipsePropertyFilter::rangeValues(double* lower, double* upper) const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RimEclipsePropertyFilter::isCategorySelectionActive() const bool RimEclipsePropertyFilter::isCategorySelectionActive() const
{ {
if (resultDefinition->hasCategoryResult() && m_useCategorySelection) if (m_resultDefinition->hasCategoryResult() && m_useCategorySelection)
{ {
return true; return true;
} }
@ -142,7 +150,7 @@ void RimEclipsePropertyFilter::fieldChangedByUi(const caf::PdmFieldHandle* chang
|| &m_selectedCategoryValues == changedField || &m_selectedCategoryValues == changedField
|| &m_useCategorySelection == changedField) || &m_useCategorySelection == changedField)
{ {
this->resultDefinition->loadResult(); this->m_resultDefinition->loadResult();
this->computeResultValueRange(); this->computeResultValueRange();
updateFilterName(); updateFilterName();
this->updateIconState(); this->updateIconState();
@ -188,9 +196,9 @@ void RimEclipsePropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUi
// Fields declared in RimCellFilter // Fields declared in RimCellFilter
uiOrdering.add(&name); uiOrdering.add(&name);
// Fields declared in RimResultDefinition // Fields declared in Rimm_resultDefinition
caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result"); caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result");
resultDefinition->uiOrdering(uiConfigName, *group1); m_resultDefinition->uiOrdering(uiConfigName, *group1);
caf::PdmUiGroup& group2 = *(uiOrdering.addNewGroup("Filter Settings")); caf::PdmUiGroup& group2 = *(uiOrdering.addNewGroup("Filter Settings"));
@ -199,12 +207,12 @@ void RimEclipsePropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUi
group2.add(&m_rangeLabelText); group2.add(&m_rangeLabelText);
if (resultDefinition->hasCategoryResult()) if (m_resultDefinition->hasCategoryResult())
{ {
group2.add(&m_useCategorySelection); group2.add(&m_useCategorySelection);
} }
if (resultDefinition->hasCategoryResult() && m_useCategorySelection()) if (m_resultDefinition->hasCategoryResult() && m_useCategorySelection())
{ {
group2.add(&m_selectedCategoryValues); group2.add(&m_selectedCategoryValues);
} }
@ -240,10 +248,10 @@ void RimEclipsePropertyFilter::updateReadOnlyStateOfAllFields()
std::vector<caf::PdmFieldHandle*> objFields; std::vector<caf::PdmFieldHandle*> objFields;
this->fields(objFields); this->fields(objFields);
// Include fields declared in RimResultDefinition // Include fields declared in Rimm_resultDefinition
objFields.push_back(&(resultDefinition->m_resultTypeUiField)); objFields.push_back(&(m_resultDefinition->m_resultTypeUiField));
objFields.push_back(&(resultDefinition->m_porosityModelUiField)); objFields.push_back(&(m_resultDefinition->m_porosityModelUiField));
objFields.push_back(&(resultDefinition->m_resultVariableUiField)); objFields.push_back(&(m_resultDefinition->m_resultVariableUiField));
for (auto f : objFields) for (auto f : objFields)
{ {
@ -258,7 +266,7 @@ void RimEclipsePropertyFilter::updateReadOnlyStateOfAllFields()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipsePropertyFilter::updateRangeLabel() void RimEclipsePropertyFilter::updateRangeLabel()
{ {
if (resultDefinition->isFlowDiagOrInjectionFlooding()) if (m_resultDefinition->isFlowDiagOrInjectionFlooding())
{ {
m_rangeLabelText = "Current Timestep"; m_rangeLabelText = "Current Timestep";
} }
@ -356,38 +364,38 @@ void RimEclipsePropertyFilter::computeResultValueRange()
clearCategories(); clearCategories();
if (resultDefinition->isFlowDiagOrInjectionFlooding()) if (m_resultDefinition->isFlowDiagOrInjectionFlooding())
{ {
Rim3dView* view; Rim3dView* view;
this->firstAncestorOrThisOfType(view); this->firstAncestorOrThisOfType(view);
int timeStep = 0; int timeStep = 0;
if (view) timeStep = view->currentTimeStep(); if (view) timeStep = view->currentTimeStep();
RigFlowDiagResultAddress resAddr = resultDefinition->flowDiagResAddress(); RigFlowDiagResultAddress resAddr = m_resultDefinition->flowDiagResAddress();
if (resultDefinition->flowDiagSolution()) if (m_resultDefinition->flowDiagSolution())
{ {
RigFlowDiagResults* results = resultDefinition->flowDiagSolution()->flowDiagResults(); RigFlowDiagResults* results = m_resultDefinition->flowDiagSolution()->flowDiagResults();
results->minMaxScalarValues(resAddr, timeStep, &min, &max); results->minMaxScalarValues(resAddr, timeStep, &min, &max);
if (resultDefinition->hasCategoryResult()) if (m_resultDefinition->hasCategoryResult())
{ {
setCategoriesFromTracerNames(resultDefinition->flowDiagSolution()->tracerNames()); setCategoriesFromTracerNames(m_resultDefinition->flowDiagSolution()->tracerNames());
} }
} }
} }
else else
{ {
RigEclipseResultAddress scalarIndex = resultDefinition->eclipseResultAddress(); RigEclipseResultAddress scalarIndex = m_resultDefinition->eclipseResultAddress();
if (scalarIndex.isValid()) if (scalarIndex.isValid())
{ {
RigCaseCellResultsData* results = resultDefinition->currentGridCellResults(); RigCaseCellResultsData* results = m_resultDefinition->currentGridCellResults();
if (results) if (results)
{ {
results->minMaxCellScalarValues(scalarIndex, min, max); results->minMaxCellScalarValues(scalarIndex, min, max);
if (resultDefinition->hasCategoryResult()) if (m_resultDefinition->hasCategoryResult())
{ {
if (resultDefinition->resultType() == RiaDefines::FORMATION_NAMES) if (m_resultDefinition->resultType() == RiaDefines::FORMATION_NAMES)
{ {
CVF_ASSERT(parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData()); CVF_ASSERT(parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData());
CVF_ASSERT(parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData()->activeFormationNames()); CVF_ASSERT(parentContainer()->reservoirView()->eclipseCase()->eclipseCaseData()->activeFormationNames());
@ -400,7 +408,7 @@ void RimEclipsePropertyFilter::computeResultValueRange()
->formationNames(); ->formationNames();
setCategoryNames(fnVector); setCategoryNames(fnVector);
} }
else if (resultDefinition->resultVariable() == RiaDefines::completionTypeResultName()) else if (m_resultDefinition->resultVariable() == RiaDefines::completionTypeResultName())
{ {
std::vector<RiaDefines::WellPathComponentType> componentTypes = { std::vector<RiaDefines::WellPathComponentType> componentTypes = {
RiaDefines::WELL_PATH, RiaDefines::PERFORATION_INTERVAL, RiaDefines::FISHBONES, RiaDefines::FRACTURE}; RiaDefines::WELL_PATH, RiaDefines::PERFORATION_INTERVAL, RiaDefines::FISHBONES, RiaDefines::FRACTURE};
@ -439,7 +447,7 @@ void RimEclipsePropertyFilter::updateFromCurrentTimeStep()
// //
// If the user manually has set a filter value, this value is left untouched // If the user manually has set a filter value, this value is left untouched
if (!resultDefinition->isFlowDiagOrInjectionFlooding()) if (!m_resultDefinition->isFlowDiagOrInjectionFlooding())
{ {
return; return;
} }
@ -466,15 +474,15 @@ void RimEclipsePropertyFilter::updateFromCurrentTimeStep()
this->firstAncestorOrThisOfTypeAsserted(view); this->firstAncestorOrThisOfTypeAsserted(view);
int timeStep = view->currentTimeStep(); int timeStep = view->currentTimeStep();
RigFlowDiagResultAddress resAddr = resultDefinition->flowDiagResAddress(); RigFlowDiagResultAddress resAddr = m_resultDefinition->flowDiagResAddress();
if (resultDefinition->flowDiagSolution()) if (m_resultDefinition->flowDiagSolution())
{ {
RigFlowDiagResults* results = resultDefinition->flowDiagSolution()->flowDiagResults(); RigFlowDiagResults* results = m_resultDefinition->flowDiagSolution()->flowDiagResults();
results->minMaxScalarValues(resAddr, timeStep, &min, &max); results->minMaxScalarValues(resAddr, timeStep, &min, &max);
if (resultDefinition->hasCategoryResult()) if (m_resultDefinition->hasCategoryResult())
{ {
setCategoriesFromTracerNames(resultDefinition->flowDiagSolution()->tracerNames()); setCategoriesFromTracerNames(m_resultDefinition->flowDiagSolution()->tracerNames());
} }
} }
@ -514,7 +522,7 @@ void RimEclipsePropertyFilter::updateFromCurrentTimeStep()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipsePropertyFilter::updateFilterName() void RimEclipsePropertyFilter::updateFilterName()
{ {
QString newFiltername = resultDefinition->resultVariableUiShortName(); QString newFiltername = m_resultDefinition->resultVariableUiShortName();
if (isCategorySelectionActive()) if (isCategorySelectionActive())
{ {
@ -558,9 +566,9 @@ void RimEclipsePropertyFilter::updateFilterName()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipsePropertyFilter::initAfterRead() void RimEclipsePropertyFilter::initAfterRead()
{ {
resultDefinition->initAfterRead(); m_resultDefinition->initAfterRead();
resultDefinition->setEclipseCase(parentContainer()->reservoirView()->eclipseCase()); m_resultDefinition->setEclipseCase(parentContainer()->reservoirView()->eclipseCase());
updateIconState(); updateIconState();
} }
@ -569,5 +577,5 @@ void RimEclipsePropertyFilter::initAfterRead()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipsePropertyFilter::updateUiFieldsFromActiveResult() void RimEclipsePropertyFilter::updateUiFieldsFromActiveResult()
{ {
resultDefinition->updateUiFieldsFromActiveResult(); m_resultDefinition->updateUiFieldsFromActiveResult();
} }

View File

@ -39,7 +39,7 @@ public:
RimEclipsePropertyFilter(); RimEclipsePropertyFilter();
~RimEclipsePropertyFilter() override; ~RimEclipsePropertyFilter() override;
caf::PdmChildField<RimEclipseResultDefinition*> resultDefinition; RimEclipseResultDefinition* resultDefinition() const;
void rangeValues(double* lower, double* upper) const; void rangeValues(double* lower, double* upper) const;
bool isCategorySelectionActive() const; bool isCategorySelectionActive() const;
@ -54,7 +54,7 @@ public:
void updateUiFieldsFromActiveResult(); void updateUiFieldsFromActiveResult();
protected: private:
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName) override; void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName) override;
@ -75,9 +75,10 @@ private:
RimEclipsePropertyFilterCollection* parentContainer(); RimEclipsePropertyFilterCollection* parentContainer();
private: private:
caf::PdmField<QString> m_rangeLabelText; caf::PdmChildField<RimEclipseResultDefinition*> m_resultDefinition;
caf::PdmField<double> m_lowerBound; caf::PdmField<QString> m_rangeLabelText;
caf::PdmField<double> m_upperBound; caf::PdmField<double> m_lowerBound;
caf::PdmField<double> m_upperBound;
caf::PdmField<bool> m_useCategorySelection; caf::PdmField<bool> m_useCategorySelection;

View File

@ -70,11 +70,11 @@ void RimEclipsePropertyFilterCollection::loadAndInitializePropertyFilters()
for (size_t i = 0; i < propertyFilters.size(); i++) for (size_t i = 0; i < propertyFilters.size(); i++)
{ {
RimEclipsePropertyFilter* propertyFilter = propertyFilters[i]; RimEclipsePropertyFilter* propertyFilter = propertyFilters[i];
propertyFilter->resultDefinition->setEclipseCase(reservoirView()->eclipseCase()); propertyFilter->resultDefinition()->setEclipseCase(reservoirView()->eclipseCase());
propertyFilter->initAfterRead(); propertyFilter->initAfterRead();
if (isActive() && propertyFilter->isActive()) if (isActive() && propertyFilter->isActive())
{ {
propertyFilter->resultDefinition->loadResult(); propertyFilter->resultDefinition()->loadResult();
propertyFilter->computeResultValueRange(); propertyFilter->computeResultValueRange();
} }
} }
@ -98,7 +98,7 @@ bool RimEclipsePropertyFilterCollection::hasActiveFilters() const
for (size_t i = 0; i < propertyFilters.size(); i++) for (size_t i = 0; i < propertyFilters.size(); i++)
{ {
RimEclipsePropertyFilter* propertyFilter = propertyFilters[i]; RimEclipsePropertyFilter* propertyFilter = propertyFilters[i];
if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasResult()) return true; if (propertyFilter->isActive() && propertyFilter->resultDefinition()->hasResult()) return true;
} }
return false; return false;
@ -114,7 +114,7 @@ bool RimEclipsePropertyFilterCollection::hasActiveDynamicFilters() const
for (size_t i = 0; i < propertyFilters.size(); i++) for (size_t i = 0; i < propertyFilters.size(); i++)
{ {
RimEclipsePropertyFilter* propertyFilter = propertyFilters[i]; RimEclipsePropertyFilter* propertyFilter = propertyFilters[i];
if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasDynamicResult()) return true; if (propertyFilter->isActive() && propertyFilter->resultDefinition()->hasDynamicResult()) return true;
} }
return false; return false;
@ -132,8 +132,8 @@ bool RimEclipsePropertyFilterCollection::isUsingFormationNames() const
{ {
RimEclipsePropertyFilter* propertyFilter = propertyFilters[i]; RimEclipsePropertyFilter* propertyFilter = propertyFilters[i];
if ( propertyFilter->isActive() if ( propertyFilter->isActive()
&& propertyFilter->resultDefinition->resultType() == RiaDefines::FORMATION_NAMES && propertyFilter->resultDefinition()->resultType() == RiaDefines::FORMATION_NAMES
&& propertyFilter->resultDefinition->resultVariable() != RiaDefines::undefinedResultName()) return true; && propertyFilter->resultDefinition()->resultVariable() != RiaDefines::undefinedResultName()) return true;
} }
return false; return false;

View File

@ -1504,7 +1504,7 @@ void RimEclipseView::calculateCompletionTypeAndRedrawIfRequired()
for (const auto& propFilter : m_propertyFilterCollection()->propertyFilters) for (const auto& propFilter : m_propertyFilterCollection()->propertyFilters)
{ {
if (propFilter->isActive() && propFilter->resultDefinition->resultVariable() == RiaDefines::completionTypeResultName()) if (propFilter->isActive() && propFilter->resultDefinition()->resultVariable() == RiaDefines::completionTypeResultName())
{ {
isDependingOnCompletionType = true; isDependingOnCompletionType = true;
} }
@ -1526,7 +1526,7 @@ void RimEclipseView::calculateCompletionTypeAndRedrawIfRequired()
for (const auto& propFilter : m_propertyFilterCollection()->propertyFilters) for (const auto& propFilter : m_propertyFilterCollection()->propertyFilters)
{ {
if (propFilter->isActive() && propFilter->resultDefinition->resultVariable() == RiaDefines::completionTypeResultName()) if (propFilter->isActive() && propFilter->resultDefinition()->resultVariable() == RiaDefines::completionTypeResultName())
{ {
propFilter->updateConnectedEditors(); propFilter->updateConnectedEditors();
} }