X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasSurfaceRenderingManager.cxx;h=55aa4e63c607cb229604f5eb5550e7f870c86fd5;hb=8e51f74bc77447daf61b8e1caf7ab07ae235b578;hp=e2b114716094e351d1d1b6fb8412327c860d3a8c;hpb=bee98ac008a4469f1ce8cbf67d178ec8561e19c0;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManager.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManager.cxx index e2b1147..55aa4e6 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManager.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManager.cxx @@ -3,8 +3,8 @@ Program: wxMaracas Module: $RCSfile: wxMaracasSurfaceRenderingManager.cxx,v $ Language: C++ - Date: $Date: 2009/11/13 09:34:10 $ - Version: $Revision: 1.4 $ + Date: $Date: 2009/11/13 11:47:41 $ + Version: $Revision: 1.5 $ Copyright: (c) 2002, 2003 License: @@ -22,6 +22,7 @@ **/ wxMaracasSurfaceRenderingManager::wxMaracasSurfaceRenderingManager(){ _renderer = NULL; + _interactor = NULL; _idCount=0; } wxMaracasSurfaceRenderingManager::~wxMaracasSurfaceRenderingManager(){ @@ -34,6 +35,14 @@ void wxMaracasSurfaceRenderingManager::setRenderer(vtkRenderer* renderer){ _renderer = renderer; } +/** +** Sets the renderer to manage the prop3D from the surface render +**/ +void wxMaracasSurfaceRenderingManager::setInteractor(vtkRenderWindowInteractor* interactor){ + _interactor = interactor; +} + + /** ** Gets the renderer to manage the prop3D from the surface render **/ @@ -56,7 +65,7 @@ void wxMaracasSurfaceRenderingManager::Update(int pid)throw(char*){ int wxMaracasSurfaceRenderingManager::addProp3D(vtkProp3D* prop3D, std::string dataname) throw(char*){ checkInvariant(); if(prop3D != NULL){ - wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerData(prop3D, dataname); + wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerData(prop3D, dataname, _interactor); prop3Dvect.push_back(data); _renderer->AddActor(data->getProp3D()); data->setId(_idCount); @@ -71,7 +80,7 @@ int wxMaracasSurfaceRenderingManager::addPropMHD(vtkImageData* imagedata, std::s checkInvariant(); if(imagedata != NULL){ image = imagedata; - wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerDataMhd(imagedata, dataname); + wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerDataMhd(imagedata, dataname, _interactor); prop3Dvect.push_back(data); _renderer->AddActor(data->getProp3D()); data->setId(_idCount); @@ -99,6 +108,26 @@ void wxMaracasSurfaceRenderingManager::addRemoveActor(int propid, bool addremove _renderer->Render(); } } +/** +** adds or removes the surface box depending of the bool value +**/ +void wxMaracasSurfaceRenderingManager::addRemoveSurfaceBox(int propid, bool addremove) throw(char*){ + checkInvariant(); + + wxMaracasSurfaceRenderingManagerData* data = this->getViewData(propid); + if(data->getProp3D()!=NULL){ + data->addRemoveSurfaceBox(addremove); + /*if(addremove){ + data-> + _renderer->AddViewProp(data->getProp3D()); + }else{ + _renderer->RemoveViewProp(data->getProp3D()); + } + _renderer->Render();*/ + } + +} + /** ** Changes the opacity in a prop3D **/