00001 #ifndef WXVTKMPR2DVIEW_H_
00002 #define WXVTKMPR2DVIEW_H_
00003
00004 #include "vtkInteractorStyleMPRView.h"
00005
00006 #include "wxVtk2DBaseView.h"
00007
00008 #include "vtkPolyDataMapper.h"
00009 #include <vtkPolyData.h>
00010 #include <vtkPoints.h>
00011 #include "vtkActor.h"
00012 #include "vtkPolyData.h"
00013
00014 class creaMaracasVisu_EXPORT wxVtkMPR2DView : public wxVtk2DBaseView
00015 {
00016 public:
00017 wxVtkMPR2DView( wxWindow *parent, int direction );
00018 ~wxVtkMPR2DView();
00019 void Configure();
00020 virtual void Refresh();
00021 vtkMPRBaseData *GetVtkmprbasedata();
00022 virtual int GetActualSlice();
00023 virtual void SetActualSlice(int slice);
00024
00025 bool IfMouseTouchX(double x, double y, double z);
00026 bool IfMouseTouchY(double x, double y, double z);
00027 bool IfMouseTouchZ(double x, double y, double z);
00028 void MoveX(double x, double y, double z);
00029 void MoveY(double x, double y, double z);
00030 void MoveZ(double x, double y, double z);
00031 void ChangeAxisColor(double x, double y, double z);
00032 virtual void TransFromCoordScreenToWorld(double &X, double &Y, double &Z, bool keepNormalDirection=false, int type=2);
00033
00034 void SetVisibleAxis(bool ok);
00035
00036
00037 private:
00038
00039 int _backX;
00040 int _backY;
00041 int _backZ;
00042
00043 bool _visibleAxis;
00044
00045 int _direction;
00046 vtkPoints *_ptsA;
00047 vtkActor *_lineAActor;
00048 vtkPolyDataMapper *_lineAMapper;
00049 vtkPolyData *_pdA;
00050 vtkPoints *_ptsB;
00051 vtkActor *_lineBActor;
00052 vtkPolyDataMapper *_lineBMapper;
00053 vtkPolyData *_pdB;
00054
00055 vtkInteractorStyleMPRView *_interactorstylemprview;
00056 };
00057
00058
00059 #endif