00001 #ifndef VTKMPR3DDATAVIEWER_H_
00002 #define VTKMPR3DDATAVIEWER_H_
00003
00004 #include "wxMPRBaseData.h"
00005 #include "vtkProperty.h"
00006 #include <vtkImageMapToColors.h>
00007 #include "vtkOutlineFilter.h"
00008 #include "vtkPolyDataMapper.h"
00009 #include "vtkActor.h"
00010 #include <vtkColorTransferFunction.h>
00011 #include "vtkImageActor.h"
00012
00013 class creaMaracasVisu_EXPORT vtkMPR3DDataViewer {
00014 public:
00015 vtkMPR3DDataViewer();
00016 virtual ~vtkMPR3DDataViewer();
00017 vtkImageActor* GetImageActor(int id);
00018 vtkActor* GetOutlineActor();
00019 virtual void Refresh();
00020 virtual void Configure();
00021 void SetVisiblePosition(int idPosition, bool visible);
00022 bool GetVisiblePosition(int idPosition);
00023 vtkImageActor* GetvtkActor_saggital();
00024 vtkImageActor* GetvtkActor_axial();
00025 vtkImageActor* GetvtkActor_coronal();
00026 void SetPositionX(int pos);
00027 void SetPositionY(int pos);
00028 void SetPositionZ(int pos);
00029 void SetVtkMPRBaseData(vtkMPRBaseData *vtkmprbasedata);
00030 vtkMPRBaseData* GetVtkMPRBaseData();
00031
00032 vtkColorTransferFunction *GetvtkColorTransferFunction();
00033 std::vector<double > *GetctFunVectorPoint();
00034 std::vector<double > *GetctFunVectorRed();
00035 std::vector<double > *GetctFunVectorGreen();
00036 std::vector<double > *GetctFunVectorBlue();
00037
00038 private:
00039
00040 bool _visiblePosition[3];
00041
00042
00043 vtkOutlineFilter *_outlineData;
00044 vtkPolyDataMapper *_mapOutline;
00045 vtkActor *_outline;
00046
00047
00048 vtkColorTransferFunction *_ctfun;
00049 std::vector<double> _ctFunVectorPoint;
00050 std::vector<double> _ctFunVectorRed;
00051 std::vector<double> _ctFunVectorGreen;
00052 std::vector<double> _ctFunVectorBlue;
00053
00054
00055
00056
00057
00058 vtkImageMapToColors *_saggitalColors;
00059 vtkImageActor *_saggital;
00060 vtkImageMapToColors *_axialColors;
00061 vtkImageActor *_axial;
00062 vtkImageMapToColors *_coronalColors;
00063 vtkImageActor *_coronal;
00064 vtkMPRBaseData *_vtkmprbasedata;
00065
00066
00067 };
00068
00069 #endif