// $Header: /home/server/cvs/VISU/VISU_SRC/src/VISUGUI/VisuGUI_Displayer.cxx
#include "VisuGUI_Displayer.h"
-#include "VVTK_ViewModel.h"
+
#include "VisuGUI_Tools.h"
+#include "VISU_ViewManager_i.hh"
#include "VISU_Actor.h"
+#include "VVTK_ViewModel.h"
+
#include <SVTK_ViewModel.h>
#include <SVTK_ViewWindow.h>
#include <SalomeApp_Application.h>
#include <SalomeApp_Study.h>
-#include "VISU_ViewManager_i.hh"
+#include <SUIT_MessageBox.h>
VisuGUI_Displayer::VisuGUI_Displayer( SalomeApp_Application* app )
: LightApp_Displayer(),
if( CORBA::is_nil( anObj ) )
return 0;
- SVTK_Viewer* vtk_viewer = dynamic_cast<SVTK_Viewer*>( aViewFrame );
+ SVTK_Viewer* vtk_viewer = dynamic_cast<VVTK_Viewer*>( aViewFrame );
+ if (!vtk_viewer)
+ vtk_viewer = dynamic_cast<SVTK_Viewer*>( aViewFrame );
if( vtk_viewer )
{
SVTK_ViewWindow* wnd =
void VisuGUI_Displayer::buildPrs3d( SVTK_ViewWindow* wnd, VISU::Prs3d_i* thePrs ) const
{
- VISU_Actor* newAct = VISU::FindActor( wnd, thePrs );
- if( !newAct )
- {
- newAct = thePrs->CreateActor();
+ VISU_Actor* newAct = VISU::FindActor(wnd, thePrs);
+ if (!newAct) {
+ try {
+ newAct = thePrs->CreateActor();
+ } catch (std::runtime_error& exc) {
+ thePrs->RemoveActors();
+
+ INFOS(exc.what());
+ SUIT_MessageBox::warn1
+ (myApp->desktop(), QObject::tr("WRN_VISU"),
+ QObject::tr("ERR_CANT_BUILD_PRESENTATION") + ": " + QObject::tr(exc.what()),
+ QObject::tr("BUT_OK"));
+ }
}
- if( newAct )
- {
- wnd->AddActor( newAct );
+ if (newAct) {
+ wnd->AddActor(newAct);
wnd->Repaint();
}
}