mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3276 Make curve data source more robust.
This commit is contained in:
parent
9262873846
commit
655803601e
@ -78,6 +78,22 @@ void RimWellLogCurveCommonDataSource::setCaseToApply(RimCase* val)
|
||||
m_case = val;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimWellLogCurveCommonDataSource::trajectoryTypeToApply() const
|
||||
{
|
||||
return m_trajectoryType();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogCurveCommonDataSource::setTrajectoryTypeToApply(int val)
|
||||
{
|
||||
m_trajectoryType = val;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -94,6 +110,38 @@ void RimWellLogCurveCommonDataSource::setWellPathToApply(RimWellPath* val)
|
||||
m_wellPath = val;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimWellLogCurveCommonDataSource::branchIndexToApply() const
|
||||
{
|
||||
return m_branchIndex;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogCurveCommonDataSource::setBranchIndexToApply(int val)
|
||||
{
|
||||
m_branchIndex = val;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::Tristate RimWellLogCurveCommonDataSource::branchDetectionToApply() const
|
||||
{
|
||||
return m_branchDetection.v();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogCurveCommonDataSource::setBranchDetectionToApply(caf::Tristate::State val)
|
||||
{
|
||||
m_branchDetection.v() = val;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -102,6 +150,14 @@ QString RimWellLogCurveCommonDataSource::simWellNameToApply() const
|
||||
return m_simWellName();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogCurveCommonDataSource::setSimWellNameToApply(const QString& val)
|
||||
{
|
||||
m_simWellName = val;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -118,11 +174,27 @@ void RimWellLogCurveCommonDataSource::setTimeStepToApply(int val)
|
||||
m_timeStep = val;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogCurveCommonDataSource::resetDefaultOptions()
|
||||
{
|
||||
setCaseToApply(nullptr);
|
||||
setTrajectoryTypeToApply(-1);
|
||||
setWellPathToApply(nullptr);
|
||||
setBranchIndexToApply(-1);
|
||||
setBranchDetectionToApply(caf::Tristate::State::PartiallyTrue);
|
||||
setSimWellNameToApply(QString(""));
|
||||
setTimeStepToApply(-1);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellLogCurveCommonDataSource::updateDefaultOptions(const std::vector<RimWellLogCurve*>& curves)
|
||||
{
|
||||
// Reset all options in the UI
|
||||
resetDefaultOptions();
|
||||
|
||||
// Check to see if the parameters are unique
|
||||
std::set<RimCase*> uniqueCases;
|
||||
@ -135,6 +207,7 @@ void RimWellLogCurveCommonDataSource::updateDefaultOptions(const std::vector<Rim
|
||||
for (RimWellLogCurve* curve : curves)
|
||||
{
|
||||
RimWellLogExtractionCurve* extractionCurve = dynamic_cast<RimWellLogExtractionCurve*>(curve);
|
||||
RimWellLogFileCurve* fileCurve = dynamic_cast<RimWellLogFileCurve*>(curve);
|
||||
if (extractionCurve)
|
||||
{
|
||||
uniqueCases.insert(extractionCurve->rimCase());
|
||||
@ -145,16 +218,18 @@ void RimWellLogCurveCommonDataSource::updateDefaultOptions(const std::vector<Rim
|
||||
uniqueBranchDetection.insert(extractionCurve->branchDetection());
|
||||
uniqueBranchIndex.insert(extractionCurve->branchIndex());
|
||||
}
|
||||
else if (fileCurve)
|
||||
{
|
||||
uniqueWellPaths.insert(fileCurve->wellPath());
|
||||
uniqueWellNames.insert(fileCurve->wellName());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (uniqueCases.size() == 1u)
|
||||
{
|
||||
setCaseToApply(*uniqueCases.begin());
|
||||
}
|
||||
else
|
||||
{
|
||||
setCaseToApply(nullptr);
|
||||
}
|
||||
|
||||
if (uniqueTrajectoryTypes.size() == 1u)
|
||||
{
|
||||
@ -164,44 +239,25 @@ void RimWellLogCurveCommonDataSource::updateDefaultOptions(const std::vector<Rim
|
||||
{
|
||||
setWellPathToApply(*uniqueWellPaths.begin());
|
||||
}
|
||||
else
|
||||
if (uniqueBranchIndex.size() == 1u)
|
||||
{
|
||||
setWellPathToApply(nullptr);
|
||||
setBranchIndexToApply(*uniqueBranchIndex.begin());
|
||||
}
|
||||
|
||||
if (uniqueWellNames.size() == 1u)
|
||||
{
|
||||
m_simWellName = *uniqueWellNames.begin();
|
||||
|
||||
if (uniqueBranchDetection.size() == 1u)
|
||||
{
|
||||
m_branchDetection.v() = *uniqueBranchDetection.begin() == true ?
|
||||
caf::Tristate::State::True : caf::Tristate::State::False;
|
||||
setBranchDetectionToApply(*uniqueBranchDetection.begin() == true ?
|
||||
caf::Tristate::State::True : caf::Tristate::State::False);
|
||||
}
|
||||
else
|
||||
if (uniqueWellNames.size() == 1u)
|
||||
{
|
||||
m_branchDetection.v() = caf::Tristate::State::PartiallyTrue;
|
||||
setSimWellNameToApply(*uniqueWellNames.begin());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_simWellName = QString("");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
setWellPathToApply(nullptr);
|
||||
m_simWellName = QString("");
|
||||
}
|
||||
|
||||
if (uniqueTimeSteps.size() == 1u)
|
||||
{
|
||||
setTimeStepToApply(*uniqueTimeSteps.begin());
|
||||
}
|
||||
else
|
||||
{
|
||||
setTimeStepToApply(-1);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -460,11 +516,11 @@ void RimWellLogCurveCommonDataSource::defineUiOrdering(QString uiConfigName, caf
|
||||
if (eclipseCase)
|
||||
{
|
||||
group->add(&m_trajectoryType);
|
||||
if (m_trajectoryType() == RimWellLogExtractionCurve::WELL_PATH)
|
||||
if (trajectoryTypeToApply() == RimWellLogExtractionCurve::WELL_PATH)
|
||||
{
|
||||
group->add(&m_wellPath);
|
||||
}
|
||||
else
|
||||
else if (trajectoryTypeToApply() == RimWellLogExtractionCurve::SIMULATION_WELL)
|
||||
{
|
||||
group->add(&m_simWellName);
|
||||
if (RiaSimWellBranchTools::simulationWellBranches(m_simWellName(), true).size() > 1)
|
||||
|
@ -31,8 +31,6 @@ class RimWellLogCurve;
|
||||
class RimWellLogPlot;
|
||||
class RimWellPath;
|
||||
|
||||
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
//==================================================================================================
|
||||
@ -45,11 +43,20 @@ public:
|
||||
|
||||
RimCase* caseToApply() const;
|
||||
void setCaseToApply(RimCase* val);
|
||||
int trajectoryTypeToApply() const;
|
||||
void setTrajectoryTypeToApply(int val);
|
||||
RimWellPath* wellPathToApply() const;
|
||||
void setWellPathToApply(RimWellPath* val);
|
||||
int branchIndexToApply() const;
|
||||
void setBranchIndexToApply(int val);
|
||||
caf::Tristate branchDetectionToApply() const;
|
||||
void setBranchDetectionToApply(caf::Tristate::State val);
|
||||
QString simWellNameToApply() const;
|
||||
void setSimWellNameToApply(const QString& val);
|
||||
int timeStepToApply() const;
|
||||
void setTimeStepToApply(int val);
|
||||
|
||||
void resetDefaultOptions();
|
||||
void updateDefaultOptions(const std::vector<RimWellLogCurve*>& curves);
|
||||
void updateDefaultOptions();
|
||||
void updateCurves(std::vector<RimWellLogCurve*>& curves);
|
||||
|
Loading…
Reference in New Issue
Block a user