1 #ifndef manualContourBaseControler_h
2 #define manualContourBaseControler_h
4 #include "vtkRenderWindow.h"
6 #include "vtkRenderer.h"
7 #include "vtkRenderWindowInteractor.h" //extremely important with VC++ don't remove !
8 #include "vtkCommand.h"
9 #include "vtkPolyData.h"
10 #include "vtkCellArray.h"
11 #include "vtkPolyDataMapper.h"
12 #include "vtkInteractorObserver.h"
13 #include "vtkInteractorStyleImage.h"
14 #include <vtkKochanekSpline.h>
16 #include <vtkCellPicker.h>
19 #include <vtkCamera.h>
20 #include <vtkPolyLine.h>
21 #include <vtkDataSetMapper.h>
22 #include <vtkUnstructuredGrid.h>
25 #include <vtkProperty.h>
27 #include <vtkCellArray.h>
28 #include <vtkRenderer.h>
29 #include <vtkCoordinate.h>
30 #include <vtkTextProperty.h>
31 #include <vtkTextActor.h>
32 #include <vtkProperty2D.h>
33 #include <vtkPointPicker.h>
34 #include "widgets/UtilVtk3DGeometriSelection.h"
35 #include "widgets/InteractorStyleMaracas.h"
38 #include "wxVTKRenderWindowInteractor.h"
44 #include "wxVtkBaseView.h"
47 #include "manualContourModel.h"
48 #include "manualViewBaseContour.h"
51 // ----------------------------------------------------------------------------
52 // ----------------------------------------------------------------------------
53 // ----------------------------------------------------------------------------
55 class creaMaracasVisu_EXPORT manualContourBaseControler: public InteractorStyleMaracas
58 manualContourBaseControler();
59 virtual ~manualContourBaseControler();
61 virtual manualContourBaseControler * Clone();
62 void CopyAttributesTo( manualContourBaseControler *cloneObject );
64 virtual bool OnChar();
65 virtual bool OnMouseMove();
66 virtual bool OnLeftButtonDown();
67 virtual bool OnLeftButtonUp();
68 virtual bool OnLeftDClick();
69 virtual bool OnMiddleButtonDown();
70 virtual bool OnMiddleButtonUp();
71 virtual bool OnRightButtonDown();
72 virtual bool OnRightButtonUp();
74 void SetModelView(manualContourModel *manContModel, manualViewBaseContour *manViewBaseCont);
75 manualContourModel * GetManualContourModel();
76 manualViewBaseContour * GetManualViewBaseContour();
79 virtual void MouseClickLeft(int x, int y);
80 virtual void MouseClickRight(int x, int y);
81 virtual void MouseDLeft(int x, int y);
83 virtual void MouseMove(int x, int y);
84 virtual void MouseReleaseLeft(int x, int y);
86 void SetState(int state);
89 void SetEditable( bool condition );
90 bool GetPosibleToMove();
91 void SetPosibleToMove( bool condition );
93 void SetMoving( bool condition );
94 void SetCompleteCreation( bool condition );
95 bool GetIfCompleteCreation ( );
96 void SetKeyBoardMoving( bool condition );
97 bool GetKeyBoardMoving( );
99 void CreateNewManualContour();
100 int GetNumberOfPointsManualContour();
101 int GetNumberOfPointsSplineManualContour();
102 void DeleteContour();
103 virtual void DeleteActualMousePoint(int x, int y );
104 double* GetVectorPointsXManualContour();
105 double* GetVectorPointsYManualContour();
111 virtual void AddPoint(int x, int y, int z);
112 virtual void InsertPoint(int x, int y, int z);
114 virtual void SetPoint( int id ,int x ,int y ,int z);
115 void SetPointX( int id ,int x );
116 void SetPointY( int id ,int y );
117 void SetPointZ( int id ,int z );
119 void Magnet(int x, int y);
120 virtual void ResetContour();
122 virtual void Configure();
126 // virtual manualContourBaseControler * Clone( manualViewBaseContour * cloneView = NULL, manualContourModel * cloneModel = NULL );
130 manualViewBaseContour *_manViewBaseCont;
131 manualContourModel *_manContModel;
139 bool _keyBoardMoving;
144 #endif // manualContourBaseControler_h