#include <wxMaracasRendererView.h>
Public Member Functions | |
wxMaracasRendererView (wxWindow *parent, std::string path) | |
~wxMaracasRendererView () | |
std::string | getPath () |
wxMaracasRenderTabbedPanel * | getTabbedPanel (int id) throw (char*) |
void | setRenderer (vtkRenderer *renderer) |
void | setVtkBaseView (wxVtk3DBaseView *base) |
void | onLoadImageFile () |
void | addVolumes (vtkImageData *img, std::string pathfile, std::string filename) |
void | addPanels (wxMaracasRenderTabbedPanel *wxtabs, vtkImageData *img, std::string pathfile, std::string filename) |
void | deleteVolume (int volid) |
std::vector< std::string > | getFiles () |
Static Public Member Functions | |
static wxMaracasRendererView * | getInstance (wxWindow *parent, std::string path="") |
static wxMaracasRendererView * | getInstance () |
Private Attributes | |
std::vector < wxMaracasRenderTabbedPanel * > | tabsVector |
std::vector< std::string > | files |
wxAuiManager * | wxauimanager |
wxToolBar * | _toolb |
vtkRenderer * | _renderer |
wxVtk3DBaseView * | baseView |
std::string | _path |
int | _idCount |
Static Private Attributes | |
static wxMaracasRendererView * | instance = NULL |
Definition at line 25 of file wxMaracasRendererView.h.
wxMaracasRendererView::wxMaracasRendererView | ( | wxWindow * | parent, | |
std::string | path | |||
) |
Class constructor
Definition at line 22 of file wxMaracasRendererView.cxx.
References _idCount, _path, _toolb, and wxauimanager.
Referenced by getInstance().
00023 : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){ 00024 00025 wxauimanager = new wxAuiManager(this); 00026 00027 _idCount = 0; 00028 _path = path; 00029 00030 std::string iconsdir = path; 00031 iconsdir+="/data/Icons"; 00032 this->_toolb = new ToolBarRenderer(this,iconsdir); 00033 wxStaticText* txt = new wxStaticText(this, -1, wxString(_T(" Open File "))); 00034 wxAuiPaneInfo paneinfo; 00035 wxauimanager->AddPane(txt,paneinfo.ToolbarPane().Top()); 00036 wxauimanager->AddPane(_toolb,paneinfo.ToolbarPane().Top()); 00037 00038 wxauimanager->Update(); 00039 }
wxMaracasRendererView::~wxMaracasRendererView | ( | ) |
Class destructor
Definition at line 44 of file wxMaracasRendererView.cxx.
References _toolb.
00045 { 00046 delete _toolb; 00047 }
void wxMaracasRendererView::addPanels | ( | wxMaracasRenderTabbedPanel * | wxtabs, | |
vtkImageData * | img, | |||
std::string | pathfile, | |||
std::string | filename | |||
) |
Constructs and adds internal panel
Definition at line 135 of file wxMaracasRendererView.cxx.
References wxMaracasRenderTabbedPanel::createControls(), and wxauimanager.
Referenced by addVolumes().
00136 { 00137 wxString s(filename.c_str(),wxConvUTF8); 00138 00139 wxtabs->createControls(img, pathfile, filename); 00140 00141 wxAuiPaneInfo paneinfo; 00142 wxauimanager->AddPane(wxtabs, paneinfo.DefaultPane().Centre().DestroyOnClose().Caption(s)); 00143 wxauimanager->Update(); 00144 }
void wxMaracasRendererView::addVolumes | ( | vtkImageData * | img, | |
std::string | pathfile, | |||
std::string | filename | |||
) |
Returns internal panel
Definition at line 149 of file wxMaracasRendererView.cxx.
References _idCount, _renderer, addPanels(), baseView, wxMaracasRenderTabbedPanel::setRenderer(), and tabsVector.
Referenced by onLoadImageFile().
00150 { 00151 wxMaracasRenderTabbedPanel* wxtabs = new wxMaracasRenderTabbedPanel(this, _idCount, baseView); 00152 wxtabs->setRenderer(_renderer); 00153 00154 tabsVector.push_back(wxtabs); 00155 addPanels(wxtabs, img, pathfile, filename); 00156 00157 _idCount++; 00158 }
void wxMaracasRendererView::deleteVolume | ( | int | volid | ) |
Deletes current volume
Definition at line 162 of file wxMaracasRendererView.cxx.
References wxMaracasRenderTabbedPanel::deleteVolume(), and getTabbedPanel().
00163 { 00164 00165 getTabbedPanel(volid)->deleteVolume(volid); 00166 }
std::vector< std::string > wxMaracasRendererView::getFiles | ( | ) |
Gets opened file names
Definition at line 171 of file wxMaracasRendererView.cxx.
References files.
00172 { 00173 return files; 00174 }
wxMaracasRendererView * wxMaracasRendererView::getInstance | ( | ) | [static] |
Gets class intance
Definition at line 64 of file wxMaracasRendererView.cxx.
References instance.
Referenced by wxMaracasMultipleVolumeRendererPanel::onCheckBoxChange(), wxMaracasSurfaceRenderingProp3D::onColorChange(), wxMaracasSurfaceRenderingProp3DMHD::onIsoValueRelease(), ToolBarEventHandlerRenderer::onLoadImageFile(), wxMaracasSurfaceRenderingProp3D::onOpacityRelease(), wxMaracasSurfaceRenderingProp3D::onViewImage(), wxMaracasMultipleVolumeRendererPanel::onViewImage(), and wxMaracasMultipleVolumeRendererPanel::updateVolume().
00065 { 00066 return instance; 00067 }
wxMaracasRendererView * wxMaracasRendererView::getInstance | ( | wxWindow * | parent, | |
std::string | path = "" | |||
) | [static] |
Gets class instance correponding to given parameters
Definition at line 52 of file wxMaracasRendererView.cxx.
References instance, and wxMaracasRendererView().
00053 { 00054 if(instance==NULL) 00055 { 00056 instance = new wxMaracasRendererView(parent,path); 00057 } 00058 return instance; 00059 }
std::string wxMaracasRendererView::getPath | ( | ) |
Gets path for the given panel
Definition at line 72 of file wxMaracasRendererView.cxx.
References _path.
00073 { 00074 return _path; 00075 }
wxMaracasRenderTabbedPanel * wxMaracasRendererView::getTabbedPanel | ( | int | id | ) | throw (char*) |
Returns internal panel
Definition at line 80 of file wxMaracasRendererView.cxx.
Referenced by deleteVolume().
00081 { 00082 int i; 00083 for(i = 0; i < (tabsVector.size()); i++) 00084 { 00085 if(tabsVector[i]->getPropIdV() == id) 00086 return tabsVector[i]; 00087 } 00088 throw "id not found"; 00089 00090 return NULL; 00091 }
void wxMaracasRendererView::onLoadImageFile | ( | ) |
Called when an image file is opened
Definition at line 109 of file wxMaracasRendererView.cxx.
References addVolumes(), and files.
Referenced by ToolBarEventHandlerRenderer::onLoadImageFile().
00110 { 00111 wxString mhd(_T("mhd")); 00112 00113 wxFileDialog* fildial = new wxFileDialog(this, wxString(_T("Select a MHD file")), wxString(_T("")), 00114 wxString(_T("")), wxString(_T("MHD files (*.mhd)|*.mhd")) ); 00115 00116 if(fildial->ShowModal()==wxID_OK) 00117 { 00118 wxString filename = fildial->GetFilename(); 00119 files.push_back( std::string(filename.mb_str()) ); 00120 wxString pathfile(fildial->GetDirectory() + _T("/") + filename); 00121 00122 if(filename.EndsWith(mhd)) 00123 { 00124 std::string sPath = std::string(pathfile.mb_str()); 00125 std::string sFileName = std::string(filename.mb_str()); 00126 printf("wxMaracasRendererView::onLoadImageFile->Opening file... \n"); 00127 addVolumes(NULL, sPath, sFileName); 00128 } 00129 } 00130 delete fildial; 00131 }
void wxMaracasRendererView::setRenderer | ( | vtkRenderer * | renderer | ) |
Definition at line 96 of file wxMaracasRendererView.cxx.
References _renderer.
00097 { 00098 _renderer = renderer; 00099 }
void wxMaracasRendererView::setVtkBaseView | ( | wxVtk3DBaseView * | base | ) |
Definition at line 101 of file wxMaracasRendererView.cxx.
References baseView.
00102 { 00103 baseView = vbv; 00104 }
int wxMaracasRendererView::_idCount [private] |
Definition at line 60 of file wxMaracasRendererView.h.
Referenced by addVolumes(), and wxMaracasRendererView().
std::string wxMaracasRendererView::_path [private] |
Definition at line 58 of file wxMaracasRendererView.h.
Referenced by getPath(), and wxMaracasRendererView().
vtkRenderer* wxMaracasRendererView::_renderer [private] |
Definition at line 56 of file wxMaracasRendererView.h.
Referenced by addVolumes(), and setRenderer().
wxToolBar* wxMaracasRendererView::_toolb [private] |
Definition at line 54 of file wxMaracasRendererView.h.
Referenced by wxMaracasRendererView(), and ~wxMaracasRendererView().
wxVtk3DBaseView* wxMaracasRendererView::baseView [private] |
Definition at line 57 of file wxMaracasRendererView.h.
Referenced by addVolumes(), and setVtkBaseView().
std::vector<std::string> wxMaracasRendererView::files [private] |
Definition at line 51 of file wxMaracasRendererView.h.
Referenced by getFiles(), and onLoadImageFile().
wxMaracasRendererView * wxMaracasRendererView::instance = NULL [static, private] |
Definition at line 48 of file wxMaracasRendererView.h.
Referenced by getInstance().
std::vector<wxMaracasRenderTabbedPanel*> wxMaracasRendererView::tabsVector [private] |
Definition at line 50 of file wxMaracasRendererView.h.
Referenced by addVolumes().
wxAuiManager* wxMaracasRendererView::wxauimanager [private] |
Definition at line 53 of file wxMaracasRendererView.h.
Referenced by addPanels(), and wxMaracasRendererView().