Merge branch 'dev' into dev-deeper

This commit is contained in:
Bjørn Erik Jensen 2018-11-23 08:45:28 +01:00
commit 39a838b406
6 changed files with 64 additions and 29 deletions

View File

@ -50,7 +50,6 @@ RicfExportProperty::RicfExportProperty()
RICF_InitField(&m_caseId, "caseId", -1, "Case ID", "", "", "");
RICF_InitField(&m_timeStepIndex, "timeStep", -1, "Time Step Index", "", "", "");
RICF_InitField(&m_propertyName, "property", QString(), "Property Name", "", "", "");
RICF_InitField(&m_type, "type", caf::AppEnum<RiaDefines::ResultCatType>(RiaDefines::DYNAMIC_NATIVE), "Property type", "", "", "");
RICF_InitField(&m_eclipseKeyword, "eclipseKeyword", QString(), "Eclipse Keyword", "", "", "");
RICF_InitField(&m_undefinedValue, "undefinedValue", 0.0, "Undefined Value", "", "", "");
RICF_InitField(&m_exportFileName, "exportFile", QString(), "Export FileName", "", "", "");

View File

@ -20,8 +20,8 @@
#include "RiaApplication.h"
#include "RiaColorTables.h"
#include "RiaSummaryCurveDefinition.h"
#include "RiaCurveSetDefinition.h"
#include "RiaSummaryCurveDefinition.h"
#include "RicSelectSummaryPlotUI.h"
#include "RiuSummaryCurveDefinitionKeywords.h"
@ -47,6 +47,7 @@
#include "RimSummaryPlot.h"
#include "RimSummaryPlotCollection.h"
#include "RiuPlotMainWindow.h"
#include "RiuPlotMainWindowTools.h"
#include "RiuSummaryCurveDefSelection.h"
#include "RiuSummaryQwtPlot.h"
@ -76,8 +77,9 @@ const QString RicSummaryCurveCreator::CONFIGURATION_NAME = "CurveCreatorCfg";
//--------------------------------------------------------------------------------------------------
/// Internal functions
//--------------------------------------------------------------------------------------------------
int ensembleCurveCount(const std::set<RiaSummaryCurveDefinition>& allCurveDefs);
template <typename T> std::vector<T> toVector(const std::set<T>& set);
int ensembleCurveCount(const std::set<RiaSummaryCurveDefinition>& allCurveDefs);
template<typename T>
std::vector<T> toVector(const std::set<T>& set);
//--------------------------------------------------------------------------------------------------
///
@ -346,7 +348,8 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
for (const auto& curve : currentCurvesInPreviewPlot)
{
RimSummaryCase* sumCase = curve->summaryCaseY();
currentCurveDefs.insert(RiaSummaryCurveDefinition(sumCase, curve->summaryAddressY(), sumCase ? sumCase->ensemble() : nullptr));
currentCurveDefs.insert(
RiaSummaryCurveDefinition(sumCase, curve->summaryAddressY(), sumCase ? sumCase->ensemble() : nullptr));
}
{
@ -380,10 +383,12 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
// Curve sets to delete
std::set<RimEnsembleCurveSet*> curveSetsToDelete;
{
std::vector<RiaCurveSetDefinition> allCurveSetDefinitionsVector = m_summaryCurveSelectionEditor->summaryAddressSelection()->allCurveSetDefinitionsFromSelections();
std::set<RiaCurveSetDefinition> allCurveSetDefinitions = std::set<RiaCurveSetDefinition>(allCurveSetDefinitionsVector.begin(), allCurveSetDefinitionsVector.end());
std::vector<RiaCurveSetDefinition> allCurveSetDefinitionsVector =
m_summaryCurveSelectionEditor->summaryAddressSelection()->allCurveSetDefinitionsFromSelections();
std::set<RiaCurveSetDefinition> allCurveSetDefinitions =
std::set<RiaCurveSetDefinition>(allCurveSetDefinitionsVector.begin(), allCurveSetDefinitionsVector.end());
std::vector<RimEnsembleCurveSet*> currentCurveSetsInPreviewPlot = m_previewPlot->curveSets();
std::set<RiaCurveSetDefinition> currentCurveSetDefs;
std::set<RiaCurveSetDefinition> currentCurveSetDefs;
for (const auto& curveSet : currentCurveSetsInPreviewPlot)
{
@ -403,8 +408,8 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
for (const auto& curveSet : currentCurveSetsInPreviewPlot)
{
RimSummaryCaseCollection* ensemble = curveSet->summaryCaseCollection();
RiaCurveSetDefinition curveSetDef = RiaCurveSetDefinition(ensemble, curveSet->summaryAddress());
RimSummaryCaseCollection* ensemble = curveSet->summaryCaseCollection();
RiaCurveSetDefinition curveSetDef = RiaCurveSetDefinition(ensemble, curveSet->summaryAddress());
if (deleteCurveSetDefs.count(curveSetDef) > 0) curveSetsToDelete.insert(curveSet);
}
}
@ -421,9 +426,9 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(
const std::set<RiaSummaryCurveDefinition>& allCurveDefsToDisplay,
const std::set<RiaSummaryCurveDefinition>& curveDefsToAdd,
const std::set<RimSummaryCurve*>& curvesToDelete,
const std::set<RimEnsembleCurveSet*>& curveSetsToDelete)
const std::set<RimEnsembleCurveSet*>& curveSetsToDelete)
{
static bool warningDisplayed = false;
static bool warningDisplayed = false;
std::set<RiaSummaryCurveDefinition> summaryCurveDefsToDisplay;
@ -438,11 +443,11 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(
initCurveAppearanceCalculator(curveLookCalc);
// Delete curves
if(!curveSetsToDelete.empty())
if (!curveSetsToDelete.empty())
{
m_previewPlot->ensembleCurveSetCollection()->deleteCurveSets(toVector(curveSetsToDelete));
}
if(!curvesToDelete.empty())
if (!curvesToDelete.empty())
{
m_previewPlot->deleteCurves(toVector(curvesToDelete));
}
@ -457,7 +462,7 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(
curve->setSummaryCaseY(currentCase);
curve->setSummaryAddressY(curveDef.summaryAddress());
curve->applyCurveAutoNameSettings(*m_curveNameConfig());
if(currentCase->isObservedData()) curve->setSymbolSkipDistance(0);
if (currentCase->isObservedData()) curve->setSymbolSkipDistance(0);
if (curveDef.isEnsembleCurve())
{
@ -479,9 +484,8 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(
curveSet->setSummaryAddress(curveDef.summaryAddress());
// Set single curve set color
auto allCurveSets = m_previewPlot->ensembleCurveSetCollection()->curveSets();
size_t colorIndex = std::count_if(allCurveSets.begin(), allCurveSets.end(), [](RimEnsembleCurveSet* curveSet)
{
auto allCurveSets = m_previewPlot->ensembleCurveSetCollection()->curveSets();
size_t colorIndex = std::count_if(allCurveSets.begin(), allCurveSets.end(), [](RimEnsembleCurveSet* curveSet) {
return curveSet->colorMode() == RimEnsembleCurveSet::SINGLE_COLOR;
});
curveSet->setColor(RiaColorTables::summaryCurveDefaultPaletteColors().cycledColor3f(colorIndex));
@ -489,7 +493,8 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(
// Add curve to plot
m_previewPlot->ensembleCurveSetCollection()->addCurveSet(curveSet);
if (m_previewPlot->ensembleCurveSetCollection()->curveSets().size() > 1 && ensembleCurveCnt > ENSEMBLE_CURVE_COUNT_THRESHOLD)
if (m_previewPlot->ensembleCurveSetCollection()->curveSets().size() > 1 &&
ensembleCurveCnt > ENSEMBLE_CURVE_COUNT_THRESHOLD)
{
// Toggle off new curve set and display warning
curveSet->showCurves(false);
@ -558,7 +563,7 @@ std::set<std::string> RicSummaryCurveCreator::getAllSummaryWellNames()
{
const std::set<RifEclipseSummaryAddress> allAddresses = reader->allResultAddresses();
for(auto& address : allAddresses)
for (auto& address : allAddresses)
{
if (address.category() == RifEclipseSummaryAddress::SUMMARY_WELL)
{
@ -903,6 +908,9 @@ void RicSummaryCurveCreator::createNewPlot()
m_targetPlot = newSummaryPlot;
updateTargetPlot();
RiuPlotMainWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow();
mainPlotWindow->updateSummaryPlotToolBar();
}
}
}
@ -1015,7 +1023,8 @@ int ensembleCurveCount(const std::set<RiaSummaryCurveDefinition>& allCurveDefs)
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
template <typename T> std::vector<T> toVector(const std::set<T>& set)
template<typename T>
std::vector<T> toVector(const std::set<T>& set)
{
return std::vector<T>(set.begin(), set.end());
}

View File

@ -520,6 +520,26 @@ RifEclipseSummaryAddress RifEclipseSummaryAddress::ensembleStatisticsAddress(con
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RifEclipseSummaryAddress::isDependentOnWellName(const RifEclipseSummaryAddress& address)
{
// clang-format off
if (address.category() == SUMMARY_WELL ||
address.category() == SUMMARY_WELL_COMPLETION ||
address.category() == SUMMARY_WELL_COMPLETION_LGR ||
address.category() == SUMMARY_WELL_LGR ||
address.category() == SUMMARY_WELL_SEGMENT)
{
return true;
}
// clang-format on
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const std::string RifEclipseSummaryAddress::ensembleStatisticsQuantityName() const
{
QString qName = QString::fromStdString(m_quantityName);

View File

@ -144,6 +144,8 @@ public:
static RifEclipseSummaryAddress importedAddress(const std::string& quantityName);
static RifEclipseSummaryAddress ensembleStatisticsAddress(const std::string& quantityName, const std::string& dataQuantityName);
static bool isDependentOnWellName(const RifEclipseSummaryAddress& address);
// Access methods
SummaryVarCategory category() const { return m_variableCategory; }

View File

@ -33,6 +33,8 @@
#include "cafPdmPtrField.h"
#include "cafPdmUiItem.h"
#include <limits>
class RigCaseCellResultsData;
class RimEclipseCase;
class RimEclipseView;

View File

@ -44,7 +44,8 @@ CAF_PDM_SOURCE_INIT(RimSummaryPlotSourceStepping, "RimSummaryCurveCollectionModi
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimSummaryPlotSourceStepping::RimSummaryPlotSourceStepping() : m_sourceSteppingType(Y_AXIS)
RimSummaryPlotSourceStepping::RimSummaryPlotSourceStepping()
: m_sourceSteppingType(Y_AXIS)
{
// clang-format off
CAF_PDM_InitObject("Summary Curves Modifier", "", "", "");
@ -244,8 +245,9 @@ QList<caf::PdmOptionItemInfo> RimSummaryPlotSourceStepping::calculateValueOption
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue,
const QVariant& newValue)
void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
const QVariant& oldValue,
const QVariant& newValue)
{
RimSummaryCurveCollection* curveCollection = nullptr;
this->firstAncestorOrThisOfTypeAsserted(curveCollection);
@ -286,7 +288,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c
if (isYAxisStepping())
{
RifEclipseSummaryAddress adr = curve->summaryAddressY();
if (adr.category() == RifEclipseSummaryAddress::SUMMARY_WELL)
if (RifEclipseSummaryAddress::isDependentOnWellName(adr))
{
adr.setWellName(m_wellName().toStdString());
@ -297,7 +299,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c
if (isXAxisStepping())
{
RifEclipseSummaryAddress adr = curve->summaryAddressX();
if (adr.category() == RifEclipseSummaryAddress::SUMMARY_WELL)
if (RifEclipseSummaryAddress::isDependentOnWellName(adr))
{
adr.setWellName(m_wellName().toStdString());
@ -417,7 +419,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c
std::vector<RifSummaryReaderInterface*> RimSummaryPlotSourceStepping::summaryReadersForCurves() const
{
std::vector<RifSummaryReaderInterface*> readers;
RimSummaryCurveCollection* curveCollection = nullptr;
RimSummaryCurveCollection* curveCollection = nullptr;
this->firstAncestorOrThisOfTypeAsserted(curveCollection);
for (auto curve : curveCollection->curves())
@ -646,7 +648,7 @@ RiaSummaryCurveAnalyzer* RimSummaryPlotSourceStepping::analyzerForReader(RifSumm
//--------------------------------------------------------------------------------------------------
void RimSummaryPlotSourceStepping::modifyCurrentIndex(caf::PdmValueField* valueField, int indexOffset)
{
bool useOptionsOnly;
bool useOptionsOnly;
QList<caf::PdmOptionItemInfo> options = calculateValueOptions(valueField, &useOptionsOnly);
RimDataSourceSteppingTools::modifyCurrentIndex(valueField, options, indexOffset);
}
@ -654,7 +656,8 @@ void RimSummaryPlotSourceStepping::modifyCurrentIndex(caf::PdmValueField* valueF
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryPlotSourceStepping::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName,
void RimSummaryPlotSourceStepping::defineEditorAttribute(const caf::PdmFieldHandle* field,
QString uiConfigName,
caf::PdmUiEditorAttribute* attribute)
{
caf::PdmUiComboBoxEditorAttribute* myAttr = dynamic_cast<caf::PdmUiComboBoxEditorAttribute*>(attribute);