manualContourBaseControler.h
Go to the documentation of this file.00001 #ifndef manualContourBaseControler_h
00002 #define manualContourBaseControler_h
00003
00004 #include "vtkRenderWindow.h"
00005
00006 #include "vtkRenderer.h"
00007 #include "vtkRenderWindowInteractor.h"
00008 #include "vtkCommand.h"
00009 #include "vtkPolyData.h"
00010 #include "vtkCellArray.h"
00011 #include "vtkPolyDataMapper.h"
00012 #include "vtkInteractorObserver.h"
00013 #include "vtkInteractorStyleImage.h"
00014 #include <vtkKochanekSpline.h>
00015
00016 #include <vtkCellPicker.h>
00017
00018
00019 #include <vtkCamera.h>
00020 #include <vtkPolyLine.h>
00021 #include <vtkDataSetMapper.h>
00022 #include <vtkUnstructuredGrid.h>
00023
00024 #include <vtkActor.h>
00025 #include <vtkProperty.h>
00026
00027 #include <vtkCellArray.h>
00028 #include <vtkRenderer.h>
00029 #include <vtkCoordinate.h>
00030 #include <vtkTextProperty.h>
00031 #include <vtkTextActor.h>
00032 #include <vtkProperty2D.h>
00033 #include <vtkPointPicker.h>
00034 #include "widgets/UtilVtk3DGeometriSelection.h"
00035 #include "widgets/InteractorStyleMaracas.h"
00036
00037
00038 #include "wxVTKRenderWindowInteractor.h"
00039
00040
00041
00042
00043 #include <vector>
00044 #include "wxVtkBaseView.h"
00045 #include "marTypes.h"
00046
00047 #include "manualContourModel.h"
00048 #include "manualViewBaseContour.h"
00049
00050
00051
00052
00053
00054
00055 class creaMaracasVisu_EXPORT manualContourBaseControler: public InteractorStyleMaracas
00056 {
00057 public:
00058 manualContourBaseControler();
00059 virtual ~manualContourBaseControler();
00060
00061 virtual manualContourBaseControler * Clone();
00062 void CopyAttributesTo( manualContourBaseControler *cloneObject );
00063
00064 virtual bool OnChar();
00065 virtual bool OnMouseMove();
00066 virtual bool OnLeftButtonDown();
00067 virtual bool OnLeftButtonUp();
00068 virtual bool OnLeftDClick();
00069 virtual bool OnMiddleButtonDown();
00070 virtual bool OnMiddleButtonUp();
00071 virtual bool OnRightButtonDown();
00072 virtual bool OnRightButtonUp();
00073
00074 void SetModelView(manualContourModel *manContModel, manualViewBaseContour *manViewBaseCont);
00075 manualContourModel * GetManualContourModel();
00076 manualViewBaseContour * GetManualViewBaseContour();
00077
00078
00079 virtual void MouseClickLeft(int x, int y);
00080 virtual void MouseClickRight(int x, int y);
00081 virtual void MouseDLeft(int x, int y);
00082
00083 virtual void MouseMove(int x, int y);
00084 virtual void MouseReleaseLeft(int x, int y);
00085
00086 void SetState(int state);
00087 int GetState();
00088 bool IsEditable();
00089 void SetEditable( bool condition );
00090 bool GetPosibleToMove();
00091 void SetPosibleToMove( bool condition );
00092 bool IsMoving();
00093 void SetMoving( bool condition );
00094 void SetCompleteCreation( bool condition );
00095 bool GetIfCompleteCreation ( );
00096 void SetKeyBoardMoving( bool condition );
00097 bool GetKeyBoardMoving( );
00098
00099 void CreateNewManualContour();
00100 int GetNumberOfPointsManualContour();
00101 int GetNumberOfPointsSplineManualContour();
00102 void DeleteContour();
00103 virtual void DeleteActualMousePoint(int x, int y );
00104 double* GetVectorPointsXManualContour();
00105 double* GetVectorPointsYManualContour();
00106
00107
00108 void SetZ(int z);
00109 virtual int GetZ();
00110
00111 virtual void AddPoint(int x, int y, int z);
00112 virtual void InsertPoint(int x, int y, int z);
00113
00114 virtual void SetPoint( int id ,int x ,int y ,int z);
00115 void SetPointX( int id ,int x );
00116 void SetPointY( int id ,int y );
00117 void SetPointZ( int id ,int z );
00118
00119 void Magnet(int x, int y);
00120 virtual void ResetContour();
00121
00122 virtual void Configure();
00123
00124
00125
00126
00127
00128
00129 private:
00130 manualViewBaseContour *_manViewBaseCont;
00131 manualContourModel *_manContModel;
00132
00133 int _z;
00134 int _state;
00135 bool _editable;
00136 bool _posibleToMove;
00137 bool _moving;
00138 bool _created;
00139 bool _keyBoardMoving;
00140
00141 };
00142
00143
00144 #endif // manualContourBaseControler_h