mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
First start of statistics control data model
p4#: 21097
This commit is contained in:
parent
e10bd73658
commit
c16db0640b
@ -27,6 +27,17 @@
|
||||
#include "RimStatisticsCaseEvaluator.h"
|
||||
#include "RigMainGrid.h"
|
||||
|
||||
namespace caf {
|
||||
template<>
|
||||
void caf::AppEnum<RimStatisticsCase::PercentileCalcType>::setUp()
|
||||
{
|
||||
addItem(RimStatisticsCase::EXACT, "ExactPercentile", "Exact");
|
||||
addItem(RimStatisticsCase::HISTOGRAM_ESTIMATED, "HistogramEstimatedPercentile", "Estimated (Faster for large case counts)");
|
||||
setDefault(RimStatisticsCase::EXACT);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimStatisticsCase, "RimStatisticalCalculation");
|
||||
|
||||
@ -37,7 +48,23 @@ RimStatisticsCase::RimStatisticsCase()
|
||||
: RimCase()
|
||||
{
|
||||
CAF_PDM_InitObject("Case Group Statistics", ":/Histogram16x16.png", "", "");
|
||||
CAF_PDM_InitField(&m_resultName, "ResultName", QString("PRESSURE"), "ResultName", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_resultType, "ResultType", "Result Type", "", "", "");
|
||||
m_resultType.setIOWritable(false);
|
||||
CAF_PDM_InitFieldNoDefault(&m_porosityModel, "PorosityModel", "Porosity Model", "", "", "");
|
||||
m_porosityModel.setIOWritable(false);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_selectedDynamicProperties, "DynamicPropertiesToCalculate", "", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_selectedStaticProperties, "StaticPropertiesToCalculate", "", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_selectedGeneratedProperties, "GeneratedPropertiesToCalculate", "", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_selectedInputProperties, "InputPropertiesToCalculate", "", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_calculatePercentiles, "CalculatePercentiles", true, "Calculate Percentiles", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_percentileCalculationType, "PercentileCalculationType", "Method", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_lowPercentile, "LowPercentile", 10.0, "Low", "", "", "");
|
||||
CAF_PDM_InitField(&m_midPercentile, "MidPercentile", 50.0, "Mid", "", "", "");
|
||||
CAF_PDM_InitField(&m_highPercentile, "HighPercentile", 90.0, "High", "", "", "");
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -87,14 +114,6 @@ bool RimStatisticsCase::openEclipseGridFile()
|
||||
return true;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimStatisticsCase::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -218,3 +237,28 @@ RimIdenticalGridCaseGroup* RimStatisticsCase::caseGroup()
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimStatisticsCase::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QList<caf::PdmOptionItemInfo> RimStatisticsCase::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly)
|
||||
{
|
||||
QList<caf::PdmOptionItemInfo> options;
|
||||
return options;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimStatisticsCase::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -46,14 +46,36 @@ public:
|
||||
|
||||
void setMainGrid(RigMainGrid* mainGrid);
|
||||
|
||||
virtual bool openEclipseGridFile();
|
||||
caf::PdmField< caf::AppEnum< RimDefines::ResultCatType > > m_resultType;
|
||||
caf::PdmField< caf::AppEnum< RimDefines::PorosityModelType > > m_porosityModel;
|
||||
|
||||
caf::PdmField<QString> m_resultName;
|
||||
caf::PdmField<std::vector<QString> > m_selectedDynamicProperties;
|
||||
caf::PdmField<std::vector<QString> > m_selectedStaticProperties;
|
||||
caf::PdmField<std::vector<QString> > m_selectedGeneratedProperties;
|
||||
caf::PdmField<std::vector<QString> > m_selectedInputProperties;
|
||||
|
||||
enum PercentileCalcType
|
||||
{
|
||||
EXACT,
|
||||
HISTOGRAM_ESTIMATED
|
||||
};
|
||||
|
||||
caf::PdmField< bool > m_calculatePercentiles;
|
||||
caf::PdmField< caf::AppEnum< PercentileCalcType > > m_percentileCalculationType;
|
||||
caf::PdmField<double > m_lowPercentile;
|
||||
caf::PdmField<double > m_midPercentile;
|
||||
caf::PdmField<double > m_highPercentile;
|
||||
|
||||
|
||||
void computeStatistics();
|
||||
virtual bool openEclipseGridFile();
|
||||
|
||||
RimCaseCollection* parentStatisticsCaseCollection();
|
||||
|
||||
// Pdm system overrides
|
||||
virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) const;
|
||||
void computeStatistics();
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly );
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||
|
||||
private:
|
||||
RimIdenticalGridCaseGroup* caseGroup();
|
||||
|
Loading…
Reference in New Issue
Block a user