This commit is contained in:
Magne Sjaastad 2018-05-23 15:08:55 +02:00
parent 4c6a56bb52
commit 28278c47ec
2 changed files with 20 additions and 19 deletions

View File

@ -31,6 +31,7 @@
#include "RimEclipseStatisticsCaseEvaluator.h" #include "RimEclipseStatisticsCaseEvaluator.h"
#include "RimEclipseView.h" #include "RimEclipseView.h"
#include "RimIdenticalGridCaseGroup.h" #include "RimIdenticalGridCaseGroup.h"
#include "RimIntersectionCollection.h"
#include "RimReservoirCellResultsStorage.h" #include "RimReservoirCellResultsStorage.h"
#include "RimSimWellInViewCollection.h" #include "RimSimWellInViewCollection.h"
@ -39,7 +40,6 @@
#include "cafPdmUiPushButtonEditor.h" #include "cafPdmUiPushButtonEditor.h"
#include "cafPdmUiTextEditor.h" #include "cafPdmUiTextEditor.h"
#include "cafProgressInfo.h" #include "cafProgressInfo.h"
#include "RimIntersectionCollection.h"
namespace caf { namespace caf {
template<> template<>
@ -183,7 +183,7 @@ void RimEclipseStatisticsCase::reloadEclipseGridFile()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RimCaseCollection* RimEclipseStatisticsCase::parentStatisticsCaseCollection() RimCaseCollection* RimEclipseStatisticsCase::parentStatisticsCaseCollection() const
{ {
return dynamic_cast<RimCaseCollection*>(this->parentField()->ownerObject()); return dynamic_cast<RimCaseCollection*>(this->parentField()->ownerObject());
} }
@ -210,9 +210,7 @@ void RimEclipseStatisticsCase::computeStatistics()
CVF_ASSERT(gridCaseGroup); CVF_ASSERT(gridCaseGroup);
gridCaseGroup->computeUnionOfActiveCells(); gridCaseGroup->computeUnionOfActiveCells();
std::vector<RimEclipseCase*> sourceCases; std::vector<RimEclipseCase*> sourceCases = getSourceCases();
getSourceCases(sourceCases);
if (sourceCases.size() == 0 if (sourceCases.size() == 0
|| !sourceCases.at(0)->results(RiaDefines::MATRIX_MODEL)) || !sourceCases.at(0)->results(RiaDefines::MATRIX_MODEL))
@ -308,8 +306,10 @@ void RimEclipseStatisticsCase::scheduleACTIVEGeometryRegenOnReservoirViews()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipseStatisticsCase::getSourceCases(std::vector<RimEclipseCase*>& sourceCases) std::vector<RimEclipseCase*> RimEclipseStatisticsCase::getSourceCases() const
{ {
std::vector<RimEclipseCase*> sourceCases;
RimIdenticalGridCaseGroup* gridCaseGroup = caseGroup(); RimIdenticalGridCaseGroup* gridCaseGroup = caseGroup();
if (gridCaseGroup) if (gridCaseGroup)
{ {
@ -323,12 +323,14 @@ void RimEclipseStatisticsCase::getSourceCases(std::vector<RimEclipseCase*>& sour
sourceCases.push_back(sourceCase); sourceCases.push_back(sourceCase);
} }
} }
return sourceCases;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RimIdenticalGridCaseGroup* RimEclipseStatisticsCase::caseGroup() RimIdenticalGridCaseGroup* RimEclipseStatisticsCase::caseGroup() const
{ {
RimCaseCollection* parentCollection = parentStatisticsCaseCollection(); RimCaseCollection* parentCollection = parentStatisticsCaseCollection();
if (parentCollection) if (parentCollection)
@ -722,6 +724,8 @@ void RimEclipseStatisticsCase::clearComputedStatistics()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipseStatisticsCase::computeStatisticsAndUpdateViews() void RimEclipseStatisticsCase::computeStatisticsAndUpdateViews()
{ {
if (getSourceCases().empty()) return;
computeStatistics(); computeStatistics();
scheduleACTIVEGeometryRegenOnReservoirViews(); scheduleACTIVEGeometryRegenOnReservoirViews();
updateConnectedEditorsAndReservoirViews(); updateConnectedEditorsAndReservoirViews();

View File

@ -20,9 +20,10 @@
#pragma once #pragma once
#include "RimEclipseCase.h"
#include "RiaDefines.h" #include "RiaDefines.h"
#include "RimEclipseCase.h"
#include "cvfBase.h" #include "cvfBase.h"
#include "cvfObject.h" #include "cvfObject.h"
#include "cafPdmField.h" #include "cafPdmField.h"
@ -30,12 +31,11 @@
#include "cafAppEnum.h" #include "cafAppEnum.h"
#include "cvfCollection.h" #include "cvfCollection.h"
class RimIdenticalGridCaseGroup;
class RimEclipseResultDefinition;
class RimEclipseStatisticsCaseCollection;
class RigMainGrid; class RigMainGrid;
class RigSimWellData; class RigSimWellData;
class RimEclipseResultDefinition;
class RimEclipseStatisticsCaseCollection;
class RimIdenticalGridCaseGroup;
//================================================================================================== //==================================================================================================
@ -63,7 +63,7 @@ public:
virtual bool openEclipseGridFile(); virtual bool openEclipseGridFile();
virtual void reloadEclipseGridFile(); virtual void reloadEclipseGridFile();
RimCaseCollection* parentStatisticsCaseCollection(); RimCaseCollection* parentStatisticsCaseCollection() const;
enum PercentileCalcType enum PercentileCalcType
{ {
@ -80,9 +80,8 @@ public:
private: private:
void scheduleACTIVEGeometryRegenOnReservoirViews(); void scheduleACTIVEGeometryRegenOnReservoirViews();
RimIdenticalGridCaseGroup* caseGroup(); RimIdenticalGridCaseGroup* caseGroup() const;
std::vector<RimEclipseCase*> getSourceCases() const;
void getSourceCases(std::vector<RimEclipseCase*>& sourceCases);
void populateResultSelection(); void populateResultSelection();
@ -90,17 +89,15 @@ private:
void updateSelectionSummaryLabel(); void updateSelectionSummaryLabel();
void updatePercentileUiVisibility(); void updatePercentileUiVisibility();
void setWellResultsAndUpdateViews(const cvf::Collection<RigSimWellData>& sourceCaseSimWellData); void setWellResultsAndUpdateViews(const cvf::Collection<RigSimWellData>& sourceCaseSimWellData);
// Pdm system overrides
virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) ; virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) ;
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly ); virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly );
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
virtual void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute ); virtual void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute );
// Fields
private:
caf::PdmField< caf::AppEnum< RiaDefines::ResultCatType > > m_resultType; caf::PdmField< caf::AppEnum< RiaDefines::ResultCatType > > m_resultType;
caf::PdmField< caf::AppEnum< RiaDefines::PorosityModelType > > m_porosityModel; caf::PdmField< caf::AppEnum< RiaDefines::PorosityModelType > > m_porosityModel;