//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimSummaryAddress::setAddress(const RifEclipseSummaryAddress& addr) { m_category = addr.category(); m_quantityName = addr.quantityName().c_str(); m_regionNumber = addr.regionNumber(); m_regionNumber2 = addr.regionNumber2(); m_wellGroupName = addr.wellGroupName().c_str(); m_wellName = addr.wellName().c_str(); m_wellSegmentNumber = addr.wellSegmentNumber(); m_lgrName = addr.lgrName().c_str(); m_cellI = addr.cellI(); m_cellJ = addr.cellJ(); m_cellK = addr.cellK(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- bool RimSummaryFilter::isIncludedByFilter(const RifEclipseSummaryAddress& addr) const { if(!isSumVarTypeMatchingFilterType(m_filterType(), addr.category())) return false; if(m_filterType() == SUM_FILTER_VAR_STRING) { return isStringMatch(m_completeVarStringFilter(), addr.uiText()); } if(!isStringMatch(m_filterQuantityName(), addr.quantityName())) return false; if(m_filterType() == SUM_FILTER_ANY) { return (isNumberMatch(m_regionNumberFilter(), addr.regionNumber()) && isNumberMatch(m_regionNumber2Filter(), addr.regionNumber2()) && isStringMatch(m_wellGroupNameFilter(), addr.wellGroupName()) && isStringMatch(m_wellNameFilter(), addr.wellName()) && isStringMatch(m_lgrNameFilter(), addr.lgrName()) && isNumberMatch(m_wellSegmentNumberFilter(), addr.wellSegmentNumber()) && isIJKMatch(m_cellIJKFilter(), addr.cellI(), addr.cellJ(), addr.cellK())); } switch(addr.category()) { case RifEclipseSummaryAddress::SUMMARY_REGION: { return isNumberMatch(m_regionNumberFilter(), addr.regionNumber()); } break; case RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION: { return isNumberMatch(m_regionNumberFilter(), addr.regionNumber()) && isNumberMatch(m_regionNumber2Filter(), addr.regionNumber2()); } break; case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP: { return isStringMatch(m_wellGroupNameFilter(), addr.wellGroupName()); } break; case RifEclipseSummaryAddress::SUMMARY_WELL: { return isStringMatch(m_wellNameFilter(), addr.wellName()); } break; case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION: { return isStringMatch(m_wellNameFilter(), addr.wellName()) && isIJKMatch(m_cellIJKFilter(), addr.cellI(), addr.cellJ(), addr.cellK()); } break; case RifEclipseSummaryAddress::SUMMARY_WELL_LGR: { return isStringMatch(m_wellNameFilter(), addr.wellName()) && isStringMatch(m_lgrNameFilter(), addr.lgrName()); } break; case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR: { return isStringMatch(m_wellNameFilter(), addr.wellName()) && isStringMatch(m_lgrNameFilter(), addr.lgrName()) && isIJKMatch(m_cellIJKFilter(), addr.cellI(), addr.cellJ(), addr.cellK()); } break; case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT: { return isStringMatch(m_wellNameFilter(), addr.wellName()) && isNumberMatch(m_wellSegmentNumberFilter(), addr.wellSegmentNumber()); } break; case RifEclipseSummaryAddress::SUMMARY_BLOCK: { return isIJKMatch(m_cellIJKFilter(), addr.cellI(), addr.cellJ(), addr.cellK()); } break; case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR: { return isStringMatch(m_lgrNameFilter(), addr.lgrName()) && isIJKMatch(m_cellIJKFilter(), addr.cellI(), addr.cellJ(), addr.cellK()); } break; } return true; }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RimSummaryFilter::updateFromAddress(const RifEclipseSummaryAddress& address) { RifEclipseSummaryAddress::SummaryVarCategory category = address.category(); m_filterQuantityName = QString::fromStdString(address.quantityName()); switch (category) { case RifEclipseSummaryAddress::SUMMARY_INVALID: m_filterType = SUM_FILTER_VAR_STRING; break; case RifEclipseSummaryAddress::SUMMARY_FIELD: m_filterType = SUM_FILTER_FIELD; break; case RifEclipseSummaryAddress::SUMMARY_AQUIFER: m_filterType = SUM_FILTER_AQUIFER; break; case RifEclipseSummaryAddress::SUMMARY_NETWORK: m_filterType = SUM_FILTER_NETWORK; break; case RifEclipseSummaryAddress::SUMMARY_MISC: m_filterType = SUM_FILTER_MISC; break; case RifEclipseSummaryAddress::SUMMARY_REGION: m_filterType = SUM_FILTER_REGION; m_regionNumberFilter= QString("%1").arg(address.regionNumber()); break; case RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION: m_filterType = SUM_FILTER_REGION_2_REGION; m_regionNumberFilter = QString("%1").arg(address.regionNumber()); m_regionNumber2Filter = QString("%1").arg(address.regionNumber2()); break; case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP: m_filterType = SUM_FILTER_WELL_GROUP; m_wellGroupNameFilter = QString::fromStdString(address.wellGroupName()); break; case RifEclipseSummaryAddress::SUMMARY_WELL: m_filterType = SUM_FILTER_WELL; m_wellNameFilter = QString::fromStdString(address.wellName()); break; case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION: m_filterType = SUM_FILTER_WELL_COMPLETION; m_wellNameFilter = QString::fromStdString(address.wellName()); m_cellIJKFilter = cellIJKString(address.cellI(), address.cellJ(), address.cellK()); break; case RifEclipseSummaryAddress::SUMMARY_WELL_LGR: m_filterType = SUM_FILTER_WELL_LGR; m_wellNameFilter= QString::fromStdString(address.wellName()); m_lgrNameFilter = QString::fromStdString(address.lgrName()); break; case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR: m_filterType = SUM_FILTER_WELL_COMPLETION_LGR; m_wellNameFilter = QString::fromStdString(address.wellName()); m_lgrNameFilter = QString::fromStdString(address.lgrName()); m_cellIJKFilter = cellIJKString(address.cellI(), address.cellJ(), address.cellK()); break; case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT: m_filterType = SUM_FILTER_WELL_SEGMENT; m_wellNameFilter = QString::fromStdString(address.wellName()); m_wellSegmentNumberFilter = QString("%1").arg(address.wellSegmentNumber()); break; case RifEclipseSummaryAddress::SUMMARY_BLOCK: m_filterType = SUM_FILTER_BLOCK; m_cellIJKFilter = cellIJKString(address.cellI(), address.cellJ(), address.cellK()); break; case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR: m_filterType = SUM_FILTER_BLOCK_LGR; m_lgrNameFilter = QString::fromStdString(address.lgrName()); m_cellIJKFilter = cellIJKString(address.cellI(), address.cellJ(), address.cellK()); break; default: break; } }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- QString RimSummaryCurveAutoName::curveName(const RifEclipseSummaryAddress& summaryAddress) const { std::string text; RimSummaryCurve* summaryCurve = nullptr; this->firstAncestorOrThisOfType(summaryCurve); if (m_vectorName) { text += summaryAddress.quantityName(); if (m_unit && summaryCurve) { text += "[" + summaryCurve->unitName() + "]"; } } switch (summaryAddress.category()) { case RifEclipseSummaryAddress::SUMMARY_REGION: { if (m_regionNumber) { if (text.size() > 0) text +=":"; text += std::to_string(summaryAddress.regionNumber()); } } break; case RifEclipseSummaryAddress::SUMMARY_REGION_2_REGION: { if (m_regionNumber) { if (text.size() > 0) text += ":"; text += std::to_string(summaryAddress.regionNumber()); text += "-" + std::to_string(summaryAddress.regionNumber2()); } } break; case RifEclipseSummaryAddress::SUMMARY_WELL_GROUP: { if (m_wellGroupName) { if (text.size() > 0) text += ":"; text += summaryAddress.wellGroupName(); } } break; case RifEclipseSummaryAddress::SUMMARY_WELL: { appendWellName(text, summaryAddress); } break; case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION: { appendWellName(text, summaryAddress); if (m_completion) { if (text.size() > 0) text += ":"; text += std::to_string(summaryAddress.cellI()) + ", " + std::to_string(summaryAddress.cellJ()) + ", " + std::to_string(summaryAddress.cellK()); } } break; case RifEclipseSummaryAddress::SUMMARY_WELL_LGR: { appendLgrName(text, summaryAddress); appendWellName(text, summaryAddress); } break; case RifEclipseSummaryAddress::SUMMARY_WELL_COMPLETION_LGR: { appendLgrName(text, summaryAddress); appendWellName(text, summaryAddress); if (m_completion) { if (text.size() > 0) text += ":"; text += std::to_string(summaryAddress.cellI()) + ", " + std::to_string(summaryAddress.cellJ()) + ", " + std::to_string(summaryAddress.cellK()); } } break; case RifEclipseSummaryAddress::SUMMARY_WELL_SEGMENT: { appendWellName(text, summaryAddress); if (m_wellSegmentNumber) { if (text.size() > 0) text += ":"; text += ":" + summaryAddress.wellSegmentNumber(); } } break; case RifEclipseSummaryAddress::SUMMARY_BLOCK: { if (m_completion) { if (text.size() > 0) text += ":"; text += std::to_string(summaryAddress.cellI()) + ", " + std::to_string(summaryAddress.cellJ()) + ", " + std::to_string(summaryAddress.cellK()); } } break; case RifEclipseSummaryAddress::SUMMARY_BLOCK_LGR: { appendLgrName(text, summaryAddress); if (m_completion) { if (text.size() > 0) text += ":"; text += std::to_string(summaryAddress.cellI()) + ", " + std::to_string(summaryAddress.cellJ()) + ", " + std::to_string(summaryAddress.cellK()); } } break; } if (summaryCurve) { if (m_caseName) { if (summaryCurve && summaryCurve->summaryCase()) { if (text.size() > 0) text += ", "; text += summaryCurve->summaryCase()->caseName().toStdString(); } } } return QString::fromStdString(text); }