mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-16 18:32:10 -05:00
(#399) WIP: First commit of experimental geomech WellLog extractor
Not yet enabled in any way
This commit is contained in:
1 parent
ef4b0fa0d3
commit
8d57bbe77b
11 files changed
+492
-143
No files matched your search
@@ -39,6 +39,7 @@
|
||||
#include "qwt_plot_curve.h"
|
||||
#include "RimWellLogPlotCollection.h"
|
||||
#include "cafPdmUiTreeOrdering.h"
|
||||
#include "RigGeoMechWellLogExtractor.h"
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@@ -128,7 +129,7 @@ void RimWellLogExtractionCurve::updatePlotData()
|
||||
CVF_ASSERT(wellLogCollection);
|
||||
|
||||
cvf::ref<RigEclipseWellLogExtractor> eclExtractor = wellLogCollection->findOrCreateExtractor(m_wellPath, eclipseCase);
|
||||
//cvf::ref<RigGeoMechWellLogExtractor> geomExtractor = wellLogCollection->findOrCreateExtractor(m_wellPath, geomCase);
|
||||
cvf::ref<RigGeoMechWellLogExtractor> geomExtractor = wellLogCollection->findOrCreateExtractor(m_wellPath, geomCase);
|
||||
|
||||
std::vector<double> filteredValues;
|
||||
std::vector<double> filteredDepths;
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RigEclipseWellLogExtractor.h"
|
||||
#include "RimWellPathCollection.h"
|
||||
#include "RimGeoMechCase.h"
|
||||
#include "RigGeoMechWellLogExtractor.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimWellLogPlotCollection, "WellLogPlotCollection");
|
||||
|
||||
@@ -74,3 +76,29 @@ RigEclipseWellLogExtractor* RimWellLogPlotCollection::findOrCreateExtractor(RimW
|
||||
|
||||
return extractor.p();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RigGeoMechWellLogExtractor* RimWellLogPlotCollection::findOrCreateExtractor(RimWellPath* wellPath, RimGeoMechCase* eclCase)
|
||||
{
|
||||
if (!(wellPath && eclCase && wellPath->wellPathGeometry() && eclCase->geoMechData()))
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
RigGeoMechCaseData* eclCaseData = eclCase->geoMechData();
|
||||
RigWellPath* wellPathGeom = wellPath->wellPathGeometry();
|
||||
for (size_t exIdx = 0; exIdx < m_geomExtractors.size(); ++exIdx)
|
||||
{
|
||||
if (m_geomExtractors[exIdx]->caseData() == eclCaseData && m_geomExtractors[exIdx]->wellPathData() == wellPathGeom)
|
||||
{
|
||||
return m_geomExtractors[exIdx].p();
|
||||
}
|
||||
}
|
||||
|
||||
cvf::ref<RigGeoMechWellLogExtractor> extractor = new RigGeoMechWellLogExtractor(eclCaseData, wellPathGeom);
|
||||
m_geomExtractors.push_back(extractor.p());
|
||||
|
||||
return extractor.p();
|
||||
}
|
||||
@@ -26,6 +26,8 @@
|
||||
|
||||
class RimWellLogPlot;
|
||||
class RigEclipseWellLogExtractor;
|
||||
class RigGeoMechWellLogExtractor;
|
||||
class RimGeoMechCase;
|
||||
class RimWellPath;
|
||||
class RimEclipseCase;
|
||||
//==================================================================================================
|
||||
@@ -40,8 +42,10 @@ public:
|
||||
virtual ~RimWellLogPlotCollection();
|
||||
|
||||
RigEclipseWellLogExtractor* findOrCreateExtractor(RimWellPath* wellPath, RimEclipseCase* eclCase);
|
||||
RigGeoMechWellLogExtractor* findOrCreateExtractor(RimWellPath* wellPath, RimGeoMechCase* eclCase);
|
||||
|
||||
caf::PdmChildArrayField<RimWellLogPlot*> wellLogPlots;
|
||||
private:
|
||||
cvf::Collection<RigEclipseWellLogExtractor> m_extractors;
|
||||
cvf::Collection<RigGeoMechWellLogExtractor> m_geomExtractors;
|
||||
};
|
||||
Reference in new issue
Block a user