mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#755 WIP: Started to adapt to using the smspec node from eclipse. Established Rim prototype of "filter" concept for summary variables
This commit is contained in:
parent
a4ff316941
commit
336828e48d
@ -88,7 +88,7 @@ std::string RifEclipseSummaryAddress::categoryName(SummaryVarCategory category)
|
||||
case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION:
|
||||
name = "Completion";
|
||||
break;
|
||||
case RifEclipseSummaryAddress::SUMMARY_GROUP:
|
||||
case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP:
|
||||
name = "Group";
|
||||
break;
|
||||
case RifEclipseSummaryAddress::SUMMARY_FIELD:
|
||||
@ -106,13 +106,13 @@ std::string RifEclipseSummaryAddress::categoryName(SummaryVarCategory category)
|
||||
case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR:
|
||||
name = "LGR Block";
|
||||
break;
|
||||
case RifEclipseSummaryAddress::SUMMARY_AQUIFIER:
|
||||
case RifEclipseSummaryAddress::SUMMARY_AQUIFER:
|
||||
name = "Aquifier";
|
||||
break;
|
||||
case RifEclipseSummaryAddress::SUMMARY_SEGMENT:
|
||||
case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT:
|
||||
name = "Segment";
|
||||
break;
|
||||
case RifEclipseSummaryAddress::SUMMARY_SEGMENT_RIVER:
|
||||
case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT_RIVER:
|
||||
name = "Segment River";
|
||||
break;
|
||||
default:
|
||||
@ -194,7 +194,7 @@ std::string RifEclipseSummaryAddress::prefixForCategory(SummaryVarCategory categ
|
||||
case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION:
|
||||
prefix = "C";
|
||||
break;
|
||||
case RifEclipseSummaryAddress::SUMMARY_GROUP:
|
||||
case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP:
|
||||
prefix = "G";
|
||||
break;
|
||||
case RifEclipseSummaryAddress::SUMMARY_FIELD:
|
||||
@ -211,13 +211,13 @@ std::string RifEclipseSummaryAddress::prefixForCategory(SummaryVarCategory categ
|
||||
case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR:
|
||||
prefix = "LB";
|
||||
break;
|
||||
case RifEclipseSummaryAddress::SUMMARY_AQUIFIER:
|
||||
case RifEclipseSummaryAddress::SUMMARY_AQUIFER:
|
||||
prefix = "A";
|
||||
break;
|
||||
case RifEclipseSummaryAddress::SUMMARY_SEGMENT:
|
||||
case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT:
|
||||
prefix = "S";
|
||||
break;
|
||||
case RifEclipseSummaryAddress::SUMMARY_SEGMENT_RIVER:
|
||||
case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT_RIVER:
|
||||
prefix = "SR";
|
||||
break;
|
||||
default:
|
||||
@ -240,7 +240,7 @@ RifEclipseSummaryAddress::SummaryVarCategory RifEclipseSummaryAddress::categoryF
|
||||
|
||||
if (twoFirstChars == "SR")
|
||||
{
|
||||
category = RifEclipseSummaryAddress::SUMMARY_SEGMENT_RIVER;
|
||||
category = RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT_RIVER;
|
||||
}
|
||||
else if (twoFirstChars == "LB")
|
||||
{
|
||||
@ -258,7 +258,7 @@ RifEclipseSummaryAddress::SummaryVarCategory RifEclipseSummaryAddress::categoryF
|
||||
category = RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION;
|
||||
break;
|
||||
case 'G':
|
||||
category = RifEclipseSummaryAddress::SUMMARY_GROUP;
|
||||
category = RifEclipseSummaryAddress::SUMMARY_WELL_GROUP;
|
||||
break;
|
||||
case 'F':
|
||||
category = RifEclipseSummaryAddress::SUMMARY_FIELD;
|
||||
@ -270,10 +270,10 @@ RifEclipseSummaryAddress::SummaryVarCategory RifEclipseSummaryAddress::categoryF
|
||||
category = RifEclipseSummaryAddress::SUMMARY_BLOCK;
|
||||
break;
|
||||
case 'A':
|
||||
category = RifEclipseSummaryAddress::SUMMARY_AQUIFIER;
|
||||
category = RifEclipseSummaryAddress::SUMMARY_AQUIFER;
|
||||
break;
|
||||
case 'S':
|
||||
category = RifEclipseSummaryAddress::SUMMARY_SEGMENT;
|
||||
category = RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -32,22 +32,28 @@ public:
|
||||
// Based on list in ecl_smspec.c and list of types taken from Eclipse Reference Manual ecl_rm_2011.1.pdf
|
||||
enum SummaryVarCategory
|
||||
{
|
||||
SUMMARY_WELL, // W
|
||||
SUMMARY_WELL_COMPLETION, // C
|
||||
SUMMARY_GROUP, // G
|
||||
SUMMARY_FIELD, // F
|
||||
SUMMARY_REGION, // R
|
||||
SUMMARY_MISC, //
|
||||
SUMMARY_BLOCK, // B
|
||||
SUMMARY_BLOCK_LGR, // LB
|
||||
SUMMARY_AQUIFIER, // A
|
||||
SUMMARY_SEGMENT, // S
|
||||
SUMMARY_SEGMENT_RIVER // SR
|
||||
SUMMARY_FIELD,
|
||||
SUMMARY_AQUIFER,
|
||||
SUMMARY_NETWORK,
|
||||
SUMMARY_MISC,
|
||||
SUMMARY_REGION,
|
||||
SUMMARY_REGION_2_REGION,
|
||||
SUMMARY_WELL_GROUP,
|
||||
SUMMARY_WELL,
|
||||
SUMMARY_WELL_COMPLETION,
|
||||
SUMMARY_WELL_LGR,
|
||||
SUMMARY_WELL_COMPLETION_LGR,
|
||||
SUMMARY_WELL_SEGMENT,
|
||||
SUMMARY_WELL_SEGMENT_RIVER,
|
||||
SUMMARY_BLOCK,
|
||||
SUMMARY_BLOCK_LGR,
|
||||
};
|
||||
|
||||
public:
|
||||
RifEclipseSummaryAddress(const std::string& ertSummaryVarId);
|
||||
RifEclipseSummaryAddress(SummaryVarCategory category, const std::string& simulationItemName, const std::string& quantityName);
|
||||
|
||||
|
||||
|
||||
SummaryVarCategory category() const;
|
||||
std::string simulationItemName() const;
|
||||
@ -67,7 +73,17 @@ private:
|
||||
|
||||
private:
|
||||
std::string m_ertSummaryVarId;
|
||||
SummaryVarCategory m_variableCategory;
|
||||
std::string m_simulationItemName;
|
||||
|
||||
SummaryVarCategory m_variableCategory;
|
||||
std::string m_quantityName;
|
||||
int m_regionNumber;
|
||||
int m_regionNumber2;
|
||||
std::string m_wellGroupName;
|
||||
std::string m_wellName;
|
||||
int m_wellSegmentNumber;
|
||||
std::string m_lgrName;
|
||||
int m_cellI;
|
||||
int m_cellJ;
|
||||
int m_cellK;
|
||||
};
|
||||
|
@ -128,7 +128,7 @@ void RifEclipseSummaryTools::dumpMetaData(RifReaderEclipseSummary* readerEclipse
|
||||
{
|
||||
std::vector<RifEclipseSummaryAddress> addresses = readerEclipseSummary->allResultAddresses();
|
||||
|
||||
for (int category = 0; category < RifEclipseSummaryAddress::SUMMARY_SEGMENT_RIVER; category++)
|
||||
for (int category = 0; category < RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT_RIVER; category++)
|
||||
{
|
||||
RifEclipseSummaryAddress::SummaryVarCategory categoryEnum = RifEclipseSummaryAddress::SummaryVarCategory(category);
|
||||
|
||||
|
@ -35,28 +35,94 @@
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RigSummaryCaseData.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimSummaryAddress, "SummaryAddress");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryAddress::RimSummaryAddress()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryAddress::~RimSummaryAddress()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryAddress::setAddress(const RifEclipseSummaryAddress& addr)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RifEclipseSummaryAddress RimSummaryAddress::address()
|
||||
{
|
||||
return RifEclipseSummaryAddress("");
|
||||
}
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
template<>
|
||||
void caf::AppEnum<RifEclipseSummaryAddress::SummaryVarCategory>::setUp()
|
||||
{
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_WELL, "SUMMARY_WELL", "Well");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION, "SUMMARY_WELL_COMPLETION","Completion");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_GROUP, "SUMMARY_GROUP", "Group");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_FIELD, "SUMMARY_FIELD", "Field");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_REGION, "SUMMARY_REGION", "Region");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_MISC, "SUMMARY_MISC", "Misc");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_BLOCK, "SUMMARY_BLOCK", "Block");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR, "SUMMARY_BLOCK_LGR", "LGR Block");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_AQUIFIER, "SUMMARY_AQUIFIER", "Aquifier");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_SEGMENT, "SUMMARY_SEGMENT", "Segment");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_SEGMENT_RIVER, "SUMMARY_SEGMENT_RIVER", "Segment River");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_FIELD, "SUMMARY_FIELD", "Field");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_AQUIFER, "SUMMARY_AQUIFER", "Aquifer");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_NETWORK, "SUMMARY_NETWORK", "Network");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_MISC, "SUMMARY_MISC", "Misc");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_REGION, "SUMMARY_REGION", "Region");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION, "SUMMARY_REGION_2_REGION", "Region-Region");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_WELL_GROUP, "SUMMARY_WELL_GROUP", "Group");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_WELL, "SUMMARY_WELL", "Well");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION, "SUMMARY_WELL_COMPLETION", "Completion");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR, "SUMMARY_WELL_COMPLETION_LGR", "Lgr-Completion");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_WELL_LGR, "SUMMARY_WELL_LGR", "Lgr-Well");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT, "SUMMARY_SEGMENT", "Segment");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT_RIVER, "SUMMARY_SEGMENT_RIVER", "Segment River");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_BLOCK, "SUMMARY_BLOCK", "Block");
|
||||
addItem(RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR, "SUMMARY_BLOCK_LGR", "Lgr-Block");
|
||||
setDefault(RifEclipseSummaryAddress::SUMMARY_FIELD);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
template<>
|
||||
void caf::AppEnum<RimSummaryCurve::SummaryFilterType>::setUp()
|
||||
{
|
||||
addItem(RimSummaryCurve::SUM_FILTER_ANY, "SUM_FILTER_ANY", "Any");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_FIELD, "SUM_FILTER_FIELD", "Field");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_AQUIFER, "SUM_FILTER_AQUIFER", "Aquifer");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_NETWORK, "SUM_FILTER_NETWORK", "Network");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_MISC, "SUM_FILTER_MISC", "Misc");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_REGION, "SUM_FILTER_REGION", "Region");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_REGION_2_REGION, "SUM_FILTER_REGION_2_REGION", "Region-Region");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_WELL_GROUP, "SUM_FILTER_WELL_GROUP", "Group");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_WELL, "SUM_FILTER_WELL", "Well");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_WELL_COMPLETION, "SUM_FILTER_WELL_COMPLETION", "Completion");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_WELL_COMPLETION_LGR, "SUM_FILTER_WELL_COMPLETION_LGR", "Lgr-Completion");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_WELL_LGR, "SUM_FILTER_WELL_LGR", "Lgr-Well");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_WELL_SEGMENT, "SUM_FILTER_SEGMENT", "Segment");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_WELL_SEGMENT_RIVER, "SUM_FILTER_SEGMENT_RIVER", "Segment River");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_BLOCK, "SUM_FILTER_BLOCK", "Block");
|
||||
addItem(RimSummaryCurve::SUM_FILTER_BLOCK_LGR, "SUM_FILTER_BLOCK_LGR", "Lgr-Block");
|
||||
setDefault(RimSummaryCurve::SUM_FILTER_FIELD);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimSummaryCurve, "SummaryCurve");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -75,17 +141,46 @@ RimSummaryCurve::RimSummaryCurve()
|
||||
CAF_PDM_InitFieldNoDefault(&m_variableName, "SummaryVariableName", "Variable Name", "", "", "");
|
||||
m_variableName.uiCapability()->setUiEditorTypeName(caf::PdmUiComboBoxEditor::uiEditorTypeName());
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_category,"SummaryVarCategory","Category","","","");
|
||||
m_category.xmlCapability()->setIOWritable(false);
|
||||
m_category.xmlCapability()->setIOReadable(false);
|
||||
CAF_PDM_InitFieldNoDefault(&m_filterType,"SummaryVarCategory","Category","","","");
|
||||
m_filterType.xmlCapability()->setIOWritable(false);
|
||||
m_filterType.xmlCapability()->setIOReadable(false);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_simulationItemName,"SummaryVarItem","Item","","","");
|
||||
m_simulationItemName.xmlCapability()->setIOWritable(false);
|
||||
m_simulationItemName.xmlCapability()->setIOReadable(false);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_quantityName,"SummaryVarQuantity","Quantity","","","");
|
||||
m_quantityName.xmlCapability()->setIOWritable(false);
|
||||
m_quantityName.xmlCapability()->setIOReadable(false);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_filterQuantityName,"SummaryVarQuantity","Quantity","","","");
|
||||
m_filterQuantityName.xmlCapability()->setIOWritable(false);
|
||||
m_filterQuantityName.xmlCapability()->setIOReadable(false);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_regionNumberFilter ,"SummaryRegionNumber","Region","","","");
|
||||
m_regionNumberFilter.xmlCapability()->setIOWritable(false);
|
||||
m_regionNumberFilter.xmlCapability()->setIOReadable(false);
|
||||
CAF_PDM_InitFieldNoDefault(&m_regionNumber2Filter ,"SummaryRegionNumber2","Region 2","","","");
|
||||
m_regionNumber2Filter.xmlCapability()->setIOWritable(false);
|
||||
m_regionNumber2Filter.xmlCapability()->setIOReadable(false);
|
||||
CAF_PDM_InitFieldNoDefault(&m_wellGroupNameFilter, "SummaryWellGroupName", "Well Group", "", "", "");
|
||||
m_wellGroupNameFilter.xmlCapability()->setIOWritable(false);
|
||||
m_wellGroupNameFilter.xmlCapability()->setIOReadable(false);
|
||||
CAF_PDM_InitFieldNoDefault(&m_wellNameFilter ,"SummaryWellName","Well","","","");
|
||||
m_wellNameFilter.xmlCapability()->setIOWritable(false);
|
||||
m_wellNameFilter.xmlCapability()->setIOReadable(false);
|
||||
CAF_PDM_InitFieldNoDefault(&m_wellSegmentNumberFilter ,"SummaryWellSegmentNumber","Segment","","","");
|
||||
m_wellSegmentNumberFilter.xmlCapability()->setIOWritable(false);
|
||||
m_wellSegmentNumberFilter.xmlCapability()->setIOReadable(false);
|
||||
CAF_PDM_InitFieldNoDefault(&m_lgrNameFilter ,"SummaryLgrName","Lgr","","","");
|
||||
m_lgrNameFilter.xmlCapability()->setIOWritable(false);
|
||||
m_lgrNameFilter.xmlCapability()->setIOReadable(false);
|
||||
CAF_PDM_InitFieldNoDefault(&m_cellIJKFilter ,"SummaryCellIJK","I, J, K","","","");
|
||||
m_cellIJKFilter.xmlCapability()->setIOWritable(false);
|
||||
m_cellIJKFilter.xmlCapability()->setIOReadable(false);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_uiFilterResultSelection, "FilterResultSelection", "Vectors", "", "", "");
|
||||
m_cellIJKFilter.xmlCapability()->setIOWritable(false);
|
||||
m_cellIJKFilter.xmlCapability()->setIOReadable(false);
|
||||
m_uiFilterResultSelection.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
|
||||
m_uiFilterResultSelection.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_curveVariable, "SummaryAddress", "SummaryAddress", "", "", "");
|
||||
m_curveVariable.uiCapability()->setUiHidden(true);
|
||||
m_curveVariable = new RimSummaryAddress;
|
||||
|
||||
updateOptionSensitivity();
|
||||
}
|
||||
@ -95,6 +190,7 @@ RimSummaryCurve::RimSummaryCurve()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryCurve::~RimSummaryCurve()
|
||||
{
|
||||
delete m_curveVariable();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -163,15 +259,29 @@ QList<caf::PdmOptionItemInfo> RimSummaryCurve::calculateValueOptions(const caf::
|
||||
optionList.push_front(caf::PdmOptionItemInfo("None", QVariant::fromValue(caf::PdmPointer<caf::PdmObjectHandle>(NULL))));
|
||||
}
|
||||
}
|
||||
else if (fieldNeedingOptions == &m_simulationItemName)
|
||||
else if(fieldNeedingOptions == &m_uiFilterResultSelection)
|
||||
{
|
||||
RifReaderEclipseSummary* reader = summaryReader();
|
||||
if(reader)
|
||||
if(m_summaryCase)
|
||||
{
|
||||
const std::vector<RifEclipseSummaryAddress>& addrs = reader->allResultAddresses();
|
||||
RifReaderEclipseSummary* reader = summaryReader();
|
||||
if(reader)
|
||||
{
|
||||
std::vector<std::string> varNames = reader->variableNames();
|
||||
|
||||
for(size_t i = 0; i < varNames.size(); i++)
|
||||
{
|
||||
std::string name = varNames[i];
|
||||
|
||||
QString s = QString::fromStdString(name);
|
||||
optionList.push_back(caf::PdmOptionItemInfo(s, i));
|
||||
}
|
||||
}
|
||||
|
||||
optionList.push_front(caf::PdmOptionItemInfo(RimDefines::undefinedResultName(), -1));
|
||||
|
||||
if(useOptionsOnly) *useOptionsOnly = true;
|
||||
}
|
||||
}
|
||||
|
||||
return optionList;
|
||||
|
||||
}
|
||||
@ -222,10 +332,88 @@ void RimSummaryCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering&
|
||||
{
|
||||
caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Curve Data");
|
||||
curveDataGroup->add(&m_summaryCase);
|
||||
curveDataGroup->add(&m_variableName);
|
||||
//curveDataGroup->add(&m_category);
|
||||
//curveDataGroup->add(&m_simulationItemName);
|
||||
//curveDataGroup->add(&m_quantityName);
|
||||
//curveDataGroup->add(&m_variableName);
|
||||
caf::PdmUiGroup* curveVarFilterGroup = curveDataGroup->addNewGroup("Filter");
|
||||
|
||||
curveVarFilterGroup->add(&m_filterType);
|
||||
curveVarFilterGroup->add(&m_filterQuantityName);
|
||||
switch (m_filterType())
|
||||
{
|
||||
case SUM_FILTER_ANY:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_regionNumberFilter);
|
||||
curveVarFilterGroup->add(&m_regionNumber2Filter);
|
||||
curveVarFilterGroup->add(&m_wellGroupNameFilter);
|
||||
curveVarFilterGroup->add(&m_wellNameFilter);
|
||||
curveVarFilterGroup->add(&m_wellSegmentNumberFilter);
|
||||
curveVarFilterGroup->add(&m_lgrNameFilter);
|
||||
curveVarFilterGroup->add(&m_cellIJKFilter);
|
||||
}
|
||||
break;
|
||||
case SUM_FILTER_REGION:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_regionNumberFilter);
|
||||
}
|
||||
break;
|
||||
case SUM_FILTER_REGION_2_REGION:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_regionNumberFilter);
|
||||
curveVarFilterGroup->add(&m_regionNumber2Filter);
|
||||
|
||||
}
|
||||
break;
|
||||
case SUM_FILTER_WELL_GROUP:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_wellGroupNameFilter);
|
||||
|
||||
}
|
||||
break;
|
||||
case SUM_FILTER_WELL:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_wellNameFilter);
|
||||
|
||||
}
|
||||
break;
|
||||
case SUM_FILTER_WELL_COMPLETION:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_wellNameFilter);
|
||||
curveVarFilterGroup->add(&m_cellIJKFilter);
|
||||
|
||||
}
|
||||
break;
|
||||
case SUM_FILTER_WELL_LGR:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_wellNameFilter);
|
||||
curveVarFilterGroup->add(&m_lgrNameFilter);
|
||||
}
|
||||
break;
|
||||
case SUM_FILTER_WELL_COMPLETION_LGR:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_wellNameFilter);
|
||||
curveVarFilterGroup->add(&m_lgrNameFilter);
|
||||
curveVarFilterGroup->add(&m_cellIJKFilter);
|
||||
}
|
||||
break;
|
||||
case SUM_FILTER_WELL_SEGMENT:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_wellNameFilter);
|
||||
curveVarFilterGroup->add(&m_wellSegmentNumberFilter);
|
||||
}
|
||||
break;
|
||||
case SUM_FILTER_BLOCK:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_cellIJKFilter);
|
||||
}
|
||||
break;
|
||||
case SUM_FILTER_BLOCK_LGR:
|
||||
{
|
||||
curveVarFilterGroup->add(&m_lgrNameFilter);
|
||||
curveVarFilterGroup->add(&m_cellIJKFilter);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
curveDataGroup->add(&m_uiFilterResultSelection);
|
||||
|
||||
caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance");
|
||||
appearanceGroup->add(&m_curveColor);
|
||||
@ -295,4 +483,5 @@ void RimSummaryCurve::curveData(std::vector<QDateTime>* timeSteps, std::vector<d
|
||||
std::string keyword = m_variableName().toStdString();
|
||||
reader->values(keyword, values);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmPointer.h"
|
||||
#include "cafPdmPtrField.h"
|
||||
#include "cafPdmChildField.h"
|
||||
|
||||
#include "RimPlotCurve.h"
|
||||
#include "RifEclipseSummaryAddress.h"
|
||||
@ -32,6 +33,33 @@ class RimSummaryCase;
|
||||
class RifReaderEclipseSummary;
|
||||
class RiuLineSegmentQwtPlotCurve;
|
||||
|
||||
class RimSummaryAddress: public caf::PdmObject
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
public:
|
||||
RimSummaryAddress();;
|
||||
virtual ~RimSummaryAddress();
|
||||
|
||||
void setAddress(const RifEclipseSummaryAddress& addr);
|
||||
RifEclipseSummaryAddress address();
|
||||
|
||||
private:
|
||||
|
||||
caf::PdmField<caf::AppEnum<RifEclipseSummaryAddress::SummaryVarCategory> >
|
||||
m_category;
|
||||
caf::PdmField<QString> m_quantityName;
|
||||
caf::PdmField<int> m_regionNumber;
|
||||
caf::PdmField<int> m_regionNumber2;
|
||||
caf::PdmField<QString> m_wellGroupName;
|
||||
caf::PdmField<QString> m_wellName;
|
||||
caf::PdmField<int> m_wellSegmentNumber;
|
||||
caf::PdmField<QString> m_lgrName;
|
||||
caf::PdmField<int> m_cellI;
|
||||
caf::PdmField<int> m_cellJ;
|
||||
caf::PdmField<int> m_cellK;
|
||||
|
||||
};
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
@ -46,6 +74,26 @@ public:
|
||||
void setSummaryCase(RimSummaryCase* sumCase);
|
||||
void setVariable(QString varName);
|
||||
|
||||
enum SummaryFilterType
|
||||
{
|
||||
SUM_FILTER_ANY,
|
||||
SUM_FILTER_FIELD,
|
||||
SUM_FILTER_AQUIFER,
|
||||
SUM_FILTER_NETWORK,
|
||||
SUM_FILTER_MISC,
|
||||
SUM_FILTER_REGION,
|
||||
SUM_FILTER_REGION_2_REGION,
|
||||
SUM_FILTER_WELL_GROUP,
|
||||
SUM_FILTER_WELL,
|
||||
SUM_FILTER_WELL_COMPLETION,
|
||||
SUM_FILTER_WELL_COMPLETION_LGR,
|
||||
SUM_FILTER_WELL_LGR,
|
||||
SUM_FILTER_WELL_SEGMENT,
|
||||
SUM_FILTER_WELL_SEGMENT_RIVER,
|
||||
SUM_FILTER_BLOCK,
|
||||
SUM_FILTER_BLOCK_LGR,
|
||||
};
|
||||
|
||||
protected:
|
||||
// RimPlotCurve overrides
|
||||
|
||||
@ -65,12 +113,24 @@ private:
|
||||
|
||||
// Fields
|
||||
caf::PdmPtrField<RimSummaryCase*> m_summaryCase;
|
||||
caf::PdmField<QString> m_variableName;
|
||||
caf::PdmField<QString> m_variableName; // Obsolete
|
||||
|
||||
|
||||
// Filter fields
|
||||
caf::PdmField<caf::AppEnum<SummaryFilterType> >
|
||||
m_filterType;
|
||||
caf::PdmField<QString> m_filterQuantityName;
|
||||
caf::PdmField<QString> m_regionNumberFilter;
|
||||
caf::PdmField<QString> m_regionNumber2Filter;
|
||||
caf::PdmField<QString> m_wellGroupNameFilter;
|
||||
caf::PdmField<QString> m_wellNameFilter;
|
||||
caf::PdmField<QString> m_wellSegmentNumberFilter;
|
||||
caf::PdmField<QString> m_lgrNameFilter;
|
||||
caf::PdmField<QString> m_cellIJKFilter;
|
||||
|
||||
caf::PdmField<int> m_uiFilterResultSelection;
|
||||
caf::PdmChildField<RimSummaryAddress*> m_curveVariable;
|
||||
|
||||
|
||||
// Ui Fields
|
||||
caf::PdmField<caf::AppEnum<RifEclipseSummaryAddress::SummaryVarCategory> >
|
||||
m_category;
|
||||
caf::PdmField<QString> m_simulationItemName;
|
||||
caf::PdmField<QString> m_quantityName;
|
||||
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user