X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasSurfaceRendering.cxx;h=57beff0f15cd2caa35894d9e30f812864efd0cbc;hb=5a27c495a6c3899102f76eb029b6aadcee4121c1;hp=66a580b327cddef5d952173fd7c59ba1865902b8;hpb=062ae799e283a7de038b13d78eaf7d8495086378;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx index 66a580b..57beff0 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx @@ -3,8 +3,8 @@ Program: wxMaracas Module: $RCSfile: wxMaracasSurfaceRendering.cxx,v $ Language: C++ - Date: $Date: 2009/10/16 15:17:57 $ - Version: $Revision: 1.2 $ + Date: $Date: 2010/01/21 13:54:15 $ + Version: $Revision: 1.11 $ Copyright: (c) 2002, 2003 License: @@ -15,12 +15,9 @@ =========================================================================*/ - - // EOF - wxMaracasMPR.cxx #include "wxMaracasSurfaceRendering.h" -//#include "wxMaracasSurfaceRenderingPanel.h" #include "wxMaracasSurfaceRenderingProp3DMHD.h" #include "wxMaracasSurfaceRenderingProp3D.h" @@ -44,6 +41,7 @@ wxMaracasSurfaceRendering::wxMaracasSurfaceRendering( wxWindow* parent,std::stri std::string iconsdir = path; iconsdir+="/data/Icons"; this->_toolb = new ToolBar(this,iconsdir); + wxStaticText* txt = new wxStaticText(this, -1, wxString(_T(" Surface Rendering "))); wxAuiPaneInfo paneinfo; wxauimanager->AddPane(txt,paneinfo.ToolbarPane().Top()); @@ -53,7 +51,6 @@ wxMaracasSurfaceRendering::wxMaracasSurfaceRendering( wxWindow* parent,std::stri createFileChooser(); } wxMaracasSurfaceRendering::~wxMaracasSurfaceRendering( ){ - delete _toolb; } @@ -61,8 +58,6 @@ std::string wxMaracasSurfaceRendering::getPath(){ return _path; } - - void wxMaracasSurfaceRendering::createFileChooser(){ } @@ -82,16 +77,56 @@ void wxMaracasSurfaceRendering::setRenderer(vtkRenderer* renderer){ surrendmanager->setRenderer(renderer); } +void wxMaracasSurfaceRendering::setInteractor(vtkRenderWindowInteractor* interactor){ + surrendmanager->setInteractor(interactor); +} + void wxMaracasSurfaceRendering::addRemoveActor(int propid, bool addremove){ - surrendmanager->addRemoveActor(propid, addremove); + try{ + surrendmanager->addRemoveActor(propid, addremove); + } + catch(char* str){ + std::cout << "Exception : " << str << '\n'; + wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); + diag->ShowModal(); + delete diag; + } +} +void wxMaracasSurfaceRendering::addRemoveSurfaceBox(int propid, bool addremove){ + try{ + surrendmanager->addRemoveSurfaceBox(propid, addremove); + } + catch(char* str){ + std::cout << "Exception : " << str << '\n'; + wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); + diag->ShowModal(); + delete diag; + } } + void wxMaracasSurfaceRendering::changeOpacity(int _propid, int value){ - surrendmanager->changeOpacity(_propid,value); + try{ + surrendmanager->changeOpacity(_propid,value); + } + catch(char* str){ + std::cout << "Exception : " << str << '\n'; + wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); + diag->ShowModal(); + delete diag; + } } void wxMaracasSurfaceRendering::changeIsoValue(int propid, double value){ - surrendmanager->changeIsoValue(propid, value); + try{ + surrendmanager->changeIsoValue(propid, value); + } + catch(char* str){ + std::cout << "Exception : " << str << '\n'; + wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); + diag->ShowModal(); + delete diag; + } } void wxMaracasSurfaceRendering::changeColor(int propid, double red, double green, double blue){ @@ -119,14 +154,13 @@ void wxMaracasSurfaceRendering::onLoadImageFile(){ wxString filename = fildial->GetFilename(); wxString pathfile(fildial->GetDirectory() + _T("/") + filename); - if(filename.EndsWith(mhd)) { loadPropMHD(pathfile,filename); } - //else if(filename.EndsWith(stl)){ - //loadProp3D(pathfile,filename); - //} + else if(filename.EndsWith(stl)){ + loadProp3D(pathfile,filename); + } } delete fildial; } @@ -143,10 +177,10 @@ void wxMaracasSurfaceRendering::loadPropMHD(wxString filename, wxString dataname void wxMaracasSurfaceRendering::addPropMHD(vtkImageData* imgdata, std::string dataname){ try{ - int id = surrendmanager->addPropMHD(imgdata,dataname); + int id = surrendmanager->addPropMHD(-1, imgdata,dataname); if(id!=-1){ - wxMaracasSurfaceRenderingPanel* controlpan = new wxMaracasSurfaceRenderingProp3DMHD(this, id); + wxMaracasSurfaceRenderingPanel* controlpan = new wxMaracasSurfaceRenderingProp3DMHD(this, id, false, -1); int maxiso = surrendmanager->getMaxIsoValue(id); ((wxMaracasSurfaceRenderingProp3DMHD*)controlpan)->createControls(maxiso); addSurfaceRenderingPanel(controlpan, dataname); @@ -157,6 +191,7 @@ void wxMaracasSurfaceRendering::addPropMHD(vtkImageData* imgdata, std::string da std::cout << "Exception : " << str << '\n'; wxMessageDialog* diag = new wxMessageDialog(this, wxString( str,wxConvUTF8 ), wxString( str,wxConvUTF8 ), wxICON_ERROR); diag->ShowModal(); + delete diag; } } @@ -173,15 +208,16 @@ void wxMaracasSurfaceRendering::loadProp3D(wxString filename, wxString dataname) void wxMaracasSurfaceRendering::addProp3D(vtkProp3D* prop3D, std::string dataname){ try{ - int id = surrendmanager->addProp3D(prop3D,dataname); + int id = surrendmanager->addProp3D(-1, prop3D,dataname); if(id!=-1){ - wxMaracasSurfaceRenderingPanel* controlpan = new wxMaracasSurfaceRenderingProp3D(this, id); + wxMaracasSurfaceRenderingPanel* controlpan = new wxMaracasSurfaceRenderingProp3D(this, id, false, -1); addSurfaceRenderingPanel(controlpan, dataname); } }catch(char* str){ std::cout << "Exception : " << str << '\n'; wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); diag->ShowModal(); + delete diag; } } void wxMaracasSurfaceRendering::addSurfaceRenderingPanel(wxMaracasSurfaceRenderingPanel* surrend, std::string dataname){ @@ -194,12 +230,20 @@ void wxMaracasSurfaceRendering::addSurfaceRenderingPanel(wxMaracasSurfaceRenderi void wxMaracasSurfaceRendering::deleteActor(int propid){ try{ - //surrendmanager->deleteActor(propid); - }catch(char* e){ - + surrendmanager->deleteActor(propid); + }catch(char* str){ + //CPR + std::cout << "Exception : " << str << '\n'; + wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); + diag->ShowModal(); + delete diag; } } +bool wxMaracasSurfaceRendering::interactorSet(){ + return surrendmanager->interactorSet(); +} + /** ** **/