mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Use vector instead of set to make to avoid sorting of quantities
The plot title for cross plots should use insertion order to make sure the title is displayed correctly
This commit is contained in:
parent
660051954a
commit
6e41ef8af9
@ -70,15 +70,16 @@ void RiaSummaryAddressAnalyzer::appendAddresses( const std::vector<RiaSummaryCur
|
||||
|
||||
for ( const auto& adr : addresses )
|
||||
{
|
||||
analyzeSingleAddress( adr.summaryAddressX() );
|
||||
// Use Y address first, to make sure the ordering of cross plot names is correct
|
||||
analyzeSingleAddress( adr.summaryAddressY() );
|
||||
analyzeSingleAddress( adr.summaryAddressX() );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::set<std::string> RiaSummaryAddressAnalyzer::quantities() const
|
||||
std::vector<std::string> RiaSummaryAddressAnalyzer::quantities() const
|
||||
{
|
||||
return m_quantities;
|
||||
}
|
||||
@ -445,7 +446,7 @@ void RiaSummaryAddressAnalyzer::computeQuantityNamesWithHistory() const
|
||||
{
|
||||
std::string correspondingHistoryCurve = correspondingHistorySummaryCurveName( s );
|
||||
|
||||
if ( m_quantities.find( correspondingHistoryCurve ) != m_quantities.end() )
|
||||
if ( std::find( m_quantities.begin(), m_quantities.end(), correspondingHistoryCurve ) != m_quantities.end() )
|
||||
{
|
||||
// Insert the curve name without H
|
||||
if ( RiaStdStringTools::endsWith( s, historyIdentifier ) )
|
||||
@ -488,7 +489,11 @@ void RiaSummaryAddressAnalyzer::analyzeSingleAddress( const RifEclipseSummaryAdd
|
||||
|
||||
if ( !address.vectorName().empty() )
|
||||
{
|
||||
m_quantities.insert( address.vectorName() );
|
||||
// The ordering of the quantities is used when creating titles of plots
|
||||
if ( std::find( m_quantities.begin(), m_quantities.end(), address.vectorName() ) == m_quantities.end() )
|
||||
{
|
||||
m_quantities.push_back( address.vectorName() );
|
||||
}
|
||||
}
|
||||
|
||||
if ( !address.groupName().empty() )
|
||||
|
@ -44,9 +44,9 @@ public:
|
||||
|
||||
void clear();
|
||||
|
||||
std::set<std::string> quantities() const;
|
||||
std::set<std::string> quantityNamesWithHistory() const;
|
||||
std::set<std::string> quantityNamesNoHistory() const;
|
||||
std::vector<std::string> quantities() const;
|
||||
std::set<std::string> quantityNamesWithHistory() const;
|
||||
std::set<std::string> quantityNamesNoHistory() const;
|
||||
|
||||
bool isSingleQuantityIgnoreHistory() const;
|
||||
|
||||
@ -93,7 +93,7 @@ private:
|
||||
static std::vector<std::vector<RifEclipseSummaryAddress>> valuesInMap( const std::multimap<int, RifEclipseSummaryAddress>& map );
|
||||
|
||||
private:
|
||||
std::set<std::string> m_quantities;
|
||||
std::vector<std::string> m_quantities;
|
||||
mutable std::set<std::string> m_quantitiesWithMatchingHistory;
|
||||
mutable std::set<std::string> m_quantitiesNoMatchingHistory;
|
||||
|
||||
|
@ -127,14 +127,14 @@ bool RimMultiSummaryPlotNameHelper::isCompletionInTitle() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::set<std::string> RimMultiSummaryPlotNameHelper::vectorNames() const
|
||||
std::vector<std::string> RimMultiSummaryPlotNameHelper::vectorNames() const
|
||||
{
|
||||
std::set<std::string> allNames;
|
||||
std::vector<std::string> allNames;
|
||||
|
||||
for ( auto nameHelper : m_nameHelpers )
|
||||
{
|
||||
auto nameHelperVectorNames = nameHelper->vectorNames();
|
||||
allNames.insert( nameHelperVectorNames.begin(), nameHelperVectorNames.end() );
|
||||
allNames.insert( allNames.end(), nameHelperVectorNames.begin(), nameHelperVectorNames.end() );
|
||||
}
|
||||
|
||||
return allNames;
|
||||
|
@ -40,8 +40,8 @@ public:
|
||||
bool isSegmentInTitle() const override;
|
||||
bool isCompletionInTitle() const override;
|
||||
|
||||
std::set<std::string> vectorNames() const override;
|
||||
QString caseName() const override;
|
||||
std::vector<std::string> vectorNames() const override;
|
||||
QString caseName() const override;
|
||||
|
||||
std::string titleVectorName() const override;
|
||||
std::string titleWellName() const override;
|
||||
|
@ -48,8 +48,8 @@ public:
|
||||
virtual bool isSegmentInTitle() const = 0;
|
||||
virtual bool isCompletionInTitle() const = 0;
|
||||
|
||||
virtual std::set<std::string> vectorNames() const = 0;
|
||||
virtual QString caseName() const = 0;
|
||||
virtual std::vector<std::string> vectorNames() const = 0;
|
||||
virtual QString caseName() const = 0;
|
||||
|
||||
virtual std::string titleVectorName() const = 0;
|
||||
virtual std::string titleWellName() const = 0;
|
||||
|
@ -207,6 +207,7 @@ public:
|
||||
|
||||
RimPlotAxisPropertiesInterface* axisPropertiesForPlotAxis( RiuPlotAxis plotAxis ) const;
|
||||
RimPlotAxisProperties* addNewAxisProperties( RiaDefines::PlotAxis, const QString& name );
|
||||
RimPlotAxisProperties* addNewAxisProperties( RiuPlotAxis plotAxis, const QString& name );
|
||||
void findOrAssignPlotAxisX( RimSummaryCurve* curve );
|
||||
|
||||
std::vector<RimPlotCurve*> visibleCurvesForLegend() override;
|
||||
@ -240,8 +241,6 @@ private:
|
||||
|
||||
void connectCurveToPlot( RimSummaryCurve* curve, bool update, bool autoAssignPlotAxis );
|
||||
|
||||
RimPlotAxisProperties* addNewAxisProperties( RiuPlotAxis plotAxis, const QString& name );
|
||||
|
||||
protected:
|
||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||
void childFieldChangedByUi( const caf::PdmFieldHandle* changedChildField ) override;
|
||||
@ -304,11 +303,10 @@ private:
|
||||
void assignYPlotAxis( RimSummaryCurve* curve );
|
||||
void assignXPlotAxis( RimSummaryCurve* curve );
|
||||
|
||||
RimSummaryCurve* addNewCurve( const RifEclipseSummaryAddress& address,
|
||||
RimSummaryCase* summaryCase,
|
||||
const RifEclipseSummaryAddress& addressX,
|
||||
RimSummaryCase* summaryCaseX );
|
||||
RimEnsembleCurveSet* addNewEnsembleCurve( const RiaSummaryCurveAddress& curveAddress, RimSummaryCaseCollection* ensemble );
|
||||
RimSummaryCurve* addNewCurve( const RifEclipseSummaryAddress& address,
|
||||
RimSummaryCase* summaryCase,
|
||||
const RifEclipseSummaryAddress& addressX,
|
||||
RimSummaryCase* summaryCaseX );
|
||||
|
||||
void updateStackedCurveData();
|
||||
bool updateStackedCurveDataForAxis( RiuPlotAxis plotAxis );
|
||||
|
@ -193,7 +193,7 @@ bool RimSummaryPlotNameHelper::isCompletionInTitle() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::set<std::string> RimSummaryPlotNameHelper::vectorNames() const
|
||||
std::vector<std::string> RimSummaryPlotNameHelper::vectorNames() const
|
||||
{
|
||||
return m_analyzer->quantities();
|
||||
}
|
||||
|
@ -61,8 +61,8 @@ public:
|
||||
bool isSegmentInTitle() const override;
|
||||
bool isCompletionInTitle() const override;
|
||||
|
||||
std::set<std::string> vectorNames() const override;
|
||||
QString caseName() const override;
|
||||
std::vector<std::string> vectorNames() const override;
|
||||
QString caseName() const override;
|
||||
|
||||
std::string titleVectorName() const override;
|
||||
std::string titleWellName() const override;
|
||||
|
Loading…
Reference in New Issue
Block a user