X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasMultipleVolumeRendererManager.cxx;h=3b279a75b6c41453c6cbe4159fc76678eec96eb6;hb=f050938d3947f6b785289da6d58f8fec2da57421;hp=c95a8bc98f22f3ff23aa20456436863b4d55904c;hpb=0006c401e6399555e1cfa83989a3343ccce51813;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx index c95a8bc..3b279a7 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasMultipleVolumeRendererManager.cxx @@ -3,8 +3,8 @@ Program: wxMaracas Module: $RCSfile: wxMaracasMultipleVolumeRendererManager.cxx,v $ Language: C++ - Date: $Date: 2009/07/20 10:06:12 $ - Version: $Revision: 1.3 $ + Date: $Date: 2009/11/20 17:09:05 $ + Version: $Revision: 1.9 $ Copyright: (c) 2002, 2003 License: @@ -34,17 +34,43 @@ wxMaracasMultipleVolumeRendererManager::~wxMaracasMultipleVolumeRendererManager( void wxMaracasMultipleVolumeRendererManager::setRenderer(vtkRenderer* renderer){ _renderer = renderer; } + +/** +** Gets the renderer which manage the prop3D from the view +**/ +vtkRenderer* wxMaracasMultipleVolumeRendererManager::getRenderer(){ + return _renderer; +} + +/** +** Updates Volume +**/ +void wxMaracasMultipleVolumeRendererManager::Update(int ppid){ + wxMaracasMultipleVolumeRendererManagerData* data = this->getViewData(ppid); + data->Update(); + _renderer->Render(); +} + /** ** Adds a prop3D to the manager and returns the identifier **/ -int wxMaracasMultipleVolumeRendererManager::addVolume(vtkImageData* vol, std::string dataname) throw(char*){ +int wxMaracasMultipleVolumeRendererManager::addVolume(int idTP, vtkImageData* vol, std::string dataname) throw(char*){ checkInvariant(); + image = vol; if(vol != NULL){ wxMaracasMultipleVolumeRendererManagerData* data = new wxMaracasMultipleVolumeRendererManagerData(vol, dataname); - prop3Dvect.push_back(data); + prop3Dvect.push_back(data); _renderer->AddActor(data->getProp3D()); - data->setId(_idCount); - _idCount++; + if(idTP == -1) + { + data->setId(_idCount); + _idCount++; + } + else + { + data->setId(idTP); + } + printf("wxMaracasMultipleVolumeRendererManager::addVolume->idVolumeRenderer: %i\n", data->getId()); return data->getId(); }else{ throw "Check mhd imagefile file or input"; @@ -87,8 +113,7 @@ void wxMaracasMultipleVolumeRendererManager::setVolumeOpacity(int propid, std::v void wxMaracasMultipleVolumeRendererManager::setVolumeColor(int volid, std::vector greylevel, std::vector red, std::vector green, - std::vector blue) -{ + std::vector blue)throw(char*){ checkInvariant(); this->getViewData(volid)->setVolumeColor(greylevel, red, green, blue); @@ -116,6 +141,10 @@ vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(std::string f return NULL; } +vtkImageData* wxMaracasMultipleVolumeRendererManager::getImageData(){ + return image; +} + void wxMaracasMultipleVolumeRendererManager::checkInvariant() throw(char*){ if(this->_renderer==NULL){ throw "Renderer not set"; @@ -168,3 +197,7 @@ vtkColorTransferFunction* wxMaracasMultipleVolumeRendererManager::GetColorFuncti return getViewData(volumeid)->GetColorFunction(); } + +void wxMaracasMultipleVolumeRendererManager::changeCompositeMIPFunction(int id, int function) throw (char *){ + getViewData(id)->changeCompositeMIPFunction(function); +} \ No newline at end of file