#5607 Saturation Pressure Plots : Add workaround for multi plot of SatNumPlots

This commit is contained in:
Magne Sjaastad
2020-03-19 15:19:25 +01:00
parent 9ef51a5e98
commit a828ccdfe4
5 changed files with 58 additions and 0 deletions

View File

@@ -26,6 +26,7 @@
#include "RimMultiPlotCollection.h"
#include "RimPlot.h"
#include "RimProject.h"
#include "RimSaturationPressurePlot.h"
#include "RiuPlotMainWindowTools.h"
#include <QAction>
@@ -68,6 +69,21 @@ caf::PdmScriptResponse RicNewMultiPlotFeature::execute()
for ( auto plot : plots )
{
auto copy = dynamic_cast<RimPlot*>( plot->copyByXmlSerialization( caf::PdmDefaultObjectFactory::instance() ) );
{
// TODO: Workaround for fixing the PdmPointer in RimEclipseResultDefinition
// caf::PdmPointer<RimEclipseCase> m_eclipseCase;
// This pdmpointer must be changed to a ptrField
auto saturationPressurePlotOriginal = dynamic_cast<RimSaturationPressurePlot*>( plot );
auto saturationPressurePlotCopy = dynamic_cast<RimSaturationPressurePlot*>( copy );
if ( saturationPressurePlotCopy && saturationPressurePlotOriginal )
{
RimSaturationPressurePlot::fixPointersAfterCopy( saturationPressurePlotOriginal,
saturationPressurePlotCopy );
}
}
plotWindow->addPlot( copy );
copy->resolveReferencesRecursively();