#2447 Fracture : Show fracture legend when only ellipse fractures are present

This commit is contained in:
Magne Sjaastad
2018-02-06 12:42:13 +01:00
parent d420b74326
commit a283a468c2
9 changed files with 50 additions and 13 deletions

View File

@@ -18,6 +18,7 @@
#include "RimEllipseFractureTemplate.h"
#include "RiaApplication.h"
#include "RiaEclipseUnitTools.h"
#include "RiaFractureDefines.h"
#include "RiaLogging.h"
@@ -28,10 +29,12 @@
#include "RigStatisticsMath.h"
#include "RigTesselatorTools.h"
#include "RimEclipseView.h"
#include "RimFracture.h"
#include "RimFractureContainment.h"
#include "RimFractureTemplate.h"
#include "RimProject.h"
#include "RimStimPlanColors.h"
#include "cafPdmObject.h"
@@ -72,6 +75,9 @@ RimEllipseFractureTemplate::~RimEllipseFractureTemplate()
void RimEllipseFractureTemplate::loadDataAndUpdate()
{
setupFractureGridCells();
RimEclipseView* activeView = dynamic_cast<RimEclipseView*>(RiaApplication::instance()->activeReservoirView());
if (activeView) activeView->loadDataAndUpdate();
}
//--------------------------------------------------------------------------------------------------
@@ -324,6 +330,19 @@ void RimEllipseFractureTemplate::appendDataToResultStatistics(const QString& uiR
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<std::pair<QString, QString>> RimEllipseFractureTemplate::uiResultNamesWithUnit() const
{
std::vector<std::pair<QString, QString>> propertyNamesAndUnits;
QString condUnit = RiaDefines::unitStringConductivity(fractureTemplateUnit());
propertyNamesAndUnits.push_back(std::make_pair(RiaDefines::conductivityResultName(), condUnit));
return propertyNamesAndUnits;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -63,6 +63,9 @@ public:
MinMaxAccumulator& minMaxAccumulator,
PosNegAccumulator& posNegAccumulator) const override;
virtual std::vector<std::pair<QString, QString>> uiResultNamesWithUnit() const override;
protected:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering);
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;

View File

@@ -92,6 +92,9 @@ public:
MinMaxAccumulator& minMaxAccumulator,
PosNegAccumulator& posNegAccumulator) const = 0;
virtual std::vector<std::pair<QString, QString> > uiResultNamesWithUnit() const = 0;
protected:
caf::PdmChildField<RimFractureContainment*> m_fractureContainment;

View File

@@ -75,15 +75,11 @@ std::vector<std::pair<QString, QString> > RimFractureTemplateCollection::stimPla
for (const RimFractureTemplate* f : fractureDefinitions())
{
auto stimPlanFracture = dynamic_cast<const RimStimPlanFractureTemplate*>(f);
if (stimPlanFracture)
{
std::vector<std::pair<QString, QString> > namesAndUnits = stimPlanFracture->uiResultNamesWithUnit();
std::vector<std::pair<QString, QString> > namesAndUnits = f->uiResultNamesWithUnit();
for (auto nameAndUnit : namesAndUnits)
{
nameSet.insert(nameAndUnit);
}
for (const auto& nameAndUnit : namesAndUnits)
{
nameSet.insert(nameAndUnit);
}
}

View File

@@ -76,7 +76,7 @@ public:
// Result Access
std::vector<double> timeSteps();
std::vector<std::pair<QString, QString> > uiResultNamesWithUnit() const;
std::vector<std::pair<QString, QString> > uiResultNamesWithUnit() const override;
std::vector<std::vector<double>> resultValues(const QString& uiResultName, const QString& unitName, size_t timeStepIndex) const;
std::vector<double> fractureGridResults(const QString& resultName, const QString& unitName, size_t timeStepIndex) const;
bool hasConductivity() const;