Ejemplo n.º 1
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveAutoName::appendWellName(std::string& text, const RifEclipseSummaryAddress& summaryAddress) const
{
    if (m_wellName)
    {
        if (text.size() > 0) text += ":";
        text += summaryAddress.wellName();
    }
}
Ejemplo n.º 2
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
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();
}
Ejemplo n.º 3
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
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;
    }
}
Ejemplo n.º 4
0
//--------------------------------------------------------------------------------------------------
/// 
//--------------------------------------------------------------------------------------------------
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;
}