]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkMPR3DDataViewer.h
9ab37eae85f3cff8fb71a31c7a5f0113a5332009
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / vtkMPR3DDataViewer.h
1 #ifndef VTKMPR3DDATAVIEWER_H_
2 #define VTKMPR3DDATAVIEWER_H_
3
4 #include "wxMPRBaseData.h"
5 #include "vtkProperty.h"
6 #include <vtkImageMapToColors.h> 
7 #include "vtkOutlineFilter.h"
8 #include "vtkPolyDataMapper.h"
9 #include "vtkActor.h"
10 #include <vtkColorTransferFunction.h>
11 #include "vtkImageActor.h"
12
13 #ifdef _DEBUG
14 #include <crtdbg.h>
15 #define DEBUG_NEW new(_NORMAL_BLOCK ,__FILE__, __LINE__)
16 #else
17 #define DEBUG_NEW new
18 #endif
19
20 class creaMaracasVisu_EXPORT vtkMPR3DDataViewer {
21 public:
22         vtkMPR3DDataViewer();
23         virtual ~vtkMPR3DDataViewer();
24         vtkImageActor*                  GetImageActor(int id);
25         vtkActor*                               GetOutlineActor();
26         virtual void                    Refresh();
27         virtual void                    Configure();
28         void                                    SetVisiblePosition(int idPosition, bool visible);
29         bool                                    GetVisiblePosition(int idPosition);
30         vtkImageActor*                  GetvtkActor_saggital();
31         vtkImageActor*                  GetvtkActor_axial();
32         vtkImageActor*                  GetvtkActor_coronal();
33         void                                    SetPositionX(int pos);
34         void                                    SetPositionY(int pos);
35         void                                    SetPositionZ(int pos);
36         void                                    SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
37         vtkMPRBaseData*                 GetVtkMPRBaseData();
38         
39         vtkColorTransferFunction   *GetvtkColorTransferFunction();
40         std::vector<double >       *GetctFunVectorPoint();
41         std::vector<double >       *GetctFunVectorRed();
42         std::vector<double >       *GetctFunVectorGreen();
43         std::vector<double >       *GetctFunVectorBlue();
44
45         void setColorTransferFunction(vtkColorTransferFunction* colortable);
46
47 private:
48         
49         bool                                                            _visiblePosition[3];
50
51         // outline
52         vtkOutlineFilter                                        *_outlineData;
53         vtkPolyDataMapper                                       *_mapOutline;
54         vtkActor                                                        *_outline;
55
56         //
57         vtkColorTransferFunction                        *_ctfun;
58         std::vector<double>                                     _ctFunVectorPoint;
59         std::vector<double>                                     _ctFunVectorRed;
60         std::vector<double>                                     _ctFunVectorGreen;
61         std::vector<double>                                     _ctFunVectorBlue;
62
63 //      vtkLookupTable                                          *_bwLut;
64 //      vtkLookupTable                                          *_hueLut;
65 //      vtkLookupTable                                          *_satLut;
66
67         vtkImageMapToColors                                     *_saggitalColors;
68         vtkImageActor                                           *_saggital;
69         vtkImageMapToColors                                     *_axialColors;
70         vtkImageActor                                           *_axial;
71         vtkImageMapToColors                                     *_coronalColors;
72         vtkImageActor                                           *_coronal;
73         vtkMPRBaseData                                          *_vtkmprbasedata;
74
75
76 };
77
78 #endif /*VTKMPR3DDATAVIEWER_H_*/