#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) |
std::vector< vtkImageData * > | GetOutputImages () |
void | changeCompositeMIPFunction (int id, int function) |
wxMaracasMultipleVolumeRendererManager * | getVolumeRenderManager () |
Static Public Member Functions | |
static wxMaracasMultipleVolumeRendererView * | getInstance (wxWindow *parent, std::string path="") |
static wxMaracasMultipleVolumeRendererView * | getInstance () |
Private Attributes | |
wxMaracasMultipleVolumeRendererManager * | volmanager |
wxAuiManager * | wxauimanager |
wxToolBar * | _toolb |
std::string | _path |
std::vector< vtkImageData * > | imgVect |
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 wxStaticText* txt = new wxStaticText(this, -1, wxString(_T(" Volume Rendering "))); 00045 wxAuiPaneInfo paneinfo; 00046 wxauimanager->AddPane(txt,paneinfo.ToolbarPane().Top()); 00047 wxauimanager->AddPane(_toolb,paneinfo.ToolbarPane().Top()); 00048 00049 wxauimanager->Update(); 00050 00051 }
wxMaracasMultipleVolumeRendererView::~wxMaracasMultipleVolumeRendererView | ( | ) |
Definition at line 52 of file wxMaracasMultipleVolumeRendererView.cxx.
References _toolb.
00052 { 00053 00054 delete _toolb; 00055 }
void wxMaracasMultipleVolumeRendererView::addRemoveActor | ( | int | id, | |
bool | remove | |||
) |
Definition at line 88 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::addRemoveActor(), and volmanager.
Referenced by wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange().
00088 { 00089 try{ 00090 volmanager->addRemoveActor(id, addremove); 00091 } 00092 catch(char* str){ 00093 std::cout << "Exception : " << str << '\n'; 00094 wxMessageDialog* diag = new wxMessageDialog(this, wxString( str,wxConvUTF8 ), wxString( str,wxConvUTF8 ), wxICON_ERROR); 00095 diag->ShowModal(); 00096 } 00097 00098 }
void wxMaracasMultipleVolumeRendererView::addVolume | ( | vtkImageData * | img, | |
std::string | dataname = "" | |||
) |
Definition at line 126 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::addVolume(), addVolumeViewPanel(), wxMaracasMultipleVolumeRendererPanel::updateVolume(), and volmanager.
Referenced by loadVolume().
00126 { 00127 00128 try{ 00129 int id = volmanager->addVolume(-1, img,dataname); 00130 if(id!=-1){ 00131 wxMaracasMultipleVolumeRendererPanel* controlpan = new wxMaracasMultipleVolumeRendererPanel(this, id,img, false); 00132 addVolumeViewPanel(controlpan, dataname); 00133 controlpan->updateVolume(); 00134 } 00135 }catch(char* str){ 00136 std::cout << "Exception : " << str << '\n'; 00137 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); 00138 diag->ShowModal(); 00139 } 00140 }
void wxMaracasMultipleVolumeRendererView::addVolumeRendererPanel | ( | wxMaracasMultipleVolumeRendererPanel * | irmview, | |
std::string | dataname = "" | |||
) |
void wxMaracasMultipleVolumeRendererView::addVolumeViewPanel | ( | wxMaracasMultipleVolumeRendererPanel * | irmview, | |
std::string | dataname | |||
) |
Definition at line 118 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxauimanager.
Referenced by addVolume().
00118 { 00119 00120 wxString s(dataname.c_str(),wxConvUTF8 ); 00121 wxAuiPaneInfo paneinfo; 00122 wxauimanager->AddPane(irmview, paneinfo.DefaultPane().Centre().DestroyOnClose().Caption(s)); 00123 wxauimanager->Update(); 00124 }
void wxMaracasMultipleVolumeRendererView::changeCompositeMIPFunction | ( | int | id, | |
int | function | |||
) |
Definition at line 73 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::changeCompositeMIPFunction(), and volmanager.
Referenced by wxMaracasMultipleVolumeRendererPanel::onRadioBoxSelectFunction().
00073 { 00074 try{ 00075 volmanager->changeCompositeMIPFunction(id, function); 00076 } 00077 catch(char* str){ 00078 std::cout << "Exception : " << str << '\n'; 00079 wxMessageDialog* diag = new wxMessageDialog(this, wxString( str,wxConvUTF8 ), wxString( str,wxConvUTF8 ), wxICON_ERROR); 00080 diag->ShowModal(); 00081 } 00082 }
void wxMaracasMultipleVolumeRendererView::deleteVolume | ( | int | volid | ) |
Definition at line 154 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::deleteActor(), and volmanager.
00155 { 00156 try{ 00157 volmanager->deleteActor(volid); 00158 } 00159 00160 catch(char* str){ 00161 std::cout << "Exception : " << str << '\n'; 00162 wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR); 00163 diag->ShowModal(); 00164 } 00165 }
vtkColorTransferFunction * wxMaracasMultipleVolumeRendererView::GetColorFunction | ( | int | volumeid | ) |
Definition at line 180 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::GetColorFunction(), and volmanager.
00181 { 00182 return volmanager->GetColorFunction(volumeid); 00183 }
wxMaracasMultipleVolumeRendererView * wxMaracasMultipleVolumeRendererView::getInstance | ( | ) | [static] |
Definition at line 69 of file wxMaracasMultipleVolumeRendererView.cxx.
References instance.
Referenced by wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange(), ToolBarEventHandlerMultipleVolumeRenderer::onLoadImageFile(), wxMaracasMultipleVolumeRendererPanel::onRadioBoxSelectFunction(), wxMaracasMultipleVolumeRendererPanel::onViewImage(), and wxMaracasMultipleVolumeRendererPanel::updateVolume().
00069 { 00070 return instance; 00071 }
wxMaracasMultipleVolumeRendererView * wxMaracasMultipleVolumeRendererView::getInstance | ( | wxWindow * | parent, | |
std::string | path = "" | |||
) | [static] |
Definition at line 61 of file wxMaracasMultipleVolumeRendererView.cxx.
References instance, and wxMaracasMultipleVolumeRendererView().
00061 { 00062 if(instance==NULL) 00063 { 00064 instance = new wxMaracasMultipleVolumeRendererView(parent,path); 00065 } 00066 return instance; 00067 }
std::vector< vtkImageData * > wxMaracasMultipleVolumeRendererView::GetOutputImages | ( | ) |
Definition at line 185 of file wxMaracasMultipleVolumeRendererView.cxx.
References imgVect.
00185 { 00186 return imgVect; 00187 }
std::string wxMaracasMultipleVolumeRendererView::getPath | ( | ) |
Definition at line 57 of file wxMaracasMultipleVolumeRendererView.cxx.
References _path.
00057 { 00058 return _path; 00059 }
vtkPiecewiseFunction * wxMaracasMultipleVolumeRendererView::GetTransferFunction | ( | int | volumeid | ) |
Definition at line 176 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::GetTransferFunction(), and volmanager.
00177 { 00178 return volmanager->GetTransferFunction(volumeid); 00179 }
wxMaracasMultipleVolumeRendererManager * wxMaracasMultipleVolumeRendererView::getVolumeRenderManager | ( | ) |
Definition at line 189 of file wxMaracasMultipleVolumeRendererView.cxx.
References volmanager.
Referenced by wxMaracasMultipleVolumeRendererPanel::onViewImage().
00190 { 00191 return volmanager; 00192 }
void wxMaracasMultipleVolumeRendererView::loadVolume | ( | wxString | filename, | |
wxString | dataname | |||
) |
Definition at line 142 of file wxMaracasMultipleVolumeRendererView.cxx.
References addVolume(), wxMaracasMultipleVolumeRendererManager::getImageData(), imgVect, and volmanager.
Referenced by onLoadImageFile().
00142 { 00143 00144 std::string s = std::string(filename.mb_str()); 00145 vtkImageData* img = volmanager->getImageData(s); 00146 imgVect.push_back(img); 00147 00148 if(img!=NULL){ 00149 s = std::string(dataname.mb_str()); 00150 addVolume(img, s); 00151 } 00152 }
void wxMaracasMultipleVolumeRendererView::onLoadImageFile | ( | ) |
Definition at line 100 of file wxMaracasMultipleVolumeRendererView.cxx.
References loadVolume().
Referenced by ToolBarEventHandlerMultipleVolumeRenderer::onLoadImageFile().
00100 { 00101 00102 wxString mhd(_T("mhd")); 00103 00104 wxFileDialog* fildial = new wxFileDialog(this, wxString(_T("Select a MHD file")),wxString(_T("")), 00105 wxString(_T("")),wxString(_T("MHD files (*.mhd)|*.mhd")) ); 00106 00107 if(fildial->ShowModal()==wxID_OK){ 00108 wxString filename = fildial->GetFilename(); 00109 wxString pathfile(fildial->GetDirectory() + _T("/") + filename); 00110 if(filename.EndsWith(mhd)){ 00111 loadVolume(pathfile,filename); 00112 } 00113 } 00114 delete fildial; 00115 00116 }
void wxMaracasMultipleVolumeRendererView::setRenderer | ( | vtkRenderer * | renderer | ) |
Definition at line 84 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::setRenderer(), and volmanager.
00084 { 00085 volmanager->setRenderer(renderer); 00086 }
void wxMaracasMultipleVolumeRendererView::SetValuesColorPointsFunction | ( | int | volid, | |
std::vector< double > | greylevelcolors, | |||
std::vector< double > | red, | |||
std::vector< double > | green, | |||
std::vector< double > | blue | |||
) |
Definition at line 167 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::setVolumeColor(), and volmanager.
Referenced by wxMaracasMultipleVolumeRendererPanel::updateVolume().
00168 { 00169 volmanager->setVolumeColor(volid, greylevelcolors, red, green, blue); 00170 }
void wxMaracasMultipleVolumeRendererView::SetValuesPointsFunction | ( | int | volid, | |
std::vector< double > | greylevel, | |||
std::vector< double > | values | |||
) |
Definition at line 171 of file wxMaracasMultipleVolumeRendererView.cxx.
References wxMaracasMultipleVolumeRendererManager::setVolumeOpacity(), and volmanager.
Referenced by wxMaracasMultipleVolumeRendererPanel::updateVolume().
00172 { 00173 volmanager->setVolumeOpacity(volid, greylevel, values); 00174 }
std::string wxMaracasMultipleVolumeRendererView::_path [private] |
Definition at line 81 of file wxMaracasMultipleVolumeRendererView.h.
Referenced by getPath(), and wxMaracasMultipleVolumeRendererView().
wxToolBar* wxMaracasMultipleVolumeRendererView::_toolb [private] |
Definition at line 79 of file wxMaracasMultipleVolumeRendererView.h.
Referenced by wxMaracasMultipleVolumeRendererView(), and ~wxMaracasMultipleVolumeRendererView().
std::vector<vtkImageData*> wxMaracasMultipleVolumeRendererView::imgVect [private] |
Definition at line 82 of file wxMaracasMultipleVolumeRendererView.h.
Referenced by GetOutputImages(), and loadVolume().
wxMaracasMultipleVolumeRendererView * wxMaracasMultipleVolumeRendererView::instance = NULL [static, private] |
Definition at line 75 of file wxMaracasMultipleVolumeRendererView.h.
Referenced by getInstance().
Definition at line 77 of file wxMaracasMultipleVolumeRendererView.h.
Referenced by addRemoveActor(), addVolume(), changeCompositeMIPFunction(), deleteVolume(), GetColorFunction(), GetTransferFunction(), getVolumeRenderManager(), loadVolume(), setRenderer(), SetValuesColorPointsFunction(), SetValuesPointsFunction(), and wxMaracasMultipleVolumeRendererView().
wxAuiManager* wxMaracasMultipleVolumeRendererView::wxauimanager [private] |
Definition at line 78 of file wxMaracasMultipleVolumeRendererView.h.
Referenced by addVolumeViewPanel(), and wxMaracasMultipleVolumeRendererView().