#1999 Curve calc. Curve creator now uses CurveDefSelection component

This commit is contained in:
Bjørn Erik Jensen
2017-10-23 11:41:16 +02:00
parent ec53855cd4
commit 8276d92ce7
10 changed files with 118 additions and 944 deletions

View File

@@ -19,6 +19,7 @@
#include "RimSummaryCurveAppearanceCalculator.h"
#include "RiaColorTables.h"
#include "RiaSummaryCurveDefinition.h"
#include "RimSummaryCurve.h"
#include "RimSummaryCase.h"
@@ -45,21 +46,21 @@ void caf::AppEnum< RimSummaryCurveAppearanceCalculator::CurveAppearanceType >::s
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimSummaryCurveAppearanceCalculator::RimSummaryCurveAppearanceCalculator(const std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> >& curveDefinitions, const std::set<std::string> allSummaryCaseNames, const std::set<std::string> allSummaryWellNames)
RimSummaryCurveAppearanceCalculator::RimSummaryCurveAppearanceCalculator(const std::set<RiaSummaryCurveDefinition>& curveDefinitions, const std::set<std::string> allSummaryCaseNames, const std::set<std::string> allSummaryWellNames)
{
m_allSummaryCaseNames = allSummaryCaseNames;
m_allSummaryWellNames = allSummaryWellNames;
for(const std::pair<RimSummaryCase*, RifEclipseSummaryAddress>& curveDef : curveDefinitions)
for(const RiaSummaryCurveDefinition& curveDef : curveDefinitions)
{
if(curveDef.first) m_caseToAppearanceIdxMap[curveDef.first] = -1;
if(!curveDef.second.wellName().empty()) m_welToAppearanceIdxMap[curveDef.second.wellName()] = -1;
if(!curveDef.second.wellGroupName().empty()) m_grpToAppearanceIdxMap[curveDef.second.wellGroupName()] = -1;
if(!(curveDef.second.regionNumber() == -1)) m_regToAppearanceIdxMap[curveDef.second.regionNumber()] = -1;
if(curveDef.summaryCase()) m_caseToAppearanceIdxMap[curveDef.summaryCase()] = -1;
if(!curveDef.summaryAddress().wellName().empty()) m_welToAppearanceIdxMap[curveDef.summaryAddress().wellName()] = -1;
if(!curveDef.summaryAddress().wellGroupName().empty()) m_grpToAppearanceIdxMap[curveDef.summaryAddress().wellGroupName()] = -1;
if(!(curveDef.summaryAddress().regionNumber() == -1)) m_regToAppearanceIdxMap[curveDef.summaryAddress().regionNumber()] = -1;
if(!curveDef.second.quantityName().empty())
if(!curveDef.summaryAddress().quantityName().empty())
{
std::string varname = curveDef.second.quantityName();
std::string varname = curveDef.summaryAddress().quantityName();
m_varToAppearanceIdxMap[varname] = -1;
// Indexes for sub color ranges

View File

@@ -27,11 +27,12 @@
class RimSummaryCurve;
class RimSummaryCase;
class RifEclipseSummaryAddress;
class RiaSummaryCurveDefinition;
class RimSummaryCurveAppearanceCalculator
{
public:
explicit RimSummaryCurveAppearanceCalculator(const std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> >& curveDefinitions,
explicit RimSummaryCurveAppearanceCalculator(const std::set<RiaSummaryCurveDefinition>& curveDefinitions,
const std::set<std::string> allSummaryCaseNames,
const std::set<std::string> allSummaryWellNames);
enum CurveAppearanceType

View File

@@ -19,6 +19,7 @@
#include "RimSummaryCurveFilter.h"
#include "RiaApplication.h"
#include "RiaSummaryCurveDefinition.h"
#include "RifReaderEclipseSummary.h"
@@ -140,7 +141,7 @@ void RimSummaryCurveFilter::createDefaultCurves(RimSummaryCase* summaryCase, con
m_summaryFilter->setCompleteVarStringFilter(defaultCurveStringFilter);
std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> > newCurveDefinitions;
std::set<RiaSummaryCurveDefinition> newCurveDefinitions;
createSetOfCasesAndResultAdresses(selectedCases, *m_summaryFilter, &newCurveDefinitions);
@@ -355,7 +356,7 @@ void RimSummaryCurveFilter::syncCurvesFromUiSelection()
{
// Create a search map containing whats supposed to be curves
std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> > newCurveDefinitions;
std::set<RiaSummaryCurveDefinition> newCurveDefinitions;
// Populate the newCurveDefinitions from the Gui
@@ -372,7 +373,7 @@ void RimSummaryCurveFilter::syncCurvesFromUiSelection()
if(!reader->hasAddress(addr)) continue;
if (addrUnion.count(addr) == 0 ) continue; // Wash the possible "old" ui selection with new filter
newCurveDefinitions.insert(std::make_pair(currentCase, addr));
newCurveDefinitions.insert(RiaSummaryCurveDefinition(currentCase, addr));
}
}
@@ -522,7 +523,7 @@ void RimSummaryCurveFilter::removeCurvesAssosiatedWithCase(RimSummaryCase* summa
void RimSummaryCurveFilter::createSetOfCasesAndResultAdresses(
const std::vector<RimSummaryCase*>& cases,
const RimSummaryFilter& filter,
std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> >* curveDefinitions) const
std::set<RiaSummaryCurveDefinition>* curveDefinitions) const
{
for (RimSummaryCase* currentCase : cases)
{
@@ -536,7 +537,7 @@ void RimSummaryCurveFilter::createSetOfCasesAndResultAdresses(
{
if (!filter.isIncludedByFilter(allAddresses[i])) continue;
curveDefinitions->insert(std::make_pair(currentCase, allAddresses[i]));
curveDefinitions->insert(RiaSummaryCurveDefinition(currentCase, allAddresses[i]));
}
}
}
@@ -545,7 +546,7 @@ void RimSummaryCurveFilter::createSetOfCasesAndResultAdresses(
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveFilter::createCurvesFromCurveDefinitions(const std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> >& curveDefinitions)
void RimSummaryCurveFilter::createCurvesFromCurveDefinitions(const std::set<RiaSummaryCurveDefinition>& curveDefinitions)
{
RimSummaryCase* prevCase = nullptr;
RimPlotCurve::LineStyleEnum lineStyle = RimPlotCurve::STYLE_SOLID;
@@ -582,12 +583,12 @@ void RimSummaryCurveFilter::createCurvesFromCurveDefinitions(const std::set<std:
for (auto& caseAddrPair : curveDefinitions)
{
RimSummaryCase* currentCase = caseAddrPair.first;
RimSummaryCase* currentCase = caseAddrPair.summaryCase();
RimSummaryCurve* curve = new RimSummaryCurve();
curve->setParentQwtPlotNoReplot(m_parentQwtPlot);
curve->setSummaryCase(currentCase);
curve->setSummaryAddress(caseAddrPair.second);
curve->setSummaryAddress(caseAddrPair.summaryAddress());
curve->setYAxis(m_plotAxis());
curve->applyCurveAutoNameSettings(*m_curveNameConfig());

View File

@@ -41,7 +41,7 @@ class RimSummaryCurve;
class RimSummaryFilter;
class RiuLineSegmentQwtPlotCurve;
class RimSummaryCurveAutoName;
class RiaSummaryCurveDefinition;
@@ -81,14 +81,14 @@ public:
private:
void syncCurvesFromUiSelection();
void createCurvesFromCurveDefinitions(const std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> >& curveDefinitions);
void createCurvesFromCurveDefinitions(const std::set<RiaSummaryCurveDefinition>& curveDefinitions);
void syncUiSelectionFromCurves();
std::set<RifEclipseSummaryAddress> findPossibleSummaryAddresses();
void createSetOfCasesAndResultAdresses(
const std::vector<RimSummaryCase*>& cases,
const RimSummaryFilter& filter,
std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> >* curveDefinitions) const;
std::set<RiaSummaryCurveDefinition>* curveDefinitions) const;
// Overridden PDM methods
virtual caf::PdmFieldHandle* objectToggleField() override;