]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourBaseControler.h
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualContour / manualContourBaseControler.h
1 #ifndef manualContourBaseControler_h
2 #define manualContourBaseControler_h
3
4 #include "vtkRenderWindow.h"
5
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> 
15
16 #include <vtkCellPicker.h> 
17
18
19 #include <vtkCamera.h> 
20 #include <vtkPolyLine.h>
21 #include <vtkDataSetMapper.h>
22 #include <vtkUnstructuredGrid.h>
23
24 #include <vtkActor.h>
25 #include <vtkProperty.h>
26
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"
36
37
38 #include "wxVTKRenderWindowInteractor.h"
39
40
41 //--
42
43 #include <vector>
44 #include "wxVtkBaseView.h"
45 #include "marTypes.h"
46
47 #include "manualContourModel.h"
48 #include "manualViewBaseContour.h"
49
50
51 // ----------------------------------------------------------------------------
52 // ----------------------------------------------------------------------------
53 // ----------------------------------------------------------------------------
54
55 class creaMaracasVisu_EXPORT manualContourBaseControler: public InteractorStyleMaracas
56 {
57 public:
58         manualContourBaseControler();
59         virtual ~manualContourBaseControler();
60
61         virtual manualContourBaseControler * Clone();
62         void CopyAttributesTo( manualContourBaseControler *cloneObject );
63
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();
73
74         void    SetModelView(manualContourModel *manContModel, manualViewBaseContour *manViewBaseCont);
75         manualContourModel              * GetManualContourModel();
76         manualViewBaseContour   * GetManualViewBaseContour();
77
78
79         virtual void    MouseClickLeft(int x, int y);
80         virtual void    MouseClickRight(int x, int y);
81         virtual void    MouseDLeft(int x, int y);
82
83         virtual void    MouseMove(int x, int y);
84         virtual void    MouseReleaseLeft(int x, int y);
85
86         void    SetState(int state);
87         int             GetState();
88         bool    IsEditable();
89         void    SetEditable(  bool condition  );
90         bool    GetPosibleToMove();
91         void    SetPosibleToMove(  bool condition  );
92         bool    IsMoving();
93         void    SetMoving(  bool condition  );
94         void    SetCompleteCreation( bool condition );
95         bool    GetIfCompleteCreation ( );
96         void    SetKeyBoardMoving( bool condition );
97         bool    GetKeyBoardMoving(  );
98         
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();
106         
107
108         void    SetZ(int z);
109         virtual int             GetZ();
110
111         virtual void    AddPoint(int x, int y, int z);
112         virtual void    InsertPoint(int x, int y, int z);
113
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 );
118
119                         void    Magnet(int x, int y);
120         virtual void    ResetContour();
121
122         virtual void Configure();
123
124
125 //EED Borrame
126 //      virtual manualContourBaseControler * Clone( manualViewBaseContour * cloneView = NULL, manualContourModel * cloneModel = NULL );
127
128
129 private:
130         manualViewBaseContour   *_manViewBaseCont;
131         manualContourModel              *_manContModel;
132
133         int                                             _z;
134         int                                             _state;
135         bool                                    _editable;      
136         bool                                    _posibleToMove;
137         bool                                    _moving;
138         bool                                    _created;
139         bool                                    _keyBoardMoving;
140                 
141 }; 
142
143
144 #endif // manualContourBaseControler_h