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=c1b7d6e874f1bfcac251e852ae37229c12c61656;hp=baf18a76f04eb363ce7a4e9e2cba2267a724d5d3;hpb=52134c6f15827d0ae9ea8cf0ffaa15867ab87dcc;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRendering.cxx index baf18a7..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/15 11:56:43 $ - Version: $Revision: 1.1 $ + 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()); @@ -51,21 +49,15 @@ wxMaracasSurfaceRendering::wxMaracasSurfaceRendering( wxWindow* parent,std::stri wxauimanager->Update(); createFileChooser(); - - } wxMaracasSurfaceRendering::~wxMaracasSurfaceRendering( ){ - delete _toolb; - } std::string wxMaracasSurfaceRendering::getPath(){ return _path; } - - void wxMaracasSurfaceRendering::createFileChooser(){ } @@ -85,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){ @@ -107,7 +139,6 @@ void wxMaracasSurfaceRendering::changeColor(int propid, double red, double green wxMessageDialog* diag = new wxMessageDialog(this, s, s, wxICON_ERROR); diag->ShowModal(); delete diag; - } } @@ -123,18 +154,17 @@ 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; - } + void wxMaracasSurfaceRendering::loadPropMHD(wxString filename, wxString dataname){ std::string s = std::string(filename.mb_str()); @@ -143,15 +173,14 @@ void wxMaracasSurfaceRendering::loadPropMHD(wxString filename, wxString dataname s = std::string(dataname.mb_str()); addPropMHD(img, s); } - } 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); @@ -162,7 +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; } } @@ -175,24 +204,21 @@ void wxMaracasSurfaceRendering::loadProp3D(wxString filename, wxString dataname) }else{ //TODO msj to the user indicating error in file } - - - } 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){ @@ -200,21 +226,23 @@ void wxMaracasSurfaceRendering::addSurfaceRenderingPanel(wxMaracasSurfaceRenderi wxAuiPaneInfo paneinfo; wxauimanager->AddPane(surrend, paneinfo.DefaultPane().Centre().DestroyOnClose().Caption(s)); wxauimanager->Update(); - - } 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(); +} /** ** @@ -223,8 +251,6 @@ void wxMaracasSurfaceRendering::deleteActor(int propid){ ToolBar::ToolBar(wxWindow * parent,std::string iconsdir) : wxToolBar(parent, -1, wxDefaultPosition, wxDefaultSize) { - - std::string iconfil = iconsdir; //iconfil+= "/OpenImage.png"; @@ -245,7 +271,6 @@ ToolBar::ToolBar(wxWindow * parent,std::string iconsdir) _evthand = new ToolBarEventHandler(); this->SetEventHandler(_evthand); - } ToolBar::~ToolBar(void){ @@ -254,6 +279,7 @@ ToolBar::~ToolBar(void){ ToolBarEventHandler::ToolBarEventHandler() : wxEvtHandler(){ } + ToolBarEventHandler::~ToolBarEventHandler(){ } @@ -262,7 +288,6 @@ void ToolBarEventHandler::onLoadImageFile(wxCommandEvent& event){ } - BEGIN_EVENT_TABLE(ToolBarEventHandler, wxEvtHandler) EVT_MENU(1, ToolBarEventHandler::onLoadImageFile) END_EVENT_TABLE()