mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Merge remote-tracking branch 'origin/dev' into pre-proto
This commit is contained in:
commit
56a04de2ff
@ -1740,6 +1740,7 @@ RiuMainPlotWindow* RiaApplication::getOrCreateAndShowMainPlotWindow()
|
||||
if (!m_mainPlotWindow)
|
||||
{
|
||||
createMainPlotWindow();
|
||||
m_mainPlotWindow->initializeGuiNewProjectLoaded();
|
||||
loadAndUpdatePlotData();
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
||||
#include <QMimeData>
|
||||
|
||||
|
||||
CAF_CMD_SOURCE_INIT(RicPasteAsciiDataToSummaryPlotFeature, "RicPasteExcelToSummaryPlotFeature");
|
||||
CAF_CMD_SOURCE_INIT(RicPasteAsciiDataToSummaryPlotFeature, "RicPasteAsciiDataToSummaryPlotFeature");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@ -239,6 +239,10 @@ std::vector<RimAsciiDataCurve*> RicPasteAsciiDataToSummaryPlotFeature::parseCurv
|
||||
{
|
||||
curve->setTitle(QString("%1: %2").arg(curvePrefix).arg(headers[i]));
|
||||
}
|
||||
// Appearance
|
||||
curve->setSymbol(settings.pointSymbol());
|
||||
curve->setLineStyle(settings.lineStyle());
|
||||
curve->setSymbolSkipDinstance(settings.symbolSkipDinstance());
|
||||
curveToTypeMap[guessCurveType(headers[i])].push_back(curve);
|
||||
curves.push_back(curve);
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ namespace caf {
|
||||
}
|
||||
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RicPasteAsciiDataToSummaryPlotFeatureUi, "RicPasteExcelToSummaryPlotFeatureUi");
|
||||
CAF_PDM_SOURCE_INIT(RicPasteAsciiDataToSummaryPlotFeatureUi, "RicPasteAsciiDataToSummaryPlotFeatureUi");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@ -74,6 +74,10 @@ RicPasteAsciiDataToSummaryPlotFeatureUi::RicPasteAsciiDataToSummaryPlotFeatureUi
|
||||
CAF_PDM_InitField(&m_useCustomDateFormat, "UseCustomDateFormat", false, "Use Custom Date Format", "", "", "");
|
||||
CAF_PDM_InitField(&m_customDateFormat, "CustomDateFormat", QString(), "Custom Date Format", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_curveLineStyle, "LineStyle", caf::AppEnum<RimPlotCurve::LineStyleEnum>(RimPlotCurve::STYLE_NONE), "Line Style", "", "", "");
|
||||
CAF_PDM_InitField(&m_curveSymbol, "Symbol", caf::AppEnum<RimPlotCurve::PointSymbolEnum>(RimPlotCurve::SYMBOL_ELLIPSE), "Symbol", "", "", "");
|
||||
CAF_PDM_InitField(&m_curveSymbolSkipDistance, "SymbolSkipDinstance", 0.0f, "Symbol Skip Distance", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_cellSeparator, "CellSeparator", "Cell Separator", "", "", "");
|
||||
}
|
||||
|
||||
@ -143,6 +147,30 @@ QString RicPasteAsciiDataToSummaryPlotFeatureUi::curvePrefix() const
|
||||
return m_curvePrefix();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimPlotCurve::LineStyleEnum RicPasteAsciiDataToSummaryPlotFeatureUi::lineStyle() const
|
||||
{
|
||||
return m_curveLineStyle();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimPlotCurve::PointSymbolEnum RicPasteAsciiDataToSummaryPlotFeatureUi::pointSymbol() const
|
||||
{
|
||||
return m_curveSymbol();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
float RicPasteAsciiDataToSummaryPlotFeatureUi::symbolSkipDinstance() const
|
||||
{
|
||||
return m_curveSymbolSkipDistance();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -190,5 +218,13 @@ void RicPasteAsciiDataToSummaryPlotFeatureUi::defineUiOrdering(QString uiConfigN
|
||||
cellGroup->add(&m_cellSeparator);
|
||||
}
|
||||
|
||||
{
|
||||
caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroup("Appearance");
|
||||
|
||||
appearanceGroup->add(&m_curveLineStyle);
|
||||
appearanceGroup->add(&m_curveSymbol);
|
||||
appearanceGroup->add(&m_curveSymbolSkipDistance);
|
||||
}
|
||||
|
||||
uiOrdering.skipRemainingFields();
|
||||
}
|
||||
|
@ -18,6 +18,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "RimPlotCurve.h"
|
||||
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmField.h"
|
||||
#include "cafAppEnum.h"
|
||||
@ -69,11 +71,14 @@ public:
|
||||
public:
|
||||
RicPasteAsciiDataToSummaryPlotFeatureUi();
|
||||
|
||||
QString dateFormat() const;
|
||||
QLocale decimalLocale() const;
|
||||
QString cellSeparator() const;
|
||||
QString plotTitle() const;
|
||||
QString curvePrefix() const;
|
||||
QString dateFormat() const;
|
||||
QLocale decimalLocale() const;
|
||||
QString cellSeparator() const;
|
||||
QString plotTitle() const;
|
||||
QString curvePrefix() const;
|
||||
RimPlotCurve::LineStyleEnum lineStyle() const;
|
||||
RimPlotCurve::PointSymbolEnum pointSymbol() const;
|
||||
float symbolSkipDinstance() const;
|
||||
|
||||
void createNewPlot();
|
||||
|
||||
@ -90,5 +95,9 @@ private:
|
||||
caf::PdmField<QString> m_customDateFormat;
|
||||
caf::PdmField<CellSeparatorEnum> m_cellSeparator;
|
||||
|
||||
caf::PdmField<caf::AppEnum<RimPlotCurve::LineStyleEnum>> m_curveLineStyle;
|
||||
caf::PdmField<caf::AppEnum<RimPlotCurve::PointSymbolEnum>> m_curveSymbol;
|
||||
caf::PdmField<float> m_curveSymbolSkipDistance;
|
||||
|
||||
bool m_createNewPlot;
|
||||
};
|
||||
|
@ -49,9 +49,9 @@ namespace caf
|
||||
template<>
|
||||
void AppEnum< RimFlowCharacteristicsPlot::TimeSelectionType >::setUp()
|
||||
{
|
||||
addItem(RimFlowCharacteristicsPlot::ALL_AVAILABLE, "ALL_AVAILABLE", "All available");
|
||||
addItem(RimFlowCharacteristicsPlot::SELECT_AVAILABLE, "SELECT_AVAILABLE", "Select");
|
||||
setDefault(RimFlowCharacteristicsPlot::ALL_AVAILABLE);
|
||||
addItem(RimFlowCharacteristicsPlot::ALL_AVAILABLE, "ALL_AVAILABLE", "All With Calculated Flow Diagnostics");
|
||||
addItem(RimFlowCharacteristicsPlot::SELECTED, "SELECTED", "Selected");
|
||||
setDefault(RimFlowCharacteristicsPlot::SELECTED);
|
||||
}
|
||||
}
|
||||
|
||||
@ -71,18 +71,20 @@ RimFlowCharacteristicsPlot::RimFlowCharacteristicsPlot()
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_timeStepSelectionType, "TimeSelectionType", "Time Steps", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_selectedTimeSteps, "SelectedTimeSteps", "", "", "", "");
|
||||
m_selectedTimeSteps.uiCapability()->setUiHidden(true);
|
||||
CAF_PDM_InitFieldNoDefault(&m_selectedTimeStepsUi, "SelectedTimeStepsUi", "", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_applyTimeSteps, "ApplyTimeSteps", "", "", "", "");
|
||||
m_applyTimeSteps.xmlCapability()->setIOWritable(false);
|
||||
m_applyTimeSteps.xmlCapability()->setIOReadable(false);
|
||||
m_applyTimeSteps.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||
m_applyTimeSteps.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
m_applyTimeSteps.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::LEFT);
|
||||
CAF_PDM_InitField(&m_maxPvFraction, "CellPVThreshold", 0.1, "Aquifer Cell Threshold", "", "Exclude Aquifer Effects by adding a Cell Pore Volume Threshold as Fraction of Total Pore Volume.", "");
|
||||
|
||||
|
||||
CAF_PDM_InitField(&m_showLegend, "ShowLegend", true, "Legend", "", "", "");
|
||||
|
||||
// Region group
|
||||
CAF_PDM_InitFieldNoDefault(&m_cellSelection, "CellSelection", "Cell Selection", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_cellFilter, "CellFilter", "Cell Filter", "", "", "");
|
||||
CAF_PDM_InitField(&m_tracerFilter, "TracerFilter", QString(), "Filter", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_selectedTracerNames, "SelectedTracerNames", " ", "", "", "");
|
||||
m_selectedTracerNames.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
|
||||
@ -90,7 +92,7 @@ RimFlowCharacteristicsPlot::RimFlowCharacteristicsPlot()
|
||||
m_showRegion.xmlCapability()->setIOWritable(false);
|
||||
m_showRegion.xmlCapability()->setIOReadable(false);
|
||||
m_showRegion.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||
m_showRegion.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
m_showRegion.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::LEFT);
|
||||
|
||||
|
||||
this->m_showWindow = false;
|
||||
@ -198,9 +200,9 @@ QList<caf::PdmOptionItemInfo> RimFlowCharacteristicsPlot::calculateValueOptions(
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( fieldNeedingOptions == &m_selectedTimeSteps )
|
||||
else if ( fieldNeedingOptions == &m_selectedTimeStepsUi )
|
||||
{
|
||||
if ( m_flowDiagSolution )
|
||||
if ( m_flowDiagSolution && m_case )
|
||||
{
|
||||
QStringList timeStepDates = m_case->timeStepStrings();
|
||||
std::vector<int> calculatedTimeSteps = m_flowDiagSolution()->flowDiagResults()->calculatedTimeSteps(RigFlowDiagResultAddress::PHASE_ALL);
|
||||
@ -208,7 +210,7 @@ QList<caf::PdmOptionItemInfo> RimFlowCharacteristicsPlot::calculateValueOptions(
|
||||
{
|
||||
auto it = std::find(calculatedTimeSteps.begin(), calculatedTimeSteps.end(), tsIdx);
|
||||
QString itemText = timeStepDates[tsIdx];
|
||||
if (it == calculatedTimeSteps.end())
|
||||
if (it != calculatedTimeSteps.end())
|
||||
{
|
||||
itemText = itemText + " *";
|
||||
}
|
||||
@ -221,6 +223,7 @@ QList<caf::PdmOptionItemInfo> RimFlowCharacteristicsPlot::calculateValueOptions(
|
||||
if (m_flowDiagSolution)
|
||||
{
|
||||
std::vector<QString> tracerNames = m_flowDiagSolution->tracerNames();
|
||||
std::vector<std::pair<QString, QString>> sortedTracerNames;
|
||||
for (QString tracerName : tracerNames)
|
||||
{
|
||||
if (!caf::Utils::isStringMatch(m_tracerFilter, tracerName)) continue;
|
||||
@ -228,21 +231,21 @@ QList<caf::PdmOptionItemInfo> RimFlowCharacteristicsPlot::calculateValueOptions(
|
||||
RimFlowDiagSolution::TracerStatusType tracerStatus = m_flowDiagSolution->tracerStatusOverall(tracerName);
|
||||
if (tracerStatus == RimFlowDiagSolution::CLOSED) continue;
|
||||
|
||||
if (m_cellSelection() == RigFlowDiagResults::CELLS_FLOODED)
|
||||
if (m_cellFilter() == RigFlowDiagResults::CELLS_FLOODED)
|
||||
{
|
||||
if (tracerStatus == RimFlowDiagSolution::INJECTOR || tracerStatus == RimFlowDiagSolution::VARYING)
|
||||
{
|
||||
options.push_back(caf::PdmOptionItemInfo(tracerName, tracerName));
|
||||
sortedTracerNames.push_back(std::make_pair(tracerName, tracerName));
|
||||
}
|
||||
}
|
||||
else if (m_cellSelection() == RigFlowDiagResults::CELLS_DRAINED)
|
||||
else if (m_cellFilter() == RigFlowDiagResults::CELLS_DRAINED)
|
||||
{
|
||||
if (tracerStatus == RimFlowDiagSolution::PRODUCER || tracerStatus == RimFlowDiagSolution::VARYING)
|
||||
{
|
||||
options.push_back(caf::PdmOptionItemInfo(tracerName, tracerName));
|
||||
sortedTracerNames.push_back(std::make_pair(tracerName, tracerName));
|
||||
}
|
||||
}
|
||||
else if (m_cellSelection() == RigFlowDiagResults::CELLS_COMMUNICATION)
|
||||
else if (m_cellFilter() == RigFlowDiagResults::CELLS_COMMUNICATION)
|
||||
{
|
||||
QString prefix;
|
||||
switch (tracerStatus)
|
||||
@ -260,9 +263,21 @@ QList<caf::PdmOptionItemInfo> RimFlowCharacteristicsPlot::calculateValueOptions(
|
||||
prefix = "U : ";
|
||||
break;
|
||||
}
|
||||
options.push_back(caf::PdmOptionItemInfo(prefix + tracerName, tracerName));
|
||||
sortedTracerNames.push_back(std::make_pair(prefix + tracerName, tracerName));
|
||||
}
|
||||
}
|
||||
|
||||
std::sort(sortedTracerNames.begin(),
|
||||
sortedTracerNames.end(),
|
||||
[](const std::pair<QString, QString>& a, const std::pair<QString, QString>& b) -> bool
|
||||
{
|
||||
return a.first < b.first;
|
||||
});
|
||||
|
||||
for (auto& tracer : sortedTracerNames)
|
||||
{
|
||||
options.push_back(caf::PdmOptionItemInfo(tracer.first, tracer.second));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -275,28 +290,37 @@ QList<caf::PdmOptionItemInfo> RimFlowCharacteristicsPlot::calculateValueOptions(
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFlowCharacteristicsPlot::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
uiOrdering.add(&m_case);
|
||||
uiOrdering.add(&m_flowDiagSolution);
|
||||
uiOrdering.add(&m_timeStepSelectionType);
|
||||
|
||||
if (m_timeStepSelectionType == SELECT_AVAILABLE)
|
||||
{
|
||||
uiOrdering.add(&m_selectedTimeSteps);
|
||||
uiOrdering.add(&m_applyTimeSteps);
|
||||
}
|
||||
caf::PdmUiGroup* timeStepsGroup = uiOrdering.addNewGroup("Time Steps");
|
||||
|
||||
uiOrdering.add(&m_showLegend);
|
||||
uiOrdering.add(&m_maxPvFraction);
|
||||
timeStepsGroup->add(&m_timeStepSelectionType);
|
||||
|
||||
if (m_timeStepSelectionType == SELECTED)
|
||||
{
|
||||
timeStepsGroup->add(&m_selectedTimeStepsUi);
|
||||
timeStepsGroup->add(&m_applyTimeSteps);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
caf::PdmUiGroup* regionGroup = uiOrdering.addNewGroup("Region");
|
||||
regionGroup->add(&m_cellSelection);
|
||||
if (m_cellSelection() != RigFlowDiagResults::CELLS_ACTIVE)
|
||||
regionGroup->add(&m_cellFilter);
|
||||
if (m_cellFilter() != RigFlowDiagResults::CELLS_ACTIVE)
|
||||
{
|
||||
regionGroup->add(&m_tracerFilter);
|
||||
regionGroup->add(&m_selectedTracerNames);
|
||||
regionGroup->add(&m_showRegion);
|
||||
}
|
||||
regionGroup->add(&m_showRegion);
|
||||
}
|
||||
|
||||
{
|
||||
caf::PdmUiGroup* optionsGroup = uiOrdering.addNewGroup("Options");
|
||||
optionsGroup->add(&m_case);
|
||||
optionsGroup->add(&m_flowDiagSolution);
|
||||
|
||||
optionsGroup->add(&m_showLegend);
|
||||
optionsGroup->add(&m_maxPvFraction);
|
||||
}
|
||||
|
||||
uiOrdering.skipRemainingFields();
|
||||
@ -358,10 +382,11 @@ void RimFlowCharacteristicsPlot::fieldChangedByUi(const caf::PdmFieldHandle* cha
|
||||
if (m_flowDiagSolution)
|
||||
{
|
||||
// Compute any missing time steps from selected
|
||||
for (int tsIdx : m_selectedTimeSteps())
|
||||
for (int tsIdx : m_selectedTimeStepsUi())
|
||||
{
|
||||
m_flowDiagSolution()->flowDiagResults()->maxAbsPairFlux(tsIdx);
|
||||
}
|
||||
m_selectedTimeSteps = m_selectedTimeStepsUi;
|
||||
}
|
||||
m_applyTimeSteps = false;
|
||||
}
|
||||
@ -369,7 +394,7 @@ void RimFlowCharacteristicsPlot::fieldChangedByUi(const caf::PdmFieldHandle* cha
|
||||
{
|
||||
if (m_case)
|
||||
{
|
||||
if (m_cellSelection() != RigFlowDiagResults::CELLS_ACTIVE)
|
||||
if (m_cellFilter() != RigFlowDiagResults::CELLS_ACTIVE)
|
||||
{
|
||||
RimEclipseView* view = RicSelectOrCreateViewFeatureImpl::showViewSelection(m_case, "FlowCharacteristicsLastUsedView", "Show Region in View");
|
||||
|
||||
@ -377,7 +402,7 @@ void RimFlowCharacteristicsPlot::fieldChangedByUi(const caf::PdmFieldHandle* cha
|
||||
view->cellResult()->setFlowDiagTracerSelectionType(RimEclipseResultDefinition::FLOW_TR_BY_SELECTION);
|
||||
view->cellResult()->setSelectedTracers(m_selectedTracerNames);
|
||||
|
||||
if (m_cellSelection() == RigFlowDiagResults::CELLS_COMMUNICATION)
|
||||
if (m_cellFilter() == RigFlowDiagResults::CELLS_COMMUNICATION)
|
||||
{
|
||||
view->cellResult()->setResultVariable(RIG_FLD_COMMUNICATION_RESNAME);
|
||||
}
|
||||
@ -400,9 +425,9 @@ void RimFlowCharacteristicsPlot::fieldChangedByUi(const caf::PdmFieldHandle* cha
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!m_selectedTimeSteps().empty())
|
||||
if (!m_selectedTimeStepsUi().empty())
|
||||
{
|
||||
timeStep = m_selectedTimeSteps()[0];
|
||||
timeStep = m_selectedTimeStepsUi()[0];
|
||||
}
|
||||
}
|
||||
|
||||
@ -424,7 +449,7 @@ void RimFlowCharacteristicsPlot::fieldChangedByUi(const caf::PdmFieldHandle* cha
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (changedField == &m_cellSelection)
|
||||
else if (changedField == &m_cellFilter)
|
||||
{
|
||||
m_selectedTracerNames = std::vector<QString>();
|
||||
}
|
||||
@ -462,18 +487,13 @@ void RimFlowCharacteristicsPlot::loadDataAndUpdate()
|
||||
RigFlowDiagResults* flowResult = m_flowDiagSolution->flowDiagResults();
|
||||
std::vector<int> calculatedTimesteps = flowResult->calculatedTimeSteps(RigFlowDiagResultAddress::PHASE_ALL);
|
||||
|
||||
if (m_timeStepSelectionType == SELECT_AVAILABLE)
|
||||
if (m_timeStepSelectionType == SELECTED)
|
||||
{
|
||||
// Find set intersection of selected and available time steps
|
||||
std::set<int> calculatedTimeStepsSet;
|
||||
calculatedTimeStepsSet.insert(calculatedTimesteps.begin(), calculatedTimesteps.end());
|
||||
calculatedTimesteps.clear();
|
||||
|
||||
auto selectedTimeSteps = m_selectedTimeSteps();
|
||||
for (int tsIdx : selectedTimeSteps)
|
||||
for (int tsIdx : m_selectedTimeSteps())
|
||||
{
|
||||
if (calculatedTimeStepsSet.count(tsIdx)) calculatedTimesteps.push_back(tsIdx);
|
||||
m_flowDiagSolution()->flowDiagResults()->maxAbsPairFlux(tsIdx);
|
||||
}
|
||||
calculatedTimesteps = m_selectedTimeSteps();
|
||||
}
|
||||
|
||||
m_currentlyPlottedTimeSteps = calculatedTimesteps;
|
||||
@ -485,7 +505,7 @@ void RimFlowCharacteristicsPlot::loadDataAndUpdate()
|
||||
m_flowCharPlotWidget->removeAllCurves();
|
||||
|
||||
std::vector<QString> selectedTracerNames = m_selectedTracerNames();
|
||||
if (m_cellSelection() == RigFlowDiagResults::CELLS_ACTIVE)
|
||||
if (m_cellFilter() == RigFlowDiagResults::CELLS_ACTIVE)
|
||||
{
|
||||
if (m_flowDiagSolution)
|
||||
{
|
||||
@ -495,14 +515,14 @@ void RimFlowCharacteristicsPlot::loadDataAndUpdate()
|
||||
|
||||
for ( int timeStepIdx: calculatedTimesteps )
|
||||
{
|
||||
lorenzVals[timeStepIdx] = flowResult->flowCharacteristicsResults(timeStepIdx, m_cellSelection(), selectedTracerNames, m_maxPvFraction()).m_lorenzCoefficient;
|
||||
lorenzVals[timeStepIdx] = flowResult->flowCharacteristicsResults(timeStepIdx, m_cellFilter(), selectedTracerNames, m_maxPvFraction()).m_lorenzCoefficient;
|
||||
}
|
||||
m_flowCharPlotWidget->setLorenzCurve(timeStepStrings, timeStepDates, lorenzVals);
|
||||
|
||||
for ( int timeStepIdx: calculatedTimesteps )
|
||||
{
|
||||
|
||||
const auto flowCharResults = flowResult->flowCharacteristicsResults(timeStepIdx, m_cellSelection(), selectedTracerNames, m_maxPvFraction());
|
||||
const auto flowCharResults = flowResult->flowCharacteristicsResults(timeStepIdx, m_cellFilter(), selectedTracerNames, m_maxPvFraction());
|
||||
m_flowCharPlotWidget->addFlowCapStorageCapCurve(timeStepDates[timeStepIdx],
|
||||
flowCharResults.m_flowCapStorageCapCurve.first,
|
||||
flowCharResults.m_flowCapStorageCapCurve.second);
|
||||
|
@ -69,7 +69,7 @@ public:
|
||||
enum TimeSelectionType
|
||||
{
|
||||
ALL_AVAILABLE,
|
||||
SELECT_AVAILABLE
|
||||
SELECTED,
|
||||
};
|
||||
|
||||
protected:
|
||||
@ -90,11 +90,12 @@ private:
|
||||
caf::PdmPtrField<RimFlowDiagSolution*> m_flowDiagSolution;
|
||||
caf::PdmField<caf::AppEnum<TimeSelectionType> > m_timeStepSelectionType;
|
||||
caf::PdmField<std::vector<int> > m_selectedTimeSteps;
|
||||
caf::PdmField<std::vector<int> > m_selectedTimeStepsUi;
|
||||
caf::PdmField<bool> m_applyTimeSteps;
|
||||
caf::PdmField<bool> m_showLegend;
|
||||
caf::PdmField<double> m_maxPvFraction;
|
||||
|
||||
caf::PdmField<RigFlowDiagResults::CellSelectionEnum> m_cellSelection;
|
||||
caf::PdmField<RigFlowDiagResults::CellFilterEnum> m_cellFilter;
|
||||
caf::PdmField<QString> m_tracerFilter;
|
||||
caf::PdmField< std::vector<QString> > m_selectedTracerNames;
|
||||
caf::PdmField<bool> m_showRegion;
|
||||
|
@ -49,9 +49,10 @@ RimTofAccumulatedPhaseFractionsPlot::RimTofAccumulatedPhaseFractionsPlot()
|
||||
CAF_PDM_InitObject("Cumulative Saturation by Time of Flight", ":/WellAllocPie16x16.png", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_userName, "PlotDescription", QString("Cumulative Saturation by Time of Flight"), "Name", "", "", "");
|
||||
m_userName.uiCapability()->setUiReadOnly(true);
|
||||
m_userName.uiCapability()->setUiHidden(true);
|
||||
|
||||
CAF_PDM_InitField(&m_showPlotTitle, "ShowPlotTitle", true, "Show Plot Title", "", "", "");
|
||||
m_showPlotTitle.uiCapability()->setUiHidden(true);
|
||||
m_showWindow = false;
|
||||
}
|
||||
|
||||
|
@ -257,6 +257,7 @@ QStringList RimContextCommandBuilder::commandsFromSelection()
|
||||
else if (dynamic_cast<RimSummaryPlotCollection*>(uiItem))
|
||||
{
|
||||
commandIds << "RicPasteSummaryPlotFeature";
|
||||
commandIds << "RicPasteAsciiDataToSummaryPlotFeature";
|
||||
commandIds << "Separator";
|
||||
commandIds << "RicNewSummaryPlotFeature";
|
||||
}
|
||||
@ -287,6 +288,7 @@ QStringList RimContextCommandBuilder::commandsFromSelection()
|
||||
commandIds << "RicPasteSummaryCurveFeature";
|
||||
commandIds << "RicPasteSummaryCurveFilterFeature";
|
||||
commandIds << "RicPasteSummaryPlotFeature";
|
||||
commandIds << "RicPasteAsciiDataToSummaryPlotFeature";
|
||||
commandIds << "Separator";
|
||||
commandIds << "RicNewSummaryPlotFeature";
|
||||
commandIds << "RicNewSummaryCurveFilterFeature";
|
||||
|
@ -419,6 +419,14 @@ void RimPlotCurve::setSymbol(PointSymbolEnum symbolStyle)
|
||||
m_pointSymbol = symbolStyle;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimPlotCurve::setSymbolSkipDinstance(float distance)
|
||||
{
|
||||
m_symbolSkipPixelDistance = distance;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -70,6 +70,7 @@ public:
|
||||
cvf::Color3f color() const { return m_curveColor; }
|
||||
void setLineStyle(LineStyleEnum lineStyle);
|
||||
void setSymbol(PointSymbolEnum symbolStyle);
|
||||
void setSymbolSkipDinstance(float distance);
|
||||
void setLineThickness(int thickness);
|
||||
|
||||
bool isCurveVisible() const;
|
||||
|
@ -34,12 +34,12 @@
|
||||
namespace caf
|
||||
{
|
||||
template<>
|
||||
void RigFlowDiagResults::CellSelectionEnum::setUp()
|
||||
void RigFlowDiagResults::CellFilterEnum::setUp()
|
||||
{
|
||||
addItem(RigFlowDiagResults::CELLS_ACTIVE, "CELLS_ACTIVE", "Active cells");
|
||||
addItem(RigFlowDiagResults::CELLS_COMMUNICATION, "CELLS_COMMUNICATION", "Communication cells");
|
||||
addItem(RigFlowDiagResults::CELLS_FLOODED, "CELLS_FLOODED", "Flooded cells");
|
||||
addItem(RigFlowDiagResults::CELLS_DRAINED, "CELLS_DRAINED", "Drained cells");
|
||||
addItem(RigFlowDiagResults::CELLS_ACTIVE, "CELLS_ACTIVE", "All Active Cells");
|
||||
addItem(RigFlowDiagResults::CELLS_COMMUNICATION, "CELLS_COMMUNICATION", "Injector Producer Communication");
|
||||
addItem(RigFlowDiagResults::CELLS_FLOODED, "CELLS_FLOODED", "Flooded by Injector");
|
||||
addItem(RigFlowDiagResults::CELLS_DRAINED, "CELLS_DRAINED", "Drained by Producer");
|
||||
setDefault(RigFlowDiagResults::CELLS_ACTIVE);
|
||||
}
|
||||
}
|
||||
@ -692,7 +692,7 @@ std::vector<int> RigFlowDiagResults::calculatedTimeSteps(RigFlowDiagResultAddres
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame RigFlowDiagResults::flowCharacteristicsResults(int frameIndex,
|
||||
CellSelection cellSelection,
|
||||
CellFilter cellSelection,
|
||||
const std::vector<QString>& tracerNames,
|
||||
double max_pv_fraction)
|
||||
{
|
||||
|
@ -41,7 +41,7 @@ class RigFlowDiagResults: public cvf::Object
|
||||
{
|
||||
|
||||
public:
|
||||
enum CellSelection
|
||||
enum CellFilter
|
||||
{
|
||||
CELLS_ACTIVE,
|
||||
CELLS_COMMUNICATION,
|
||||
@ -49,7 +49,7 @@ public:
|
||||
CELLS_DRAINED
|
||||
};
|
||||
|
||||
typedef caf::AppEnum<CellSelection> CellSelectionEnum;
|
||||
typedef caf::AppEnum<CellFilter> CellFilterEnum;
|
||||
public:
|
||||
RigFlowDiagResults(RimFlowDiagSolution* flowSolution, size_t timeStepCount);
|
||||
virtual ~RigFlowDiagResults();
|
||||
@ -80,7 +80,7 @@ public:
|
||||
|
||||
|
||||
RigFlowDiagSolverInterface::FlowCharacteristicsResultFrame flowCharacteristicsResults(int frameIndex,
|
||||
CellSelection cellSelection,
|
||||
CellFilter cellSelection,
|
||||
const std::vector<QString>& tracerNames,
|
||||
double max_pv_fraction);
|
||||
|
||||
|
@ -85,8 +85,6 @@ RiuMainPlotWindow::RiuMainPlotWindow()
|
||||
|
||||
m_dragDropInterface = std::unique_ptr<caf::PdmUiDragDropInterface>(new RiuDragDrop());
|
||||
|
||||
initializeGuiNewProjectLoaded();
|
||||
|
||||
// Enabling the line below will activate the undo stack
|
||||
// When enableUndoCommandSystem is set false, all commands are executed and deleted immediately
|
||||
//caf::CmdExecCommandManager::instance()->enableUndoCommandSystem(true);
|
||||
|
Loading…
Reference in New Issue
Block a user