mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Merged Well Communication Lines into dev
This commit is contained in:
commit
7f1d88e487
@ -92,13 +92,12 @@ QList<caf::PdmOptionItemInfo> RicSelectViewUI::calculateValueOptions(const caf::
|
|||||||
|
|
||||||
if (fieldNeedingOptions == &m_selectedView)
|
if (fieldNeedingOptions == &m_selectedView)
|
||||||
{
|
{
|
||||||
QIcon icon;
|
|
||||||
if (m_currentCase)
|
if (m_currentCase)
|
||||||
{
|
{
|
||||||
icon = m_currentCase->uiCapability()->uiIcon();
|
|
||||||
for (RimView* v : m_currentCase->views())
|
for (RimView* v : m_currentCase->views())
|
||||||
{
|
{
|
||||||
QString displayName = m_currentCase->caseUserDescription() + ": " + v->name;
|
QIcon icon = v->uiCapability()->uiIcon();
|
||||||
|
QString displayName = v->name;
|
||||||
|
|
||||||
options.push_back(caf::PdmOptionItemInfo(displayName, v, false, icon));
|
options.push_back(caf::PdmOptionItemInfo(displayName, v, false, icon));
|
||||||
}
|
}
|
||||||
|
@ -41,18 +41,12 @@ CAF_CMD_SOURCE_INIT(RicShowWellAllocationPlotFeature, "RicShowWellAllocationPlot
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RicShowWellAllocationPlotFeature::isCommandEnabled()
|
bool RicShowWellAllocationPlotFeature::isCommandEnabled()
|
||||||
{
|
{
|
||||||
RimView* activeView = RiaApplication::instance()->activeReservoirView();
|
std::vector<RimEclipseWell*> collection;
|
||||||
if (!activeView) return false;
|
caf::SelectionManager::instance()->objectsByType(&collection);
|
||||||
|
|
||||||
RimEclipseResultCase* eclCase = nullptr;
|
if (collection.size() > 0)
|
||||||
activeView->firstAncestorOrThisOfType(eclCase);
|
|
||||||
if (eclCase)
|
|
||||||
{
|
{
|
||||||
RimFlowDiagSolution* defaultFlowDiagSolution = eclCase->defaultFlowDiagSolution();
|
return true;
|
||||||
if (defaultFlowDiagSolution)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -58,8 +58,8 @@ namespace caf
|
|||||||
template<>
|
template<>
|
||||||
void AppEnum<RimWellAllocationPlot::FlowType>::setUp()
|
void AppEnum<RimWellAllocationPlot::FlowType>::setUp()
|
||||||
{
|
{
|
||||||
addItem(RimWellAllocationPlot::ACCUMULATED, "ACCUMULATED", "Well Flow");
|
addItem(RimWellAllocationPlot::ACCUMULATED, "ACCUMULATED", "Accumulated");
|
||||||
addItem(RimWellAllocationPlot::INFLOW, "INFLOW", "In Flow");
|
addItem(RimWellAllocationPlot::INFLOW, "INFLOW", "Inflow Rates");
|
||||||
setDefault(RimWellAllocationPlot::ACCUMULATED);
|
setDefault(RimWellAllocationPlot::ACCUMULATED);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,9 @@
|
|||||||
|
|
||||||
#include "qwt_plot.h"
|
#include "qwt_plot.h"
|
||||||
|
|
||||||
|
#include "cvfMath.h"
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
@ -152,10 +155,10 @@ void RimWellFlowRateCurve::updateCurveAppearance()
|
|||||||
void RimWellFlowRateCurve::updateStackedPlotData()
|
void RimWellFlowRateCurve::updateStackedPlotData()
|
||||||
{
|
{
|
||||||
RimWellLogPlot* wellLogPlot;
|
RimWellLogPlot* wellLogPlot;
|
||||||
firstAncestorOrThisOfType(wellLogPlot);
|
firstAncestorOrThisOfTypeAsserted(wellLogPlot);
|
||||||
|
|
||||||
RimWellLogTrack* wellLogTrack;
|
RimWellLogTrack* wellLogTrack;
|
||||||
firstAncestorOrThisOfType(wellLogTrack);
|
firstAncestorOrThisOfTypeAsserted(wellLogTrack);
|
||||||
|
|
||||||
bool isFirstTrack = (wellLogTrack == wellLogPlot->trackByIndex(0));
|
bool isFirstTrack = (wellLogTrack == wellLogPlot->trackByIndex(0));
|
||||||
|
|
||||||
@ -186,6 +189,29 @@ void RimWellFlowRateCurve::updateStackedPlotData()
|
|||||||
depthValues.insert(depthValues.begin(), depthValues[0]);
|
depthValues.insert(depthValues.begin(), depthValues[0]);
|
||||||
stackedValues.insert(stackedValues.begin(), 0.0);
|
stackedValues.insert(stackedValues.begin(), 0.0);
|
||||||
polyLineStartStopIndices.front().second += 1;
|
polyLineStartStopIndices.front().second += 1;
|
||||||
|
|
||||||
|
if (wellLogPlot->trackCount() > 1 && isFirstTrack)
|
||||||
|
{
|
||||||
|
// Add a dummy negative depth value to make the contribution
|
||||||
|
// from other branches connected to well head visible
|
||||||
|
|
||||||
|
double availableMinDepth;
|
||||||
|
double availableMaxDepth;
|
||||||
|
wellLogPlot->availableDepthRange(&availableMinDepth, &availableMaxDepth);
|
||||||
|
|
||||||
|
double depthSpan = 0.1 * cvf::Math::abs(availableMinDepth - availableMaxDepth);
|
||||||
|
|
||||||
|
// Round off value to floored decade
|
||||||
|
double logDecValue = log10(depthSpan);
|
||||||
|
logDecValue = cvf::Math::floor(logDecValue);
|
||||||
|
depthSpan = pow(10.0, logDecValue);
|
||||||
|
|
||||||
|
double dummyNegativeDepthValue = depthValues.back() - depthSpan;
|
||||||
|
|
||||||
|
depthValues.push_back(dummyNegativeDepthValue);
|
||||||
|
stackedValues.push_back(stackedValues.back());
|
||||||
|
polyLineStartStopIndices.front().second += 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add a dummy point for the zeroth connection to make the "end" distribution show better.
|
// Add a dummy point for the zeroth connection to make the "end" distribution show better.
|
||||||
@ -233,10 +259,11 @@ RimWellAllocationPlot* RimWellFlowRateCurve::wellAllocationPlot() const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimWellFlowRateCurve::setFlowValuesPrDepthValue(const QString& tracerName, const std::vector<double>& connectionNumbers, const std::vector<double>& flowRates)
|
void RimWellFlowRateCurve::setFlowValuesPrDepthValue(const QString& tracerName, const std::vector<double>& depthValues, const std::vector<double>& flowRates)
|
||||||
{
|
{
|
||||||
m_curveData = new RigWellLogCurveData;
|
m_curveData = new RigWellLogCurveData;
|
||||||
m_curveData->setValuesAndMD(flowRates, connectionNumbers, RimDefines::UNIT_NONE, false);
|
|
||||||
|
m_curveData->setValuesAndMD(flowRates, depthValues, RimDefines::UNIT_NONE, false);
|
||||||
|
|
||||||
m_tracerName = tracerName;
|
m_tracerName = tracerName;
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ public:
|
|||||||
RimWellFlowRateCurve();
|
RimWellFlowRateCurve();
|
||||||
virtual ~RimWellFlowRateCurve();
|
virtual ~RimWellFlowRateCurve();
|
||||||
|
|
||||||
void setFlowValuesPrDepthValue(const QString& tracerName , const std::vector<double>& connectionNumbers, const std::vector<double>& flowRates);
|
void setFlowValuesPrDepthValue(const QString& tracerName , const std::vector<double>& depthValues, const std::vector<double>& flowRates);
|
||||||
void updateStackedPlotData();
|
void updateStackedPlotData();
|
||||||
|
|
||||||
virtual QString wellName() const override;
|
virtual QString wellName() const override;
|
||||||
|
@ -22,12 +22,14 @@
|
|||||||
|
|
||||||
#include "RigCaseCellResultsData.h"
|
#include "RigCaseCellResultsData.h"
|
||||||
#include "RigEclipseCaseData.h"
|
#include "RigEclipseCaseData.h"
|
||||||
|
#include "RigFlowDiagResults.h"
|
||||||
#include "RigFormationNames.h"
|
#include "RigFormationNames.h"
|
||||||
|
|
||||||
#include "RimEclipseCase.h"
|
#include "RimEclipseCase.h"
|
||||||
#include "RimEclipsePropertyFilterCollection.h"
|
#include "RimEclipsePropertyFilterCollection.h"
|
||||||
#include "RimEclipseResultDefinition.h"
|
#include "RimEclipseResultDefinition.h"
|
||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
|
#include "RimFlowDiagSolution.h"
|
||||||
#include "RimReservoirCellResultsStorage.h"
|
#include "RimReservoirCellResultsStorage.h"
|
||||||
#include "RimViewController.h"
|
#include "RimViewController.h"
|
||||||
|
|
||||||
@ -37,8 +39,8 @@
|
|||||||
|
|
||||||
#include "cvfAssert.h"
|
#include "cvfAssert.h"
|
||||||
#include "cvfMath.h"
|
#include "cvfMath.h"
|
||||||
#include "RigFlowDiagResults.h"
|
|
||||||
#include "RimFlowDiagSolution.h"
|
#include <cmath> // Needed for HUGE_VAL on Linux
|
||||||
|
|
||||||
|
|
||||||
namespace caf
|
namespace caf
|
||||||
@ -74,6 +76,11 @@ RimEclipsePropertyFilter::RimEclipsePropertyFilter()
|
|||||||
resultDefinition.uiCapability()->setUiHidden(true);
|
resultDefinition.uiCapability()->setUiHidden(true);
|
||||||
resultDefinition.uiCapability()->setUiTreeChildrenHidden(true);
|
resultDefinition.uiCapability()->setUiTreeChildrenHidden(true);
|
||||||
|
|
||||||
|
CAF_PDM_InitField(&m_rangeLabelText, "Dummy_keyword", QString("Range Type"), "Range Type", "", "", "");
|
||||||
|
m_rangeLabelText.xmlCapability()->setIOReadable(false);
|
||||||
|
m_rangeLabelText.xmlCapability()->setIOWritable(false);
|
||||||
|
m_rangeLabelText.uiCapability()->setUiReadOnly(true);
|
||||||
|
|
||||||
CAF_PDM_InitField(&m_lowerBound, "LowerBound", 0.0, "Min", "", "", "");
|
CAF_PDM_InitField(&m_lowerBound, "LowerBound", 0.0, "Min", "", "", "");
|
||||||
m_lowerBound.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
|
m_lowerBound.uiCapability()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
|
||||||
|
|
||||||
@ -180,6 +187,8 @@ void RimEclipsePropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUi
|
|||||||
|
|
||||||
// Fields declared in RimCellFilter
|
// Fields declared in RimCellFilter
|
||||||
uiOrdering.add(&filterMode);
|
uiOrdering.add(&filterMode);
|
||||||
|
|
||||||
|
uiOrdering.add(&m_rangeLabelText);
|
||||||
|
|
||||||
if (resultDefinition->hasCategoryResult())
|
if (resultDefinition->hasCategoryResult())
|
||||||
{
|
{
|
||||||
@ -199,6 +208,7 @@ void RimEclipsePropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUi
|
|||||||
uiOrdering.setForgetRemainingFields(true);
|
uiOrdering.setForgetRemainingFields(true);
|
||||||
|
|
||||||
updateReadOnlyStateOfAllFields();
|
updateReadOnlyStateOfAllFields();
|
||||||
|
updateRangeLabel();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -226,9 +236,26 @@ void RimEclipsePropertyFilter::updateReadOnlyStateOfAllFields()
|
|||||||
objFields.push_back(&(resultDefinition->m_porosityModelUiField));
|
objFields.push_back(&(resultDefinition->m_porosityModelUiField));
|
||||||
objFields.push_back(&(resultDefinition->m_resultVariableUiField));
|
objFields.push_back(&(resultDefinition->m_resultVariableUiField));
|
||||||
|
|
||||||
for (size_t i = 0; i < objFields.size(); i++)
|
for (auto f : objFields)
|
||||||
{
|
{
|
||||||
objFields[i]->uiCapability()->setUiReadOnly(readOnlyState);
|
if (f == &m_rangeLabelText) continue;
|
||||||
|
|
||||||
|
f->uiCapability()->setUiReadOnly(readOnlyState);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimEclipsePropertyFilter::updateRangeLabel()
|
||||||
|
{
|
||||||
|
if (resultDefinition->resultType() == RimDefines::FLOW_DIAGNOSTICS)
|
||||||
|
{
|
||||||
|
m_rangeLabelText = "Current Timestep";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_rangeLabelText = "All Timesteps";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -237,7 +264,7 @@ void RimEclipsePropertyFilter::updateReadOnlyStateOfAllFields()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RimEclipsePropertyFilter::isPropertyFilterControlled()
|
bool RimEclipsePropertyFilter::isPropertyFilterControlled()
|
||||||
{
|
{
|
||||||
RimView* rimView = NULL;
|
RimView* rimView = nullptr;
|
||||||
firstAncestorOrThisOfType(rimView);
|
firstAncestorOrThisOfType(rimView);
|
||||||
CVF_ASSERT(rimView);
|
CVF_ASSERT(rimView);
|
||||||
|
|
||||||
@ -293,8 +320,8 @@ void RimEclipsePropertyFilter::computeResultValueRange()
|
|||||||
{
|
{
|
||||||
CVF_ASSERT(parentContainer());
|
CVF_ASSERT(parentContainer());
|
||||||
|
|
||||||
double min = 0.0;
|
double min = HUGE_VAL;
|
||||||
double max = 0.0;
|
double max = -HUGE_VAL;
|
||||||
|
|
||||||
clearCategories();
|
clearCategories();
|
||||||
|
|
||||||
@ -309,7 +336,7 @@ void RimEclipsePropertyFilter::computeResultValueRange()
|
|||||||
if ( resultDefinition->flowDiagSolution() )
|
if ( resultDefinition->flowDiagSolution() )
|
||||||
{
|
{
|
||||||
RigFlowDiagResults* results = resultDefinition->flowDiagSolution()->flowDiagResults();
|
RigFlowDiagResults* results = resultDefinition->flowDiagSolution()->flowDiagResults();
|
||||||
results->minMaxScalarValues(resAddr, timeStep, &max, &max);
|
results->minMaxScalarValues(resAddr, timeStep, &min, &max);
|
||||||
|
|
||||||
if ( resultDefinition->hasCategoryResult() )
|
if ( resultDefinition->hasCategoryResult() )
|
||||||
{
|
{
|
||||||
@ -352,6 +379,81 @@ void RimEclipsePropertyFilter::computeResultValueRange()
|
|||||||
m_upperBound.uiCapability()->setUiName(QString("Max (%1)").arg(max));
|
m_upperBound.uiCapability()->setUiName(QString("Max (%1)").arg(max));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimEclipsePropertyFilter::updateFromCurrentTimeStep()
|
||||||
|
{
|
||||||
|
if (resultDefinition->resultType() != RimDefines::FLOW_DIAGNOSTICS)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
double threshold = 1e-6;
|
||||||
|
bool followMin = false;
|
||||||
|
if (fabs(m_lowerBound - m_minimumResultValue) < threshold || m_minimumResultValue == HUGE_VAL)
|
||||||
|
{
|
||||||
|
followMin = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool followMax = false;
|
||||||
|
if (fabs(m_upperBound - m_maximumResultValue) < threshold || m_maximumResultValue == -HUGE_VAL)
|
||||||
|
{
|
||||||
|
followMax = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
double min = HUGE_VAL;
|
||||||
|
double max = -HUGE_VAL;
|
||||||
|
|
||||||
|
clearCategories();
|
||||||
|
|
||||||
|
RimView* view = nullptr;
|
||||||
|
this->firstAncestorOrThisOfTypeAsserted(view);
|
||||||
|
|
||||||
|
int timeStep = view->currentTimeStep();
|
||||||
|
RigFlowDiagResultAddress resAddr = resultDefinition->flowDiagResAddress();
|
||||||
|
if (resultDefinition->flowDiagSolution())
|
||||||
|
{
|
||||||
|
RigFlowDiagResults* results = resultDefinition->flowDiagSolution()->flowDiagResults();
|
||||||
|
results->minMaxScalarValues(resAddr, timeStep, &min, &max);
|
||||||
|
|
||||||
|
if (resultDefinition->hasCategoryResult())
|
||||||
|
{
|
||||||
|
setCategoryNames(resultDefinition->flowDiagSolution()->tracerNames());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (min == HUGE_VAL && max == -HUGE_VAL)
|
||||||
|
{
|
||||||
|
m_lowerBound.uiCapability()->setUiName(QString("Min (inf)"));
|
||||||
|
m_upperBound.uiCapability()->setUiName(QString("Max (inf)"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_maximumResultValue = max;
|
||||||
|
m_minimumResultValue = min;
|
||||||
|
|
||||||
|
if (followMin)
|
||||||
|
{
|
||||||
|
m_lowerBound = min;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (followMax)
|
||||||
|
{
|
||||||
|
m_upperBound = m_maximumResultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_lowerBound.uiCapability()->setUiName(QString("Min (%1)").arg(min));
|
||||||
|
m_upperBound.uiCapability()->setUiName(QString("Max (%1)").arg(max));
|
||||||
|
}
|
||||||
|
|
||||||
|
m_lowerBound.uiCapability()->updateConnectedEditors();
|
||||||
|
m_upperBound.uiCapability()->updateConnectedEditors();
|
||||||
|
|
||||||
|
updateFilterName();
|
||||||
|
this->name.uiCapability()->updateConnectedEditors();
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -53,11 +53,11 @@ public:
|
|||||||
void setToDefaultValues();
|
void setToDefaultValues();
|
||||||
void updateFilterName();
|
void updateFilterName();
|
||||||
void computeResultValueRange();
|
void computeResultValueRange();
|
||||||
|
void updateFromCurrentTimeStep();
|
||||||
|
|
||||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||||
virtual void initAfterRead();
|
virtual void initAfterRead();
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering);
|
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering);
|
||||||
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName);
|
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName);
|
||||||
@ -70,9 +70,11 @@ private:
|
|||||||
|
|
||||||
void updateActiveState();
|
void updateActiveState();
|
||||||
void updateReadOnlyStateOfAllFields();
|
void updateReadOnlyStateOfAllFields();
|
||||||
|
void updateRangeLabel();
|
||||||
bool isPropertyFilterControlled();
|
bool isPropertyFilterControlled();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
caf::PdmField<QString> m_rangeLabelText;
|
||||||
caf::PdmField<double> m_lowerBound;
|
caf::PdmField<double> m_lowerBound;
|
||||||
caf::PdmField<double> m_upperBound;
|
caf::PdmField<double> m_upperBound;
|
||||||
|
|
||||||
|
@ -167,3 +167,14 @@ void RimEclipsePropertyFilterCollection::updateIconState()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimEclipsePropertyFilterCollection::updateFromCurrentTimeStep()
|
||||||
|
{
|
||||||
|
for (RimEclipsePropertyFilter* cellFilter : propertyFilters())
|
||||||
|
{
|
||||||
|
cellFilter->updateFromCurrentTimeStep();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -51,6 +51,7 @@ public:
|
|||||||
void loadAndInitializePropertyFilters();
|
void loadAndInitializePropertyFilters();
|
||||||
|
|
||||||
void updateIconState();
|
void updateIconState();
|
||||||
|
void updateFromCurrentTimeStep();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Overridden methods
|
// Overridden methods
|
||||||
|
@ -471,6 +471,8 @@ void RimEclipseView::createDisplayModel()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimEclipseView::updateCurrentTimeStep()
|
void RimEclipseView::updateCurrentTimeStep()
|
||||||
{
|
{
|
||||||
|
m_propertyFilterCollection()->updateFromCurrentTimeStep();
|
||||||
|
|
||||||
updateLegends(); // To make sure the scalar mappers are set up correctly
|
updateLegends(); // To make sure the scalar mappers are set up correctly
|
||||||
|
|
||||||
std::vector<RivCellSetEnum> geometriesToRecolor;
|
std::vector<RivCellSetEnum> geometriesToRecolor;
|
||||||
|
@ -298,14 +298,8 @@ void RimView::scheduleCreateDisplayModelAndRedraw()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimView::setCurrentTimeStepAndUpdate(int frameIndex)
|
void RimView::setCurrentTimeStepAndUpdate(int frameIndex)
|
||||||
{
|
{
|
||||||
m_currentTimeStep = frameIndex;
|
setCurrentTimeStep(frameIndex);
|
||||||
clampCurrentTimestep();
|
|
||||||
|
|
||||||
this->hasUserRequestedAnimation = true;
|
|
||||||
if (this->propertyFilterCollection() && this->propertyFilterCollection()->hasActiveDynamicFilters())
|
|
||||||
{
|
|
||||||
m_currentReservoirCellVisibility = NULL;
|
|
||||||
}
|
|
||||||
this->updateCurrentTimeStep();
|
this->updateCurrentTimeStep();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
#include "cafPdmChildArrayField.h"
|
#include "cafPdmChildArrayField.h"
|
||||||
#include "cafPdmField.h"
|
#include "cafPdmField.h"
|
||||||
|
|
||||||
#include "cvfAssert.h"
|
#include "cafAssert.h"
|
||||||
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ void CmdAddItemFeature::onActionTriggered(bool isChecked)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CVF_ASSERT(0);
|
CAF_ASSERT(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,6 +69,10 @@ public:
|
|||||||
m_proxyDoubleField = 0;
|
m_proxyDoubleField = 0;
|
||||||
if (!(m_proxyDoubleField == 3)) { std::cout << "Double is not 3 " << std::endl; }
|
if (!(m_proxyDoubleField == 3)) { std::cout << "Double is not 3 " << std::endl; }
|
||||||
|
|
||||||
|
CAF_PDM_InitFieldNoDefault(&m_multiSelectList, "SelectedItems", " ", "", "", "");
|
||||||
|
m_multiSelectList.xmlCapability()->setIOReadable(false);
|
||||||
|
m_multiSelectList.xmlCapability()->setIOWritable(false);
|
||||||
|
m_multiSelectList.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -77,6 +81,9 @@ public:
|
|||||||
caf::PdmField<QString> m_textField;
|
caf::PdmField<QString> m_textField;
|
||||||
caf::PdmProxyValueField<double> m_proxyDoubleField;
|
caf::PdmProxyValueField<double> m_proxyDoubleField;
|
||||||
|
|
||||||
|
caf::PdmField<std::vector<QString> > m_multiSelectList;
|
||||||
|
|
||||||
|
|
||||||
caf::PdmField<bool> m_toggleField;
|
caf::PdmField<bool> m_toggleField;
|
||||||
virtual caf::PdmFieldHandle* objectToggleField()
|
virtual caf::PdmFieldHandle* objectToggleField()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user