]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRendererView.cxx
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasRendererView.cxx
index f0436e84dce173be094affc27bab8f6ea5e3c4a8..9ed39f0dd062afb368733c35627e031c98f863cf 100644 (file)
@@ -17,7 +17,7 @@
 wxMaracasRendererView* wxMaracasRendererView::instance=NULL;
 
 /**
-**
+** Class constructor
 **/
 wxMaracasRendererView::wxMaracasRendererView(wxWindow* parent,std::string path)
 : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize){
@@ -26,10 +26,7 @@ wxMaracasRendererView::wxMaracasRendererView(wxWindow* parent,std::string path)
 
        _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";
@@ -43,7 +40,7 @@ wxMaracasRendererView::wxMaracasRendererView(wxWindow* parent,std::string path)
 }
 
 /**
-**
+** Class destructor
 **/
 wxMaracasRendererView::~wxMaracasRendererView( )
 {
@@ -83,10 +80,7 @@ wxMaracasRendererView* wxMaracasRendererView::getInstance()
 **/
 void wxMaracasRendererView::setRenderer(vtkRenderer*  renderer)
 {
-       volmanager->setRenderer(renderer);
-       surrendmanager1->setRenderer(renderer);
-       surrendmanager2->setRenderer(renderer);
-       surrendmanager3->setRenderer(renderer);
+       wxtabs->setRenderer(renderer);
 }
 
 /**
@@ -94,7 +88,7 @@ void wxMaracasRendererView::setRenderer(vtkRenderer*  renderer)
 **/
 void wxMaracasRendererView::addRemoveActorVol(int id, bool addremove)
 {
-       volmanager->addRemoveActor(id, addremove);
+       wxtabs->addRemoveActorV(id, addremove);
 }
 
 /**
@@ -102,7 +96,7 @@ void wxMaracasRendererView::addRemoveActorVol(int id, bool addremove)
 **/
 void wxMaracasRendererView::addRemoveSurf1Actor(int id, bool addremove)
 {
-       surrendmanager1->addRemoveActor(id, addremove);
+       wxtabs->addRemoveActorSA(id, addremove);
 }
 
 /**
@@ -110,7 +104,7 @@ void wxMaracasRendererView::addRemoveSurf1Actor(int id, bool addremove)
 **/
 void wxMaracasRendererView::addRemoveSurf2Actor(int id, bool addremove)
 {
-       surrendmanager2->addRemoveActor(id, addremove);
+       wxtabs->addRemoveActorSB(id, addremove);
 }
 
 /**
@@ -118,11 +112,11 @@ void wxMaracasRendererView::addRemoveSurf2Actor(int id, bool 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()
 {
@@ -137,145 +131,39 @@ 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);
 }
 
 /**