X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasMultipleVolumeRendererManager.cxx;h=c0690bdaf5b9fbaeff30e98082365758127abde1;hb=201c9ad0b300530ef664356626a529aa4d73863c;hp=f1d5f3659021208297968c1835222db679a7aedc;hpb=e4ef2b5df5aac431ff3b806f83b7dd5e55e89d86;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx index f1d5f36..c0690bd 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx @@ -41,6 +41,7 @@ =========================================================================*/ #include "wxMaracasMultipleVolumeRendererManager.h" +#include "vtkRenderWindow.h" #include #include /** @@ -73,7 +74,7 @@ vtkRenderer* wxMaracasMultipleVolumeRendererManager::getRenderer(){ void wxMaracasMultipleVolumeRendererManager::Update(int ppid){ wxMaracasMultipleVolumeRendererManagerData* data = this->getViewData(ppid); data->Update(); - _renderer->Render(); + _renderer->GetRenderWindow()->Render(); } /** @@ -106,7 +107,8 @@ int wxMaracasMultipleVolumeRendererManager::addVolume(int idTP, vtkImageData* vo ** adds or removes an actor depending of the bool value **/ -void wxMaracasMultipleVolumeRendererManager::addRemoveActor(int propid, bool addremove) throw(char*){ +void wxMaracasMultipleVolumeRendererManager::addRemoveActor(int propid, bool addremove) throw(char*) +{ checkInvariant(); wxMaracasMultipleVolumeRendererManagerData* data = this->getViewData(propid); @@ -116,19 +118,22 @@ void wxMaracasMultipleVolumeRendererManager::addRemoveActor(int propid, bool add }else{ _renderer->RemoveViewProp(data->getProp3D()); } - _renderer->Render(); + _renderer->GetRenderWindow()->Render(); } } + + /** ** Changes the opacity in a prop3D **/ -void wxMaracasMultipleVolumeRendererManager::setVolumeOpacity(int propid, std::vector greylevel,std::vector value) throw(char*){ +void wxMaracasMultipleVolumeRendererManager::setVolumeOpacity(int propid, std::vector greylevel,std::vector value) throw(char*) +{ checkInvariant(); this->getViewData(propid)->setVolumeOpacity(greylevel, value); - _renderer->Render(); + _renderer->GetRenderWindow()->Render(); } @@ -138,15 +143,18 @@ void wxMaracasMultipleVolumeRendererManager::setVolumeOpacity(int propid, std::v void wxMaracasMultipleVolumeRendererManager::setVolumeColor(int volid, std::vector greylevel, std::vector red, std::vector green, - std::vector blue)throw(char*){ + std::vector blue)throw(char*) +{ checkInvariant(); this->getViewData(volid)->setVolumeColor(greylevel, red, green, blue); - _renderer->Render(); + _renderer->GetRenderWindow()->Render(); } -vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(std::string filename){ + +vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(std::string filename) +{ if(filename.compare("")!= 0){ vtkMetaImageReader* reader = vtkMetaImageReader::New(); @@ -155,7 +163,13 @@ vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(std::string f vtkImageData* img = reader->GetOutput(); vtkImageCast* cast = vtkImageCast::New(); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 cast->SetInput(img); +#else + cast->SetInputData(img); +#endif + cast->SetOutputScalarTypeToUnsignedShort(); cast->Update(); //reader->Delete(); @@ -166,17 +180,23 @@ vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(std::string f return NULL; } -vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(){ + +vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData() +{ return image; } -void wxMaracasMultipleVolumeRendererManager::checkInvariant() throw(char*){ + +void wxMaracasMultipleVolumeRendererManager::checkInvariant() throw(char*) +{ if(this->_renderer==NULL){ throw "Renderer not set"; } } -wxMaracasMultipleVolumeRendererManagerData* wxMaracasMultipleVolumeRendererManager::getViewData(int id) throw(char*){ + +wxMaracasMultipleVolumeRendererManagerData* wxMaracasMultipleVolumeRendererManager::getViewData(int id) throw(char*) +{ int i; for(i = 0; i < (int)(prop3Dvect.size());i++){ if(prop3Dvect[i]->getId() == id){ @@ -188,7 +208,9 @@ wxMaracasMultipleVolumeRendererManagerData* wxMaracasMultipleVolumeRendererManag return NULL; } -void wxMaracasMultipleVolumeRendererManager::deleteActor(int propid) throw (char *){ + +void wxMaracasMultipleVolumeRendererManager::deleteActor(int propid) throw (char *) +{ checkInvariant(); this->addRemoveActor(propid, false); @@ -215,14 +237,22 @@ void wxMaracasMultipleVolumeRendererManager::deleteActor(int propid) throw (char } -vtkPiecewiseFunction* wxMaracasMultipleVolumeRendererManager::GetTransferFunction(int volumeid){ + +vtkPiecewiseFunction* wxMaracasMultipleVolumeRendererManager::GetTransferFunction(int volumeid) +{ return getViewData(volumeid)->GetTransferFunction(); } -vtkColorTransferFunction* wxMaracasMultipleVolumeRendererManager::GetColorFunction(int volumeid){ + + +vtkColorTransferFunction* wxMaracasMultipleVolumeRendererManager::GetColorFunction(int volumeid) +{ return getViewData(volumeid)->GetColorFunction(); } -void wxMaracasMultipleVolumeRendererManager::changeCompositeMIPFunction(int id, int function) throw (char *){ + +void wxMaracasMultipleVolumeRendererManager::changeCompositeMIPFunction(int id, int function) throw (char *) +{ getViewData(id)->changeCompositeMIPFunction(function); + Update(id); }