//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- std::vector<RimSaturationPressurePlot*> RicCreateSaturationPressurePlotsFeature::createPlots(RimEclipseResultCase* eclipseResultCase) { std::vector<RimSaturationPressurePlot*> plots; if (!eclipseResultCase) { RiaLogging::error( "RicCreateSaturationPressurePlotsFeature:: No case specified for creation of saturation pressure plots"); return plots; } RimProject* project = RiaApplication::instance()->project(); RimSaturationPressurePlotCollection* collection = project->mainPlotCollection()->saturationPressurePlotCollection(); if (eclipseResultCase && eclipseResultCase->ensureReservoirCaseIsOpen()) { eclipseResultCase->ensureDeckIsParsedForEquilData(); RigEclipseCaseData* eclipseCaseData = eclipseResultCase->eclipseCaseData(); bool requiredInputDataPresent = false; if (!eclipseCaseData->equilData().empty()) { if (eclipseCaseData && eclipseCaseData->results(RiaDefines::MATRIX_MODEL)) { RigCaseCellResultsData* resultData = eclipseCaseData->results(RiaDefines::MATRIX_MODEL); if (resultData->hasResultEntry(RigEclipseResultAddress(RiaDefines::DYNAMIC_NATIVE, "PRESSURE")) && resultData->hasResultEntry(RigEclipseResultAddress(RiaDefines::DYNAMIC_NATIVE, "PDEW")) && resultData->hasResultEntry(RigEclipseResultAddress(RiaDefines::DYNAMIC_NATIVE, "PBUB"))) { requiredInputDataPresent = true; } } } if (requiredInputDataPresent) { plots = collection->createSaturationPressurePlots(eclipseResultCase); for (auto plot : plots) { plot->loadDataAndUpdate(); plot->zoomAll(); plot->updateConnectedEditors(); } } } return plots; }