+/*# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Sant�)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */
+
/*=========================================================================
Program: wxMaracas
#include <iostream>
#include "marTypes.h"
#include "vtkProp3D.h"
+#include "wxVtkBaseView.h"
#include "wxMaracasRendererView.h"
#include "wxMaracasRenderTabbedPanel.h"
-#include "wxMaracasMultipleVolumeRendererManager.h"
-#include "wxMaracasMultipleVolumeRendererPanel.h"
-#include "wxMaracasSurfaceRenderingProp3DMHD.h"
+#include "volumerenderermanager.h"
#include "wxMaracasSurfaceRenderingManager.h"
-
class creaMaracasVisu_EXPORT wxMaracasRendererView : public wxPanel
{
public:
wxMaracasRendererView( wxWindow* parent, std::string path);
- ~wxMaracasRendererView( );
+ ~wxMaracasRendererView( );
static wxMaracasRendererView* getInstance(wxWindow* parent,std::string path="");
-
static wxMaracasRendererView* getInstance();
- void setRenderer(vtkRenderer* renderer);
-
- wxMaracasMultipleVolumeRendererPanel* addVolume(vtkImageData* img, std::string dataname="");
-
- wxMaracasSurfaceRenderingPanel* addSurface1(vtkImageData* img, std::string dataname="");
-
- wxMaracasSurfaceRenderingPanel* addSurface2(vtkImageData* img, std::string dataname="");
-
- wxMaracasSurfaceRenderingPanel* addSurface3(vtkImageData* img, std::string dataname="");
-
- void loadVolume(wxString filename, wxString dataname);
+ std::string getPath();
+ wxMaracasRenderTabbedPanel* getTabbedPanel(int id) throw(char*);
+ void setRenderer(vtkRenderer* renderer); /* throw(char*), */ // JPR
+ void setVtkBaseView(wxVtk3DBaseView* base);
void onLoadImageFile();
-
- void addPanels(wxString filename, wxString dataname = _T(""));
-
- std::string getPath();
+ 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);
-
- void addRemoveActorVol(int id, bool remove);
- void addRemoveSurf1Actor(int id, bool addremove);
- void addRemoveSurf2Actor(int id, bool addremove);
- void addRemoveSurf3Actor(int id, bool addremove);
-
- 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 addPanels(wxMaracasMultipleVolumeRendererPanel* irmview, std::string dataname);
-
- vtkPiecewiseFunction* GetTransferFunction(int volumeid);
- vtkColorTransferFunction* GetColorFunction(int volumeid);
+ std::vector<std::string> getFiles();
private:
static wxMaracasRendererView* instance;
- wxMaracasMultipleVolumeRendererManager* volmanager;
-
- wxMaracasSurfaceRenderingManager* surrendmanager1;
-
- wxMaracasSurfaceRenderingManager* surrendmanager2;
-
- wxMaracasSurfaceRenderingManager* surrendmanager3;
-
- wxMaracasRenderTabbedPanel* wxtabs;
+ std::vector<wxMaracasRenderTabbedPanel*> tabsVector;
+ std::vector<std::string> files;
wxAuiManager* wxauimanager;
-
- std::string _path;
+ wxToolBar * _toolb;
- wxToolBar* _toolb;
+ vtkRenderer* _renderer;
+ wxVtk3DBaseView* baseView;
+ std::string _path;
+ int _idCount;
};
-class ToolBarEventHandlerRenderer : public wxEvtHandler{
-
+class ToolBarEventHandlerRenderer : public wxEvtHandler
+{
public:
ToolBarEventHandlerRenderer();
~ToolBarEventHandlerRenderer();
class ToolBarRenderer : public wxToolBar{
-
public:
ToolBarRenderer(wxWindow * parent,std::string iconsdir);
~ToolBarRenderer(void);
-
private:
ToolBarEventHandlerRenderer* _evthand;
-
};
#endif
-