mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2140 Fracture colors. Set default result to Conductivity when selecting template
This commit is contained in:
@@ -46,6 +46,7 @@
|
|||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimReservoirCellResultsStorage.h"
|
#include "RimReservoirCellResultsStorage.h"
|
||||||
#include "RimStimPlanFractureTemplate.h"
|
#include "RimStimPlanFractureTemplate.h"
|
||||||
|
#include "RimStimPlanColors.h"
|
||||||
#include "RimView.h"
|
#include "RimView.h"
|
||||||
|
|
||||||
#include "RivWellFracturePartMgr.h"
|
#include "RivWellFracturePartMgr.h"
|
||||||
@@ -69,6 +70,29 @@
|
|||||||
|
|
||||||
CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimFracture, "Fracture");
|
CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimFracture, "Fracture");
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void setDefaultFractureColorResult()
|
||||||
|
{
|
||||||
|
RiaApplication* app = RiaApplication::instance();
|
||||||
|
RimProject* proj = app->project();
|
||||||
|
|
||||||
|
for (RimEclipseCase* const eclCase : proj->eclipseCases())
|
||||||
|
{
|
||||||
|
for (RimView* const view : eclCase->views())
|
||||||
|
{
|
||||||
|
std::vector<RimStimPlanColors*> fractureColors;
|
||||||
|
view->descendantsIncludingThisOfType(fractureColors);
|
||||||
|
|
||||||
|
for (RimStimPlanColors* const stimPlanColors : fractureColors)
|
||||||
|
{
|
||||||
|
stimPlanColors->setDefaultResultNameForStimPlan();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -151,6 +175,7 @@ void RimFracture::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons
|
|||||||
if (changedField == &m_fractureTemplate)
|
if (changedField == &m_fractureTemplate)
|
||||||
{
|
{
|
||||||
setFractureTemplate(m_fractureTemplate);
|
setFractureTemplate(m_fractureTemplate);
|
||||||
|
setDefaultFractureColorResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changedField == &azimuth ||
|
if (changedField == &azimuth ||
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
|
|
||||||
#ifdef USE_PROTOTYPE_FEATURE_FRACTURES
|
#ifdef USE_PROTOTYPE_FEATURE_FRACTURES
|
||||||
#include "RimFractureTemplateCollection.h"
|
#include "RimFractureTemplateCollection.h"
|
||||||
|
#include "RimFractureTemplate.h"
|
||||||
#endif // USE_PROTOTYPE_FEATURE_FRACTURES
|
#endif // USE_PROTOTYPE_FEATURE_FRACTURES
|
||||||
|
|
||||||
#include "RimGeoMechCase.h"
|
#include "RimGeoMechCase.h"
|
||||||
@@ -653,7 +654,7 @@ void RimProject::createDisplayModelAndRedrawAllViews()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimProject::allOilFields(std::vector<RimOilField*>& oilFields)
|
void RimProject::allOilFields(std::vector<RimOilField*>& oilFields) const
|
||||||
{
|
{
|
||||||
oilFields.clear();
|
oilFields.clear();
|
||||||
for (const auto& oilField : this->oilFields)
|
for (const auto& oilField : this->oilFields)
|
||||||
@@ -879,6 +880,41 @@ std::vector<RimGeoMechCase*> RimProject::geoMechCases() const
|
|||||||
return cases;
|
return cases;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
std::vector<RimFractureTemplateCollection*> RimProject::allFractureTemplateCollections() const
|
||||||
|
{
|
||||||
|
std::vector<RimFractureTemplateCollection*> templColls;
|
||||||
|
std::vector<RimOilField*> oilFields;
|
||||||
|
|
||||||
|
allOilFields(oilFields);
|
||||||
|
for (RimOilField* oilField : oilFields)
|
||||||
|
{
|
||||||
|
templColls.push_back(oilField->fractureDefinitionCollection());
|
||||||
|
}
|
||||||
|
return templColls;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
std::vector<RimFractureTemplate*> RimProject::allFractureTemplates() const
|
||||||
|
{
|
||||||
|
std::vector<RimFractureTemplate*> templates;
|
||||||
|
std::vector<RimOilField*> oilFields;
|
||||||
|
|
||||||
|
allOilFields(oilFields);
|
||||||
|
for (RimFractureTemplateCollection* templColl : allFractureTemplateCollections())
|
||||||
|
{
|
||||||
|
for (RimFractureTemplate* templ : templColl->fractureDefinitions())
|
||||||
|
{
|
||||||
|
templates.push_back(templ);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return templates;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ class RimViewLinker;
|
|||||||
class RimViewLinkerCollection;
|
class RimViewLinkerCollection;
|
||||||
class RimWellPath;
|
class RimWellPath;
|
||||||
class RimWellPathImport;
|
class RimWellPathImport;
|
||||||
|
class RimFractureTemplateCollection;
|
||||||
|
class RimFractureTemplate;
|
||||||
|
|
||||||
namespace caf
|
namespace caf
|
||||||
{
|
{
|
||||||
@@ -110,7 +112,7 @@ public:
|
|||||||
|
|
||||||
void computeUtmAreaOfInterest();
|
void computeUtmAreaOfInterest();
|
||||||
|
|
||||||
void allOilFields(std::vector<RimOilField*>& oilFields);
|
void allOilFields(std::vector<RimOilField*>& oilFields) const;
|
||||||
RimOilField* activeOilField();
|
RimOilField* activeOilField();
|
||||||
const RimOilField* activeOilField() const;
|
const RimOilField* activeOilField() const;
|
||||||
|
|
||||||
@@ -133,6 +135,9 @@ public:
|
|||||||
|
|
||||||
std::vector<RimGeoMechCase*> geoMechCases() const;
|
std::vector<RimGeoMechCase*> geoMechCases() const;
|
||||||
|
|
||||||
|
std::vector<RimFractureTemplateCollection*> allFractureTemplateCollections() const;
|
||||||
|
std::vector<RimFractureTemplate*> allFractureTemplates() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Overridden methods
|
// Overridden methods
|
||||||
void initScriptDirectories();
|
void initScriptDirectories();
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
#include "RimStimPlanColors.h"
|
#include "RimStimPlanColors.h"
|
||||||
|
|
||||||
|
#include "RiaApplication.h"
|
||||||
|
|
||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
#include "RimFractureTemplateCollection.h"
|
#include "RimFractureTemplateCollection.h"
|
||||||
#include "RimLegendConfig.h"
|
#include "RimLegendConfig.h"
|
||||||
@@ -28,6 +30,7 @@
|
|||||||
#include "cafPdmUiDoubleSliderEditor.h"
|
#include "cafPdmUiDoubleSliderEditor.h"
|
||||||
#include "cafPdmUiItem.h"
|
#include "cafPdmUiItem.h"
|
||||||
#include "cafPdmUiTreeOrdering.h"
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
|
#include "cafSelectionManagerTools.h"
|
||||||
|
|
||||||
#include "cvfqtUtils.h"
|
#include "cvfqtUtils.h"
|
||||||
|
|
||||||
@@ -37,6 +40,12 @@
|
|||||||
|
|
||||||
CAF_PDM_SOURCE_INIT(RimStimPlanColors, "RimStimPlanColors");
|
CAF_PDM_SOURCE_INIT(RimStimPlanColors, "RimStimPlanColors");
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
/// Internal methods
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
static void setDefaultResultIfStimPlan(caf::PdmField<QString> &field);
|
||||||
|
static QString toString(const std::pair<QString, QString>& resultNameAndUnit);
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -84,7 +93,7 @@ void RimStimPlanColors::loadDataAndUpdate()
|
|||||||
bool found = false;
|
bool found = false;
|
||||||
for (auto resultNameAndUnit : resultNameAndUnits)
|
for (auto resultNameAndUnit : resultNameAndUnits)
|
||||||
{
|
{
|
||||||
if (RimStimPlanColors::toString(resultNameAndUnit) == legendVariableName)
|
if (toString(resultNameAndUnit) == legendVariableName)
|
||||||
{
|
{
|
||||||
found = true;
|
found = true;
|
||||||
}
|
}
|
||||||
@@ -107,7 +116,7 @@ void RimStimPlanColors::loadDataAndUpdate()
|
|||||||
// Create legend for result if not already present
|
// Create legend for result if not already present
|
||||||
for (auto resultNameAndUnit : resultNameAndUnits)
|
for (auto resultNameAndUnit : resultNameAndUnits)
|
||||||
{
|
{
|
||||||
QString resultNameUnitString = RimStimPlanColors::toString(resultNameAndUnit);
|
QString resultNameUnitString = toString(resultNameAndUnit);
|
||||||
bool foundResult = false;
|
bool foundResult = false;
|
||||||
|
|
||||||
for (RimLegendConfig* legend : m_legendConfigurations)
|
for (RimLegendConfig* legend : m_legendConfigurations)
|
||||||
@@ -148,7 +157,7 @@ QList<caf::PdmOptionItemInfo> RimStimPlanColors::calculateValueOptions(const caf
|
|||||||
|
|
||||||
for (auto resultNameAndUnit : fractureTemplates->stimPlanResultNamesAndUnits())
|
for (auto resultNameAndUnit : fractureTemplates->stimPlanResultNamesAndUnits())
|
||||||
{
|
{
|
||||||
QString resultNameAndUnitString = RimStimPlanColors::toString(resultNameAndUnit);
|
QString resultNameAndUnitString = toString(resultNameAndUnit);
|
||||||
options.push_back(caf::PdmOptionItemInfo(resultNameAndUnitString, resultNameAndUnitString));
|
options.push_back(caf::PdmOptionItemInfo(resultNameAndUnitString, resultNameAndUnitString));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -213,6 +222,14 @@ QString RimStimPlanColors::resultName() const
|
|||||||
return RimStimPlanColors::toResultName(m_resultNameAndUnit());
|
return RimStimPlanColors::toResultName(m_resultNameAndUnit());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimStimPlanColors::setDefaultResultNameForStimPlan()
|
||||||
|
{
|
||||||
|
setDefaultResultIfStimPlan(m_resultNameAndUnit);
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -275,14 +292,6 @@ RimFractureTemplateCollection* RimStimPlanColors::fractureTemplateCollection() c
|
|||||||
return proj->activeOilField()->fractureDefinitionCollection();
|
return proj->activeOilField()->fractureDefinitionCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
QString RimStimPlanColors::toString(const std::pair<QString, QString>& resultNameAndUnit)
|
|
||||||
{
|
|
||||||
return QString("%1 [%2]").arg(resultNameAndUnit.first).arg(resultNameAndUnit.second);
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -356,3 +365,40 @@ void RimStimPlanColors::defineEditorAttribute(const caf::PdmFieldHandle* field,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
/// Internal methods
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QString toString(const std::pair<QString, QString>& resultNameAndUnit)
|
||||||
|
{
|
||||||
|
return QString("%1 [%2]").arg(resultNameAndUnit.first).arg(resultNameAndUnit.second);
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void setDefaultResultIfStimPlan(caf::PdmField<QString> &field)
|
||||||
|
{
|
||||||
|
RimProject* proj = RiaApplication::instance()->project();
|
||||||
|
|
||||||
|
std::vector<RimFractureTemplate*> stimPlanFracTemplates = proj->allFractureTemplates();
|
||||||
|
|
||||||
|
if (!stimPlanFracTemplates.empty() && field() == "None")
|
||||||
|
{
|
||||||
|
RimFractureTemplateCollection* templColl = proj->allFractureTemplateCollections().front();
|
||||||
|
|
||||||
|
for (auto resultNameAndUnit : templColl->stimPlanResultNamesAndUnits())
|
||||||
|
{
|
||||||
|
if (resultNameAndUnit.first == "CONDUCTIVITY")
|
||||||
|
{
|
||||||
|
field = toString(resultNameAndUnit);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ public:
|
|||||||
|
|
||||||
RimLegendConfig* activeLegend() const;
|
RimLegendConfig* activeLegend() const;
|
||||||
QString resultName() const;
|
QString resultName() const;
|
||||||
|
void setDefaultResultNameForStimPlan();
|
||||||
QString unit() const;
|
QString unit() const;
|
||||||
float opacityLevel() const;
|
float opacityLevel() const;
|
||||||
cvf::Color3f defaultColor() const;
|
cvf::Color3f defaultColor() const;
|
||||||
@@ -66,7 +67,6 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
RimFractureTemplateCollection* fractureTemplateCollection() const;
|
RimFractureTemplateCollection* fractureTemplateCollection() const;
|
||||||
static QString toString(const std::pair<QString, QString>& resultNameAndUnit);
|
|
||||||
|
|
||||||
static QString toResultName(const QString& resultNameAndUnit);
|
static QString toResultName(const QString& resultNameAndUnit);
|
||||||
static QString toUnit(const QString& resultNameAndUnit);
|
static QString toUnit(const QString& resultNameAndUnit);
|
||||||
|
|||||||
Reference in New Issue
Block a user