#include <wxMaracasMultipleVolumeRendererView.h>
Public Member Functions | |
wxMaracasMultipleVolumeRendererView (wxWindow *parent, std::string path) | |
~wxMaracasMultipleVolumeRendererView () | |
void | setRenderer (vtkRenderer *renderer) |
void | addVolume (vtkImageData *img, std::string dataname="") |
void | loadVolume (wxString filename, wxString dataname) |
void | onLoadImageFile () |
void | addVolumeRendererPanel (wxMaracasMultipleVolumeRendererPanel *irmview, std::string dataname="") |
std::string | getPath () |
void | deleteVolume (int volid) |
void | addRemoveActor (int id, bool remove) |
void | SetValuesColorPointsFunction (int volid, std::vector< double > greylevelcolors, std::vector< double > red, std::vector< double > green, std::vector< double > blue) |
void | SetValuesPointsFunction (int volid, std::vector< double > greylevel, std::vector< double > values) |
void | addVolumeViewPanel (wxMaracasMultipleVolumeRendererPanel *irmview, std::string dataname) |
vtkPiecewiseFunction * | GetTransferFunction (int volumeid) |
vtkColorTransferFunction * | GetColorFunction (int volumeid) |
Static Public Member Functions | |
static wxMaracasMultipleVolumeRendererView * | getInstance (wxWindow *parent, std::string path="") |
static wxMaracasMultipleVolumeRendererView * | getInstance () |
Private Attributes | |
wxMaracasMultipleVolumeRendererManager * | volmanager |
wxAuiManager * | wxauimanager |
std::string | _path |
wxToolBar * | _toolb |
Static Private Attributes | |
static wxMaracasMultipleVolumeRendererView * | instance = NULL |
Definition at line 33 of file wxMaracasMultipleVolumeRendererView.h.
wxMaracasMultipleVolumeRendererView::wxMaracasMultipleVolumeRendererView | ( | wxWindow * | parent, | |
std::string | path | |||
) |
Definition at line 33 of file wxMaracasMultipleVolumeRendererView.cxx.
References _path, _toolb, volmanager, and wxauimanager.
Referenced by getInstance().
00034 : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){ 00035 00036 wxauimanager = new wxAuiManager(this); 00037 00038 _path = path; 00039 00040 volmanager = new wxMaracasMultipleVolumeRendererManager(); 00041 std::string iconsdir = path; 00042 iconsdir+="/data/Icons"; 00043 this->_toolb = new ToolBarMultipleVolumeRenderer(this,iconsdir); 00044 wxAuiPaneInfo paneinfo; 00045 wxauimanager->AddPane(_toolb,paneinfo.ToolbarPane().Top()); 00046 00047 wxauimanager->Update(); 00048 00049 }
wxMaracasMultipleVolumeRendererView::~wxMaracasMultipleVolumeRendererView | ( | ) |
Definition at line 50 of file wxMaracasMultipleVolumeRendererView.cxx.
References _toolb.
00050 { 00051 00052 delete _toolb; 00053 00054 }
wxMaracasMultipleVolumeRendererView * wxMaracasMultipleVolumeRendererView::getInstance | ( | wxWindow * | parent, | |
std::string | path = "" | |||
) | [static] |
Definition at line 60 of file wxMaracasMultipleVolumeRendererView.cxx.
References instance, and wxMaracasMultipleVolumeRendererView().
00060 { 00061 if(instance==NULL){ 00062 instance = new wxMaracasMultipleVolumeRendererView(parent,path); 00063 } 00064 return instance; 00065 }
wxMaracasMultipleVolumeRendererView * wxMaracasMultipleVolumeRendererView::getInstance | ( | ) | [static] |
Definition at line 67 of file wxMaracasMultipleVolumeRendererView.cxx.
References instance.
Referenced by wxMaracasMultipleVolumeRendererPanel::createControls(), wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange(), ToolBarEventHandlerMultipleVolumeRenderer::onLoadImageFile(), wxMaracasMultipleVolumeRendererPanel::updateVolume(), and wxMaracasMultipleVolumeRendererPanel::~wxMaracasMultipleVolumeRendererPanel().
00067 { 00068 return instance; 00069 }
void wxMaracasMultipleVolumeRendererView::setRenderer | ( | vtkRenderer * | renderer | ) |
Definition at line 71 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::setRenderer(), and volmanager.
00071 { 00072 volmanager->setRenderer(renderer); 00073 }
void wxMaracasMultipleVolumeRendererView::addVolume | ( | vtkImageData * | img, | |
std::string | dataname = "" | |||
) |
Definition at line 107 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::addVolume(), addVolumeViewPanel(), wxMaracasMultipleVolumeRendererPanel::updateVolume(), and volmanager.
Referenced by loadVolume().
00107 { 00108 00109 try{ 00110 int id = volmanager->addVolume(img,dataname); 00111 if(id!=-1){ 00112 wxMaracasMultipleVolumeRendererPanel* controlpan = new wxMaracasMultipleVolumeRendererPanel(this, id,img); 00113 addVolumeViewPanel(controlpan, dataname); 00114 controlpan->updateVolume(); 00115 } 00116 }catch(char* str){ 00117 std::cout << "Exception : " << str << '\n'; 00118 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); 00119 diag->ShowModal(); 00120 } 00121 }
void wxMaracasMultipleVolumeRendererView::loadVolume | ( | wxString | filename, | |
wxString | dataname | |||
) |
Definition at line 123 of file wxMaracasMultipleVolumeRendererView.cxx.
References addVolume(), wxMaracasMultipleVolumeRendererManager::getImageData(), and volmanager.
Referenced by onLoadImageFile().
00123 { 00124 00125 std::string s = std::string(filename.mb_str()); 00126 vtkImageData* img = volmanager->getImageData(s); 00127 if(img!=NULL){ 00128 s = std::string(dataname.mb_str()); 00129 addVolume(img, s); 00130 } 00131 00132 }
void wxMaracasMultipleVolumeRendererView::onLoadImageFile | ( | ) |
Definition at line 79 of file wxMaracasMultipleVolumeRendererView.cxx.
References loadVolume().
Referenced by ToolBarEventHandlerMultipleVolumeRenderer::onLoadImageFile().
00079 { 00080 00081 wxString mhd(_T("mhd")); 00082 00083 wxFileDialog* fildial = new wxFileDialog(this, wxString(_T("Select a MHD file")),wxString(_T("")), 00084 wxString(_T("")),wxString(_T("MHD files (*.mhd)|*.mhd")) ); 00085 00086 if(fildial->ShowModal()==wxID_OK){ 00087 wxString filename = fildial->GetFilename(); 00088 wxString pathfile(fildial->GetDirectory() + _T("/") + filename); 00089 if(filename.EndsWith(mhd)){ 00090 loadVolume(pathfile,filename); 00091 } 00092 } 00093 delete fildial; 00094 00095 }
void wxMaracasMultipleVolumeRendererView::addVolumeRendererPanel | ( | wxMaracasMultipleVolumeRendererPanel * | irmview, | |
std::string | dataname = "" | |||
) |
std::string wxMaracasMultipleVolumeRendererView::getPath | ( | ) |
Definition at line 56 of file wxMaracasMultipleVolumeRendererView.cxx.
References _path.
00056 { 00057 return _path; 00058 }
void wxMaracasMultipleVolumeRendererView::deleteVolume | ( | int | volid | ) |
Definition at line 134 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::deleteActor(), and volmanager.
Referenced by wxMaracasMultipleVolumeRendererPanel::~wxMaracasMultipleVolumeRendererPanel().
00134 { 00135 volmanager->deleteActor(volid); 00136 }
void wxMaracasMultipleVolumeRendererView::addRemoveActor | ( | int | id, | |
bool | remove | |||
) |
Definition at line 75 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::addRemoveActor(), and volmanager.
Referenced by wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange().
00075 { 00076 volmanager->addRemoveActor(id, addremove); 00077 }
void wxMaracasMultipleVolumeRendererView::SetValuesColorPointsFunction | ( | int | volid, | |
std::vector< double > | greylevelcolors, | |||
std::vector< double > | red, | |||
std::vector< double > | green, | |||
std::vector< double > | blue | |||
) |
Definition at line 138 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::setVolumeColor(), and volmanager.
Referenced by wxMaracasMultipleVolumeRendererPanel::updateVolume().
00138 { 00139 volmanager->setVolumeColor(volid, greylevelcolors, red, green, blue); 00140 }
void wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction | ( | int | volid, | |
std::vector< double > | greylevel, | |||
std::vector< double > | values | |||
) |
Definition at line 141 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::setVolumeOpacity(), and volmanager.
Referenced by wxMaracasMultipleVolumeRendererPanel::updateVolume().
00141 { 00142 volmanager->setVolumeOpacity(volid, greylevel, values); 00143 }
void wxMaracasMultipleVolumeRendererView::addVolumeViewPanel | ( | wxMaracasMultipleVolumeRendererPanel * | irmview, | |
std::string | dataname | |||
) |
Definition at line 97 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxauimanager.
Referenced by addVolume().
00097 { 00098 00099 wxString s(dataname.c_str(),wxConvUTF8 ); 00100 wxAuiPaneInfo paneinfo; 00101 wxauimanager->AddPane(irmview, paneinfo.DefaultPane().Centre().DestroyOnClose().Caption(s)); 00102 wxauimanager->Update(); 00103 00104 00105 }
vtkPiecewiseFunction * wxMaracasMultipleVolumeRendererView::GetTransferFunction | ( | int | volumeid | ) |
Definition at line 145 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::GetTransferFunction(), and volmanager.
00145 { 00146 return volmanager->GetTransferFunction(volumeid); 00147 }
vtkColorTransferFunction * wxMaracasMultipleVolumeRendererView::GetColorFunction | ( | int | volumeid | ) |
Definition at line 148 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::GetColorFunction(), and volmanager.
00148 { 00149 return volmanager->GetColorFunction(volumeid); 00150 }
wxMaracasMultipleVolumeRendererView * wxMaracasMultipleVolumeRendererView::instance = NULL [static, private] |
Definition at line 71 of file wxMaracasMultipleVolumeRendererView.h.
Referenced by addRemoveActor(), addVolume(), deleteVolume(), GetColorFunction(), GetTransferFunction(), loadVolume(), setRenderer(), SetValuesColorPointsFunction(), SetValuesPointsFunction(), and wxMaracasMultipleVolumeRendererView().
wxAuiManager* wxMaracasMultipleVolumeRendererView::wxauimanager [private] |
Definition at line 73 of file wxMaracasMultipleVolumeRendererView.h.
Referenced by addVolumeViewPanel(), and wxMaracasMultipleVolumeRendererView().
std::string wxMaracasMultipleVolumeRendererView::_path [private] |
Definition at line 75 of file wxMaracasMultipleVolumeRendererView.h.
Referenced by getPath(), and wxMaracasMultipleVolumeRendererView().
wxToolBar* wxMaracasMultipleVolumeRendererView::_toolb [private] |
Definition at line 77 of file wxMaracasMultipleVolumeRendererView.h.
Referenced by wxMaracasMultipleVolumeRendererView(), and ~wxMaracasMultipleVolumeRendererView().