#3146 Summary plot. Ensemble color assignment fix. The appearance apply button now works for curve sets as well

This commit is contained in:
Bjørn Erik Jensen
2018-07-05 11:38:59 +02:00
parent 9db676f171
commit 1c28edf2cb
3 changed files with 25 additions and 4 deletions

View File

@@ -67,7 +67,12 @@ void RicNewSummaryEnsembleCurveSetFeature::onActionTriggered(bool isChecked)
{
RimEnsembleCurveSet* curveSet = new RimEnsembleCurveSet();
size_t colorIndex = plot->ensembleCurveSetCollection()->curveSetCount();
// Set single curve set color
auto allCurveSets = plot->ensembleCurveSetCollection()->curveSets();
size_t colorIndex = std::count_if(allCurveSets.begin(), allCurveSets.end(), [](RimEnsembleCurveSet* curveSet)
{
return curveSet->colorMode() == RimEnsembleCurveSet::SINGLE_COLOR;
});
curveSet->setColor(RiaColorTables::summaryCurveDefaultPaletteColors().cycledColor3f(colorIndex));
curveSet->legendConfig()->setColorRange(RimEnsembleCurveSetColorManager::cycledEnsembleColorRange(static_cast<int>(colorIndex)));

View File

@@ -437,12 +437,18 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(
curveSet->disableStatisticCurves();
curveSet->setSummaryCaseCollection(curveDef.ensemble());
curveSet->setSummaryAddress(curveDef.summaryAddress());
m_previewPlot->ensembleCurveSetCollection()->addCurveSet(curveSet);
// Set single curve set color
size_t colorIndex = m_previewPlot->ensembleCurveSetCollection()->curveSetCount();
auto allCurveSets = m_previewPlot->ensembleCurveSetCollection()->curveSets();
size_t colorIndex = std::count_if(allCurveSets.begin(), allCurveSets.end(), [](RimEnsembleCurveSet* curveSet)
{
return curveSet->colorMode() == RimEnsembleCurveSet::SINGLE_COLOR;
});
curveSet->setColor(RiaColorTables::summaryCurveDefaultPaletteColors().cycledColor3f(colorIndex));
// Add curve to plot
m_previewPlot->ensembleCurveSetCollection()->addCurveSet(curveSet);
if (m_previewPlot->ensembleCurveSetCollection()->curveSets().size() > 1 && ensembleCurveCnt > ENSEMBLE_CURVE_COUNT_THRESHOLD)
{
// Toggle off new curve set and display warning
@@ -767,11 +773,20 @@ void RicSummaryCurveCreator::applyAppearanceToAllPreviewCurves()
RimSummaryCurveAppearanceCalculator curveLookCalc(allCurveDefs, getAllSummaryCaseNames(), getAllSummaryWellNames());
initCurveAppearanceCalculator(curveLookCalc);
// Summary curves
for (auto& curve : m_previewPlot->summaryCurves())
{
curve->resetAppearance();
curveLookCalc.setupCurveLook(curve);
}
// Ensemble curve sets
int colorIndex = 0;
for (auto& curveSet : m_previewPlot->ensembleCurveSetCollection()->curveSets())
{
if (curveSet->colorMode() != RimEnsembleCurveSet::SINGLE_COLOR) continue;
curveSet->setColor(RiaColorTables::summaryCurveDefaultPaletteColors().cycledColor3f(colorIndex++));
}
}
//--------------------------------------------------------------------------------------------------