wxMaracasRendererView* wxMaracasRendererView::instance=NULL;
/**
-**
+** Class constructor
**/
wxMaracasRendererView::wxMaracasRendererView(wxWindow* parent,std::string path)
: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){
_path = path;
- volmanager = new wxMaracasMultipleVolumeRendererManager();
- surrendmanager1 = new wxMaracasSurfaceRenderingManager();
- surrendmanager2 = new wxMaracasSurfaceRenderingManager();
- surrendmanager3 = new wxMaracasSurfaceRenderingManager();
+ wxtabs = new wxMaracasRenderTabbedPanel(this);
std::string iconsdir = path;
iconsdir+="/data/Icons";
}
/**
-**
+** Class destructor
**/
wxMaracasRendererView::~wxMaracasRendererView( )
{
**/
void wxMaracasRendererView::setRenderer(vtkRenderer* renderer)
{
- volmanager->setRenderer(renderer);
- surrendmanager1->setRenderer(renderer);
- surrendmanager2->setRenderer(renderer);
- surrendmanager3->setRenderer(renderer);
+ wxtabs->setRenderer(renderer);
}
/**
**/
void wxMaracasRendererView::addRemoveActorVol(int id, bool addremove)
{
- volmanager->addRemoveActor(id, addremove);
+ wxtabs->addRemoveActorV(id, addremove);
}
/**
**/
void wxMaracasRendererView::addRemoveSurf1Actor(int id, bool addremove)
{
- surrendmanager1->addRemoveActor(id, addremove);
+ wxtabs->addRemoveActorSA(id, addremove);
}
/**
**/
void wxMaracasRendererView::addRemoveSurf2Actor(int id, bool addremove)
{
- surrendmanager2->addRemoveActor(id, addremove);
+ wxtabs->addRemoveActorSB(id, addremove);
}
/**
**/
void wxMaracasRendererView::addRemoveSurf3Actor(int id, bool addremove)
{
- surrendmanager3->addRemoveActor(id, addremove);
+ wxtabs->addRemoveActorSC(id, addremove);
}
/**
-**
+** Called when an image file is opened
**/
void wxMaracasRendererView::onLoadImageFile()
{
wxString pathfile(fildial->GetDirectory() + _T("/") + filename);
if(filename.EndsWith(mhd))
{
- loadVolume(pathfile,filename);
+ addPanels(pathfile, filename);
}
}
delete fildial;
}
-/*
-*
-*/
-void wxMaracasRendererView::addPanels(wxString filename, wxString dataname)
+/**
+** Constructs and adds internal panel
+**/
+void wxMaracasRendererView::addPanels(wxString pathfile, wxString filename)
{
- wxString s(dataname.c_str(),wxConvUTF8 );
-
- wxtabs = new wxMaracasRenderTabbedPanel(this, volmanager, surrendmanager1, surrendmanager2, surrendmanager3, filename, dataname);
+ wxString s(filename.c_str(),wxConvUTF8);
+ wxtabs->createControls(pathfile, filename);
wxAuiPaneInfo paneinfo;
wxauimanager->AddPane(wxtabs, paneinfo.DefaultPane().Centre().DestroyOnClose().Caption(s));
wxauimanager->Update();
}
-/*
-*
-*/
-wxMaracasMultipleVolumeRendererPanel* wxMaracasRendererView::addVolume(vtkImageData* img, std::string dataname)
-{
-
- try
- {
- int id = volmanager->addVolume(img, dataname);
- if(id!=-1)
- {
- wxMaracasMultipleVolumeRendererPanel* controlpan = new wxMaracasMultipleVolumeRendererPanel(this, id,img);
- //controlpan->updateVolume();
-
- return controlpan;
- }
- }
- catch(char* str)
- {
- std::cout << "Exception : " << str << '\n';
- wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
- diag->ShowModal();
- }
-}
-
-wxMaracasSurfaceRenderingPanel* wxMaracasRendererView::addSurface1(vtkImageData* img, std::string dataname)
-{
- try
- {
- int id = surrendmanager1->addPropMHD(img, dataname);
-
- if(id!=-1)
- {
- wxMaracasSurfaceRenderingPanel* controlpan = new wxMaracasSurfaceRenderingProp3DMHD(this, id);
- //int maxiso = surrendmanager1->getMaxIsoValue(id);
- //((wxMaracasSurfaceRenderingProp3DMHD*)controlpan)->createControls(maxiso);
-
- return controlpan;
- }
- }
- catch(char* str)
- {
- std::cout << "Exception : " << str << '\n';
- wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
- diag->ShowModal();
- }
-}
-
-wxMaracasSurfaceRenderingPanel* wxMaracasRendererView::addSurface2(vtkImageData* img, std::string dataname)
-{
- try
- {
- int id = surrendmanager2->addPropMHD(img, dataname);
- if(id!=-1)
- {
- wxMaracasSurfaceRenderingPanel* controlpan = new wxMaracasSurfaceRenderingProp3DMHD(this, id);
- //int maxiso = surrendmanager2->getMaxIsoValue(id);
- //((wxMaracasSurfaceRenderingProp3DMHD*)controlpan)->createControls(maxiso);
-
- return controlpan;
- }
- }
- catch(char* str)
- {
- std::cout << "Exception : " << str << '\n';
- wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
- diag->ShowModal();
- }
-}
-
-wxMaracasSurfaceRenderingPanel* wxMaracasRendererView::addSurface3(vtkImageData* img, std::string dataname)
-{
- try
- {
- int id = surrendmanager3->addPropMHD(img, dataname);
- if(id!=-1)
- {
- wxMaracasSurfaceRenderingPanel* controlpan = new wxMaracasSurfaceRenderingProp3DMHD(this, id);
- //int maxiso = surrendmanager3->getMaxIsoValue(id);
- //((wxMaracasSurfaceRenderingProp3DMHD*)controlpan)->createControls(maxiso);
-
- return controlpan;
- }
- }
- catch(char* str)
- {
- std::cout << "Exception : " << str << '\n';
- wxMessageDialog* diag = new wxMessageDialog(this, wxString(str,wxConvUTF8 ), wxString(str,wxConvUTF8 ), wxICON_ERROR);
- diag->ShowModal();
- }
-}
-
-void wxMaracasRendererView::loadVolume(wxString filename, wxString dataname)
+/**
+** Returns internal panel
+**/
+wxMaracasRenderTabbedPanel* wxMaracasRendererView::getTabbedPanel()
{
-
- addPanels(filename, dataname);
-
+ return wxtabs;
}
+/**
+** Deletes current volume
+**/
void wxMaracasRendererView::deleteVolume(int volid)
{
- volmanager->deleteActor(volid);
- surrendmanager1->deleteActor(volid);
- surrendmanager2->deleteActor(volid);
- surrendmanager3->deleteActor(volid);
-}
-
-void wxMaracasRendererView::SetValuesColorPointsFunction(int volid, std::vector<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue){
- volmanager->setVolumeColor(volid, greylevelcolors, red, green, blue);
-}
-void wxMaracasRendererView::SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> values){
- volmanager->setVolumeOpacity(volid, greylevel, values);
-}
-
-vtkPiecewiseFunction* wxMaracasRendererView::GetTransferFunction(int volumeid){
- return volmanager->GetTransferFunction(volumeid);
-}
-vtkColorTransferFunction* wxMaracasRendererView::GetColorFunction(int volumeid){
- return volmanager->GetColorFunction(volumeid);
+ wxtabs->deleteVolume(volid);
}
/**