//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimSummaryCurve::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { this->RimPlotCurve::fieldChangedByUi(changedField,oldValue,newValue); RimSummaryPlot* plot = nullptr; firstAncestorOrThisOfType(plot); CVF_ASSERT(plot); if(changedField == &m_uiFilterResultSelection) { if (0 <= m_uiFilterResultSelection() && static_cast<size_t>(m_uiFilterResultSelection()) < summaryReader()->allResultAddresses().size()) { m_curveVariable->setAddress(summaryReader()->allResultAddresses()[m_uiFilterResultSelection()]); } else { m_curveVariable->setAddress(RifEclipseSummaryAddress()); } this->loadDataAndUpdate(); plot->updateAxes(); } else if (&m_showCurve == changedField) { plot->updateAxes(); } else if (changedField == &m_plotAxis) { updateQwtPlotAxis(); plot->updateAxes(); } }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RifEclipseSummaryAddress RimSummaryAddress::address() { return RifEclipseSummaryAddress( m_category(), m_quantityName().toStdString(), m_regionNumber(), m_regionNumber2(), m_wellGroupName().toStdString(), m_wellName().toStdString(), m_wellSegmentNumber(), m_lgrName().toStdString(), m_cellI(), m_cellJ(), m_cellK()); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RifEclipseSummaryAddress RifReaderObservedData::address(const QString& quantity, const QString& identifierName, RifEclipseSummaryAddress::SummaryVarCategory summaryCategory) { std::string quantityName = quantity.toStdString(); int regionNumber(-1); int regionNumber2(-1); std::string wellGroupName; std::string wellName; int wellSegmentNumber(-1); std::string lgrName; int cellI(-1); int cellJ(-1); int cellK(-1); int aquiferNumber(-1); bool isErrorResult(false); switch (summaryCategory) { case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP: wellGroupName = identifierName.toStdString(); break; case RifEclipseSummaryAddress::SUMMARY_WELL: wellName = identifierName.toStdString(); break; case RifEclipseSummaryAddress::SUMMARY_WELL_LGR: lgrName = identifierName.toStdString(); break; default: break; } return RifEclipseSummaryAddress(summaryCategory, quantityName, regionNumber, regionNumber2, wellGroupName, wellName, wellSegmentNumber, lgrName, cellI, cellJ, cellK, aquiferNumber, isErrorResult); }
RifEclipseSummaryAddress addressFromErtSmSpecNode(const smspec_node_type * ertSumVarNode) { if (smspec_node_get_var_type(ertSumVarNode) == ECL_SMSPEC_INVALID_VAR) return RifEclipseSummaryAddress(); RifEclipseSummaryAddress::SummaryVarCategory sumCategory(RifEclipseSummaryAddress::SUMMARY_INVALID); std::string quantityName; int regionNumber(-1); int regionNumber2(-1); std::string wellGroupName; std::string wellName; int wellSegmentNumber(-1); std::string lgrName; int cellI(-1); int cellJ(-1); int cellK(-1); quantityName = smspec_node_get_keyword(ertSumVarNode); switch (smspec_node_get_var_type(ertSumVarNode)) { case ECL_SMSPEC_AQUIFER_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_AQUIFER; } break; case ECL_SMSPEC_WELL_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL; wellName = smspec_node_get_wgname(ertSumVarNode); } break; case ECL_SMSPEC_REGION_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_REGION; regionNumber = smspec_node_get_num(ertSumVarNode); } break; case ECL_SMSPEC_FIELD_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_FIELD; } break; case ECL_SMSPEC_GROUP_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL_GROUP; wellGroupName = smspec_node_get_wgname(ertSumVarNode); } break; case ECL_SMSPEC_BLOCK_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_BLOCK; const int* ijk = smspec_node_get_ijk(ertSumVarNode); cellI = ijk[0]; cellJ = ijk[1]; cellK = ijk[2]; } break; case ECL_SMSPEC_COMPLETION_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION; wellName = smspec_node_get_wgname(ertSumVarNode); const int* ijk = smspec_node_get_ijk(ertSumVarNode); cellI = ijk[0]; cellJ = ijk[1]; cellK = ijk[2]; } break; case ECL_SMSPEC_LOCAL_BLOCK_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR; lgrName = smspec_node_get_lgr_name(ertSumVarNode); const int* ijk = smspec_node_get_lgr_ijk(ertSumVarNode); cellI = ijk[0]; cellJ = ijk[1]; cellK = ijk[2]; } break; case ECL_SMSPEC_LOCAL_COMPLETION_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR; wellName = smspec_node_get_wgname(ertSumVarNode); lgrName = smspec_node_get_lgr_name(ertSumVarNode); const int* ijk = smspec_node_get_lgr_ijk(ertSumVarNode); cellI = ijk[0]; cellJ = ijk[1]; cellK = ijk[2]; } break; case ECL_SMSPEC_LOCAL_WELL_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL_LGR; wellName = smspec_node_get_wgname(ertSumVarNode); lgrName = smspec_node_get_lgr_name(ertSumVarNode); } break; case ECL_SMSPEC_NETWORK_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_NETWORK; } break; case ECL_SMSPEC_REGION_2_REGION_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION; regionNumber = smspec_node_get_R1(ertSumVarNode); regionNumber2 = smspec_node_get_R2(ertSumVarNode); } break; case ECL_SMSPEC_SEGMENT_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT; wellSegmentNumber = smspec_node_get_num(ertSumVarNode); } break; case ECL_SMSPEC_MISC_VAR: { sumCategory = RifEclipseSummaryAddress::SUMMARY_MISC; } break; default: CVF_ASSERT(false); break; } return RifEclipseSummaryAddress(sumCategory, quantityName, regionNumber, regionNumber2, wellGroupName, wellName, wellSegmentNumber, lgrName, cellI, cellJ, cellK); }