mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Correlation Matrix Plot
This commit is contained in:
@@ -52,40 +52,6 @@
|
||||
#include <limits>
|
||||
#include <map>
|
||||
|
||||
class RimCurveDefinitionAnalyser
|
||||
{
|
||||
public:
|
||||
RimCurveDefinitionAnalyser( std::vector<RiaSummaryCurveDefinition> curveDefs )
|
||||
{
|
||||
for ( const auto& curveDef : curveDefs )
|
||||
{
|
||||
CVF_ASSERT( !curveDef.isEnsembleCurve() );
|
||||
if ( curveDef.summaryCase() )
|
||||
{
|
||||
m_singleSummaryCases.insert( curveDef.summaryCase() );
|
||||
|
||||
if ( curveDef.summaryCase()->ensemble() )
|
||||
{
|
||||
m_ensembles.insert( curveDef.summaryCase()->ensemble() );
|
||||
}
|
||||
|
||||
RifEclipseSummaryAddress address = curveDef.summaryAddress();
|
||||
|
||||
m_quantityNames.insert( address.quantityName() );
|
||||
|
||||
address.setQuantityName( "" );
|
||||
if ( !address.itemUiText().empty() ) m_summaryItems.insert( address );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::set<RimSummaryCase*> m_singleSummaryCases; // All summary cases used
|
||||
std::set<RimSummaryCaseCollection*> m_ensembles; // All the ensembles referenced by the summary cases
|
||||
|
||||
std::set<RifEclipseSummaryAddress> m_summaryItems; // Quantity name set to "", stores only the identifiers
|
||||
std::set<std::string> m_quantityNames; // Quantity names from the addresses
|
||||
};
|
||||
|
||||
namespace caf
|
||||
{
|
||||
template <>
|
||||
@@ -233,7 +199,7 @@ std::set<RifEclipseSummaryAddress> RimAnalysisPlot::unfilteredAddresses()
|
||||
{
|
||||
std::set<RifEclipseSummaryAddress> addresses;
|
||||
|
||||
RimCurveDefinitionAnalyser* analyserOfSelectedCurveDefs = getOrCreateSelectedCurveDefAnalyser();
|
||||
RiaSummaryCurveDefinitionAnalyser* analyserOfSelectedCurveDefs = getOrCreateSelectedCurveDefAnalyser();
|
||||
|
||||
for ( RimSummaryCase* sumCase : analyserOfSelectedCurveDefs->m_singleSummaryCases )
|
||||
{
|
||||
@@ -251,7 +217,7 @@ std::set<EnsembleParameter> RimAnalysisPlot::ensembleParameters()
|
||||
{
|
||||
std::set<EnsembleParameter> ensembleParms;
|
||||
|
||||
RimCurveDefinitionAnalyser* analyserOfSelectedCurveDefs = getOrCreateSelectedCurveDefAnalyser();
|
||||
RiaSummaryCurveDefinitionAnalyser* analyserOfSelectedCurveDefs = getOrCreateSelectedCurveDefAnalyser();
|
||||
|
||||
std::set<RimSummaryCaseCollection*> ensembles;
|
||||
|
||||
@@ -584,8 +550,8 @@ QList<caf::PdmOptionItemInfo> RimAnalysisPlot::calculateValueOptions( const caf:
|
||||
|
||||
if ( !m_analyserOfSelectedCurveDefs )
|
||||
{
|
||||
m_analyserOfSelectedCurveDefs = std::unique_ptr<RimCurveDefinitionAnalyser>(
|
||||
new RimCurveDefinitionAnalyser( this->curveDefinitionsWithoutEnsembleReference() ) );
|
||||
m_analyserOfSelectedCurveDefs = std::unique_ptr<RiaSummaryCurveDefinitionAnalyser>(
|
||||
new RiaSummaryCurveDefinitionAnalyser( this->curveDefinitionsWithoutEnsembleReference() ) );
|
||||
}
|
||||
|
||||
if ( fieldNeedingOptions == &m_addTimestepUiField )
|
||||
@@ -703,8 +669,8 @@ void RimAnalysisPlot::onLoadDataAndUpdate()
|
||||
{
|
||||
updateMdiWindowVisibility();
|
||||
|
||||
m_analyserOfSelectedCurveDefs = std::unique_ptr<RimCurveDefinitionAnalyser>(
|
||||
new RimCurveDefinitionAnalyser( this->curveDefinitionsWithoutEnsembleReference() ) );
|
||||
m_analyserOfSelectedCurveDefs = std::unique_ptr<RiaSummaryCurveDefinitionAnalyser>(
|
||||
new RiaSummaryCurveDefinitionAnalyser( this->curveDefinitionsWithoutEnsembleReference() ) );
|
||||
|
||||
if ( m_plotWidget )
|
||||
{
|
||||
@@ -1607,12 +1573,12 @@ void RimAnalysisPlot::updatePlotTitle()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimCurveDefinitionAnalyser* RimAnalysisPlot::getOrCreateSelectedCurveDefAnalyser()
|
||||
RiaSummaryCurveDefinitionAnalyser* RimAnalysisPlot::getOrCreateSelectedCurveDefAnalyser()
|
||||
{
|
||||
if ( !m_analyserOfSelectedCurveDefs )
|
||||
{
|
||||
m_analyserOfSelectedCurveDefs = std::unique_ptr<RimCurveDefinitionAnalyser>(
|
||||
new RimCurveDefinitionAnalyser( this->curveDefinitionsWithoutEnsembleReference() ) );
|
||||
m_analyserOfSelectedCurveDefs = std::unique_ptr<RiaSummaryCurveDefinitionAnalyser>(
|
||||
new RiaSummaryCurveDefinitionAnalyser( this->curveDefinitionsWithoutEnsembleReference() ) );
|
||||
}
|
||||
|
||||
return m_analyserOfSelectedCurveDefs.get();
|
||||
|
||||
@@ -32,7 +32,7 @@ class RiuSummaryQwtPlot;
|
||||
class RiuGroupedBarChartBuilder;
|
||||
|
||||
class RimAnalysisPlotDataEntry;
|
||||
class RimCurveDefinitionAnalyser;
|
||||
class RiaSummaryCurveDefinitionAnalyser;
|
||||
class RimPlotAxisPropertiesInterface;
|
||||
class RimPlotAxisProperties;
|
||||
class RimPlotDataFilterCollection;
|
||||
@@ -151,7 +151,7 @@ private:
|
||||
void addDataToChartBuilder( RiuGroupedBarChartBuilder& chartBuilder );
|
||||
void updatePlotTitle();
|
||||
|
||||
RimCurveDefinitionAnalyser* getOrCreateSelectedCurveDefAnalyser();
|
||||
RiaSummaryCurveDefinitionAnalyser* getOrCreateSelectedCurveDefAnalyser();
|
||||
std::vector<RiaSummaryCurveDefinition> curveDefinitionsWithoutEnsembleReference() const;
|
||||
std::vector<RiaSummaryCurveDefinition> curveDefinitionsWithEmbeddedEnsembleReference();
|
||||
std::vector<RiaSummaryCurveDefinition> filteredCurveDefs();
|
||||
@@ -167,7 +167,7 @@ private:
|
||||
void buildTestPlot( RiuGroupedBarChartBuilder& chartBuilder );
|
||||
|
||||
private:
|
||||
std::unique_ptr<RimCurveDefinitionAnalyser> m_analyserOfSelectedCurveDefs;
|
||||
std::unique_ptr<RiaSummaryCurveDefinitionAnalyser> m_analyserOfSelectedCurveDefs;
|
||||
|
||||
QPointer<RiuQwtPlotWidget> m_plotWidget;
|
||||
|
||||
|
||||
@@ -39,6 +39,10 @@ RimAnalysisPlotDataEntry::RimAnalysisPlotDataEntry()
|
||||
m_summaryCase.uiCapability()->setUiTreeChildrenHidden( true );
|
||||
m_summaryCase.uiCapability()->setAutoAddingOptionFromValue( false );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_ensemble, "Ensemble", "Ensemble", "", "", "" );
|
||||
m_ensemble.uiCapability()->setUiTreeChildrenHidden( true );
|
||||
m_ensemble.uiCapability()->setAutoAddingOptionFromValue( false );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_summaryAddress, "SummaryAddress", "Summary Address", "", "", "" );
|
||||
m_summaryAddress.uiCapability()->setUiHidden( true );
|
||||
m_summaryAddress.uiCapability()->setUiTreeChildrenHidden( true );
|
||||
@@ -58,9 +62,14 @@ RimAnalysisPlotDataEntry::~RimAnalysisPlotDataEntry()
|
||||
void RimAnalysisPlotDataEntry::setFromCurveDefinition( const RiaSummaryCurveDefinition& curveDef )
|
||||
{
|
||||
m_summaryAddress->setAddress( curveDef.summaryAddress() );
|
||||
CVF_ASSERT( !curveDef.ensemble() ); // We will not support definitions of ensemble curves. Only single cases that
|
||||
// might be part of an ensemble
|
||||
m_summaryCase = curveDef.summaryCase();
|
||||
if ( curveDef.ensemble() )
|
||||
{
|
||||
m_ensemble = curveDef.ensemble();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_summaryCase = curveDef.summaryCase();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -68,6 +77,10 @@ void RimAnalysisPlotDataEntry::setFromCurveDefinition( const RiaSummaryCurveDefi
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiaSummaryCurveDefinition RimAnalysisPlotDataEntry::curveDefinition() const
|
||||
{
|
||||
if ( m_ensemble )
|
||||
{
|
||||
return RiaSummaryCurveDefinition( nullptr, m_summaryAddress->address(), m_ensemble() );
|
||||
}
|
||||
return RiaSummaryCurveDefinition( m_summaryCase(), m_summaryAddress->address(), nullptr );
|
||||
}
|
||||
|
||||
@@ -79,6 +92,14 @@ RimSummaryCase* RimAnalysisPlotDataEntry::summaryCase() const
|
||||
return m_summaryCase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryCaseCollection* RimAnalysisPlotDataEntry::ensemble() const
|
||||
{
|
||||
return m_ensemble;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -39,10 +39,12 @@ public:
|
||||
void setFromCurveDefinition( const RiaSummaryCurveDefinition& curveDef );
|
||||
RiaSummaryCurveDefinition curveDefinition() const;
|
||||
|
||||
RimSummaryCase* summaryCase() const;
|
||||
RifEclipseSummaryAddress summaryAddress() const;
|
||||
RimSummaryCase* summaryCase() const;
|
||||
RimSummaryCaseCollection* ensemble() const;
|
||||
RifEclipseSummaryAddress summaryAddress() const;
|
||||
|
||||
private:
|
||||
caf::PdmPtrField<RimSummaryCase*> m_summaryCase;
|
||||
caf::PdmChildField<RimSummaryAddress*> m_summaryAddress;
|
||||
caf::PdmPtrField<RimSummaryCase*> m_summaryCase;
|
||||
caf::PdmPtrField<RimSummaryCaseCollection*> m_ensemble;
|
||||
caf::PdmChildField<RimSummaryAddress*> m_summaryAddress;
|
||||
};
|
||||
|
||||
@@ -36,7 +36,7 @@ class RiuSummaryQwtPlot;
|
||||
class RiuGroupedBarChartBuilder;
|
||||
|
||||
class RimAnalysisPlotDataEntry;
|
||||
class RimCurveDefinitionAnalyser;
|
||||
class RiaSummaryCurveDefinitionAnalyser;
|
||||
class RimPlotAxisPropertiesInterface;
|
||||
class RimPlotAxisProperties;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user