From 33a3896817686e7a644cdc8ba35bbf8983d0ce80 Mon Sep 17 00:00:00 2001 From: rnv Date: Thu, 15 Jan 2009 12:34:02 +0000 Subject: [PATCH] Fix for issue 0020114: EDF VISU 918(Impossible to create a new clipping plane on field presentation). --- src/VISUGUI/VisuGUI_ClippingDlg.cxx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/VISUGUI/VisuGUI_ClippingDlg.cxx b/src/VISUGUI/VisuGUI_ClippingDlg.cxx index ce140e61..0312ffd7 100644 --- a/src/VISUGUI/VisuGUI_ClippingDlg.cxx +++ b/src/VISUGUI/VisuGUI_ClippingDlg.cxx @@ -27,6 +27,7 @@ #include "VISU_Prs3d_i.hh" #include "VISU_Result_i.hh" +#include "VISU_ColoredPrs3dHolder_i.hh" #include "VISU_PipeLine.hxx" #include "VISU_DataSetActor.h" @@ -648,7 +649,19 @@ void VisuGUI_ClippingDlg::onSelectionChanged() if (!anIO.IsNull()) myIO = anIO; - SetPrs3d(dynamic_cast(aBase)); + //---- + // rnv: fix for issue 0020114 (EDF VISU 918 : Impossible to + // create a new clipping plane on field presentation) + // set last visited presentation from holder as myPrs3d + VISU::ColoredPrs3dHolder_i* aHolder = dynamic_cast(aBase); + VISU::Prs3d_i* aPrs3d = NULL; + if(aHolder) + aPrs3d = aHolder->GetPrs3dDevice(); + else + aPrs3d = dynamic_cast(aBase); + //---- + + SetPrs3d(aPrs3d); if (myPrs3d) { std::for_each(myPlanes.begin(),myPlanes.end(),TSetVisiblity(false)); myPlanes.clear(); -- 2.39.2