wxMaracasMultipleVolumeRendererManager Class Reference

#include <wxMaracasMultipleVolumeRendererManager.h>

List of all members.

Public Member Functions

 wxMaracasMultipleVolumeRendererManager ()
 ~wxMaracasMultipleVolumeRendererManager ()
void setRenderer (vtkRenderer *renderer)
vtkRenderer * getRenderer ()
int addVolume (int idTP, vtkImageData *img, std::string dataname) throw (char*)
vtkProp3D * getVolume (std::string filename)
vtkImageData * getImageData (std::string filename)
vtkImageData * getImageData ()
void addRemoveActor (int propid, bool addremove) throw (char*)
void checkInvariant () throw (char*)
void setVolumeOpacity (int propid, std::vector< double > greylevel, std::vector< double > value) throw (char*)
void setVolumeColor (int volid, std::vector< double > greylevel, std::vector< double > red, std::vector< double > green, std::vector< double > blue) throw (char*)
wxMaracasMultipleVolumeRendererManagerDatagetViewData (int id) throw (char*)
void changeCompositeMIPFunction (int id, int function) throw (char *)
void deleteActor (int volumeid) throw (char *)
void Update (int propid)
vtkPiecewiseFunction * GetTransferFunction (int volumeid)
vtkColorTransferFunction * GetColorFunction (int volumeid)

Private Attributes

std::vector
< wxMaracasMultipleVolumeRendererManagerData * > 
prop3Dvect
vtkRenderer * _renderer
vtkImageData * image
int _idCount

Detailed Description

Definition at line 31 of file wxMaracasMultipleVolumeRendererManager.h.


Constructor & Destructor Documentation

wxMaracasMultipleVolumeRendererManager::wxMaracasMultipleVolumeRendererManager (  ) 

Start of the manager class

Definition at line 24 of file wxMaracasMultipleVolumeRendererManager.cxx.

References _idCount, and _renderer.

00024                                                                               {
00025         _renderer = NULL;
00026         _idCount=0;
00027 }

wxMaracasMultipleVolumeRendererManager::~wxMaracasMultipleVolumeRendererManager (  ) 

Definition at line 28 of file wxMaracasMultipleVolumeRendererManager.cxx.

00028                                                                                {
00029 }


Member Function Documentation

void wxMaracasMultipleVolumeRendererManager::addRemoveActor ( int  propid,
bool  addremove 
) throw (char*)

adds or removes an actor depending of the bool value

Definition at line 84 of file wxMaracasMultipleVolumeRendererManager.cxx.

References wxMaracasMultipleVolumeRendererManagerData::getProp3D().

Referenced by wxMaracasMultipleVolumeRendererView::addRemoveActor(), wxMaracasRenderTabbedPanel::addRemoveActorV(), wxMaracasRenderTabbedPanel::addVolume(), and wxMaracasRenderTabbedPanel::onCheckBoxVChange().

00084                                                                                                    {
00085         checkInvariant();
00086         
00087         wxMaracasMultipleVolumeRendererManagerData* data = this->getViewData(propid);           
00088         if(data->getProp3D()!=NULL){
00089                 if(addremove){
00090                         _renderer->AddViewProp(data->getProp3D());
00091                 }else{
00092                         _renderer->RemoveViewProp(data->getProp3D());
00093                 }
00094                 _renderer->Render();
00095         }
00096         
00097 }

Here is the call graph for this function:

Here is the caller graph for this function:

int wxMaracasMultipleVolumeRendererManager::addVolume ( int  idTP,
vtkImageData *  vol,
std::string  dataname 
) throw (char*)

Adds a volume

Adds a prop3D to the manager and returns the identifier

Definition at line 57 of file wxMaracasMultipleVolumeRendererManager.cxx.

References wxMaracasMultipleVolumeRendererManagerData::getId(), wxMaracasMultipleVolumeRendererManagerData::getProp3D(), and wxMaracasMultipleVolumeRendererManagerData::setId().

Referenced by wxMaracasRenderTabbedPanel::addVolume(), and wxMaracasMultipleVolumeRendererView::addVolume().

00057                                                                                                                  {
00058         checkInvariant();
00059         image = vol;
00060         if(vol != NULL){
00061                 wxMaracasMultipleVolumeRendererManagerData* data = new wxMaracasMultipleVolumeRendererManagerData(vol, dataname);
00062                 prop3Dvect.push_back(data);
00063                 _renderer->AddActor(data->getProp3D());
00064                 if(idTP == -1)
00065                 {
00066                         data->setId(_idCount);
00067                         _idCount++;
00068                 }
00069                 else
00070                 {
00071                         data->setId(idTP);
00072                 }
00073                 printf("wxMaracasMultipleVolumeRendererManager::addVolume->idVolumeRenderer: %i\n", data->getId());
00074                 return data->getId();
00075         }else{
00076                 throw "Check mhd imagefile file or input";
00077         }
00078         return -1;
00079 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxMaracasMultipleVolumeRendererManager::changeCompositeMIPFunction ( int  id,
int  function 
) throw (char *)

Definition at line 201 of file wxMaracasMultipleVolumeRendererManager.cxx.

Referenced by wxMaracasMultipleVolumeRendererView::changeCompositeMIPFunction().

00201                                                                                                           {
00202         getViewData(id)->changeCompositeMIPFunction(function);
00203 }

Here is the caller graph for this function:

void wxMaracasMultipleVolumeRendererManager::checkInvariant (  )  throw (char*)

Check if the variables are setted correctly

Definition at line 148 of file wxMaracasMultipleVolumeRendererManager.cxx.

References _renderer.

00148                                                                          {
00149         if(this->_renderer==NULL){
00150                 throw "Renderer not set";
00151         }
00152 }

void wxMaracasMultipleVolumeRendererManager::deleteActor ( int  volumeid  )  throw (char *)

Deletes given actor

Definition at line 166 of file wxMaracasMultipleVolumeRendererManager.cxx.

Referenced by wxMaracasRenderTabbedPanel::deleteVolume(), and wxMaracasMultipleVolumeRendererView::deleteVolume().

00166                                                                                  {
00167         checkInvariant();       
00168 
00169         this->addRemoveActor(propid, false);
00170 
00171         int i,n;
00172         bool exit = false;
00173         for(i = 0; i < (int)(prop3Dvect.size())&&!exit;i++){
00174                 if(prop3Dvect[i]->getId() == propid){                   
00175                         n=i;
00176                         exit = true;
00177                 }
00178         }
00179         if(exit){
00180                 wxMaracasMultipleVolumeRendererManagerData* data = prop3Dvect[n];                       
00181                 int j;
00182                 for(j = i; j < (int)(prop3Dvect.size())-1;j++){
00183                         prop3Dvect[j] = prop3Dvect[j+1];
00184                 }               
00185                 delete data;
00186                 prop3Dvect.pop_back();
00187         }else{
00188                 throw "id not found in the data";
00189         }       
00190     
00191 }

Here is the caller graph for this function:

vtkColorTransferFunction * wxMaracasMultipleVolumeRendererManager::GetColorFunction ( int  volumeid  ) 

Definition at line 196 of file wxMaracasMultipleVolumeRendererManager.cxx.

References wxMaracasMultipleVolumeRendererManagerData::GetColorFunction(), and getViewData().

Referenced by wxMaracasRenderTabbedPanel::GetColorFunction(), and wxMaracasMultipleVolumeRendererView::GetColorFunction().

00196                                                                                               {
00197 
00198         return getViewData(volumeid)->GetColorFunction();
00199 }

Here is the call graph for this function:

Here is the caller graph for this function:

vtkImageData * wxMaracasMultipleVolumeRendererManager::getImageData (  ) 

Gets image data asotiated with the rendering manager

Definition at line 144 of file wxMaracasMultipleVolumeRendererManager.cxx.

References image.

00144                                                                   {     
00145         return image;
00146 }

vtkImageData * wxMaracasMultipleVolumeRendererManager::getImageData ( std::string  filename  ) 

loads a MHD file to convert it into an actor

Definition at line 124 of file wxMaracasMultipleVolumeRendererManager.cxx.

Referenced by wxMaracasRenderTabbedPanel::createControls(), wxMaracasRenderTabbedPanel::getVolImage(), wxMaracasMultipleVolumeRendererView::loadVolume(), wxMaracasMultipleVolumeRendererPanel::onViewImage(), and wxMaracasRenderImageTransformation::Translate().

00124                                                                                     {
00125         if(filename.compare("")!= 0){   
00126                 
00127                 vtkMetaImageReader* reader =  vtkMetaImageReader::New();        
00128                 reader->SetFileName(filename.c_str());
00129                 reader->Update();
00130                 vtkImageData* img = reader->GetOutput();        
00131 
00132                 vtkImageCast* cast = vtkImageCast::New(); 
00133                 cast->SetInput(img);
00134                 cast->SetOutputScalarTypeToUnsignedShort();
00135                 cast->Update();                 
00136                 //reader->Delete();
00137                 //img->Delete();
00138                 return cast->GetOutput();
00139                 //return img;
00140         }       
00141         return NULL;
00142 }

Here is the caller graph for this function:

vtkRenderer * wxMaracasMultipleVolumeRendererManager::getRenderer (  ) 

Gets the renderer to manage the prop3D from the view

Gets the renderer which manage the prop3D from the view

Definition at line 41 of file wxMaracasMultipleVolumeRendererManager.cxx.

References _renderer.

00041                                                                 {
00042         return _renderer;
00043 }

vtkPiecewiseFunction * wxMaracasMultipleVolumeRendererManager::GetTransferFunction ( int  volumeid  ) 

Definition at line 193 of file wxMaracasMultipleVolumeRendererManager.cxx.

References wxMaracasMultipleVolumeRendererManagerData::GetTransferFunction(), and getViewData().

Referenced by wxMaracasRenderTabbedPanel::GetTransferFunction(), and wxMaracasMultipleVolumeRendererView::GetTransferFunction().

00193                                                                                              {
00194         return getViewData(volumeid)->GetTransferFunction();
00195 }

Here is the call graph for this function:

Here is the caller graph for this function:

wxMaracasMultipleVolumeRendererManagerData * wxMaracasMultipleVolumeRendererManager::getViewData ( int  id  )  throw (char*)

Given an id search the data in the vector

Definition at line 154 of file wxMaracasMultipleVolumeRendererManager.cxx.

Referenced by GetColorFunction(), GetTransferFunction(), wxMaracasRenderImageTransformation::Refresh(), and Update().

00154                                                                                                                   {
00155     int i;
00156         for(i = 0; i < (int)(prop3Dvect.size());i++){
00157                 if(prop3Dvect[i]->getId() == id){
00158                         return prop3Dvect[i];
00159                 }
00160         }
00161         throw "id not found in the data";
00162 
00163         return NULL;
00164 }

Here is the caller graph for this function:

vtkProp3D* wxMaracasMultipleVolumeRendererManager::getVolume ( std::string  filename  ) 

loads a prop3D from a nSTL file

void wxMaracasMultipleVolumeRendererManager::setRenderer ( vtkRenderer *  renderer  ) 

Sets the renderer to manage the prop3D from the view

Definition at line 34 of file wxMaracasMultipleVolumeRendererManager.cxx.

References _renderer.

Referenced by wxMaracasRenderTabbedPanel::setRenderer(), and wxMaracasMultipleVolumeRendererView::setRenderer().

00034                                                                               {
00035         _renderer = renderer;
00036 }

Here is the caller graph for this function:

void wxMaracasMultipleVolumeRendererManager::setVolumeColor ( int  volid,
std::vector< double >  greylevel,
std::vector< double >  red,
std::vector< double >  green,
std::vector< double >  blue 
) throw (char*)

Set Volume Color

Definition at line 113 of file wxMaracasMultipleVolumeRendererManager.cxx.

Referenced by wxMaracasRenderTabbedPanel::SetValuesColorPointsFunction(), and wxMaracasMultipleVolumeRendererView::SetValuesColorPointsFunction().

00116                                                                                                    {
00117         checkInvariant();               
00118 
00119         this->getViewData(volid)->setVolumeColor(greylevel, red, green, blue);
00120         
00121         _renderer->Render();
00122 }

Here is the caller graph for this function:

void wxMaracasMultipleVolumeRendererManager::setVolumeOpacity ( int  propid,
std::vector< double >  greylevel,
std::vector< double >  value 
) throw (char*)

Set Volume Opacity

Changes the opacity in a prop3D

Definition at line 101 of file wxMaracasMultipleVolumeRendererManager.cxx.

Referenced by wxMaracasRenderTabbedPanel::SetValuesPointsFunction(), and wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction().

00101                                                                                                                                           {
00102         checkInvariant();               
00103 
00104         this->getViewData(propid)->setVolumeOpacity(greylevel, value);
00105         
00106         _renderer->Render();
00107 
00108 }

Here is the caller graph for this function:

void wxMaracasMultipleVolumeRendererManager::Update ( int  ppid  ) 

Updates given volume

Updates Volume

Definition at line 48 of file wxMaracasMultipleVolumeRendererManager.cxx.

References _renderer, getViewData(), and wxMaracasMultipleVolumeRendererManagerData::Update().

00048                                                            {
00049         wxMaracasMultipleVolumeRendererManagerData* data = this->getViewData(ppid);
00050         data->Update();
00051         _renderer->Render();
00052 }

Here is the call graph for this function:


Member Data Documentation

Definition at line 112 of file wxMaracasMultipleVolumeRendererManager.h.

Referenced by getImageData().

Definition at line 109 of file wxMaracasMultipleVolumeRendererManager.h.


The documentation for this class was generated from the following files:

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1