]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkMPR3DDataViewer.h
Undo Redo
[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 class creaMaracasVisu_EXPORT vtkMPR3DDataViewer {
14 public:
15         vtkMPR3DDataViewer();
16         virtual ~vtkMPR3DDataViewer();
17         vtkImageActor*                  GetImageActor(int id);
18         vtkActor*                               GetOutlineActor();
19         virtual void                    Refresh();
20         virtual void                    Configure();
21         void                                    SetVisiblePosition(int idPosition, bool visible);
22         bool                                    GetVisiblePosition(int idPosition);
23         vtkImageActor*                  GetvtkActor_saggital();
24         vtkImageActor*                  GetvtkActor_axial();
25         vtkImageActor*                  GetvtkActor_coronal();
26         void                                    SetPositionX(int pos);
27         void                                    SetPositionY(int pos);
28         void                                    SetPositionZ(int pos);
29         void                                    SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
30         vtkMPRBaseData*                 GetVtkMPRBaseData();
31         
32         vtkColorTransferFunction   *GetvtkColorTransferFunction();
33         std::vector<double >       *GetctFunVectorPoint();
34         std::vector<double >       *GetctFunVectorRed();
35         std::vector<double >       *GetctFunVectorGreen();
36         std::vector<double >       *GetctFunVectorBlue();
37
38         void setColorTransferFunction(vtkColorTransferFunction* colortable);
39
40 private:
41         
42         bool                                                            _visiblePosition[3];
43
44         // outline
45         vtkOutlineFilter                                        *_outlineData;
46         vtkPolyDataMapper                                       *_mapOutline;
47         vtkActor                                                        *_outline;
48
49         //
50         vtkColorTransferFunction                        *_ctfun;
51         std::vector<double>                                     _ctFunVectorPoint;
52         std::vector<double>                                     _ctFunVectorRed;
53         std::vector<double>                                     _ctFunVectorGreen;
54         std::vector<double>                                     _ctFunVectorBlue;
55
56 //      vtkLookupTable                                          *_bwLut;
57 //      vtkLookupTable                                          *_hueLut;
58 //      vtkLookupTable                                          *_satLut;
59
60         vtkImageMapToColors                                     *_saggitalColors;
61         vtkImageActor                                           *_saggital;
62         vtkImageMapToColors                                     *_axialColors;
63         vtkImageActor                                           *_axial;
64         vtkImageMapToColors                                     *_coronalColors;
65         vtkImageActor                                           *_coronal;
66         vtkMPRBaseData                                          *_vtkmprbasedata;
67
68
69 };
70
71 #endif /*VTKMPR3DDATAVIEWER_H_*/