]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.cpp
DFCH: ManualPaint + imageUndoRedo -> 50% tested. (Save Images undo and redo) :) :)
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / ManualPaintControler.cpp
1 #include "ManualPaintControler.h"
2 #include "vtkInteractorManualPaint.h"
3 #include "vtkImageActor.h"
4
5 //---------------------------------------------------------------------------
6 ManualPaintControler::ManualPaintControler() {
7         auxZ = 0;
8         _wxvtk2Dbaseview = NULL;
9 }
10
11 //---------------------------------------------------------------------------
12 ManualPaintControler::~ManualPaintControler() {
13 }
14
15 //---------------------------------------------------------------------------
16 void ManualPaintControler::SetManualPaintModel(
17                 ManualPaintModel* manualPaintModel) {
18         _manualPaintModel = manualPaintModel;
19 }
20
21 //---------------------------------------------------------------------------
22 void ManualPaintControler::SetManualPaintPanel(
23                 ManualPaintPanel* manualPaintPanel) {
24         _manualPaintPanel = manualPaintPanel;
25 }
26
27 //---------------------------------------------------------------------------
28 void ManualPaintControler::SetWxVtk2DBaseView(
29                 wxVtk2DBaseView *wxvtk2Dbaseview) {
30         _wxvtk2Dbaseview = wxvtk2Dbaseview;
31 }
32
33 //---------------------------------------------------------------------------
34 void ManualPaintControler::Config() {
35         if (_wxvtk2Dbaseview != NULL) {
36                 vtkInteractorStyleBaseView *isbv =
37                                 (vtkInteractorStyleBaseView*) (_wxvtk2Dbaseview->GetInteractorStyleBaseView());
38                 isbv->AddInteractorStyleMaracas(new vtkInteractorManualPaint(this));
39         }
40 }
41
42 //---------------------------------------------------------------------------
43 void ManualPaintControler::PaintImage(int px, int py, int pz) {
44         _manualPaintModel->SetDirection(_wxvtk2Dbaseview->GetDirection());
45         _manualPaintModel->PaintImage(px, py, pz);
46
47         // The refresh mechanisme is made in the vtkInteractorManualPaint
48         //    RefreshView();
49 }
50
51 //---------------------------------------------------------------------------
52 void ManualPaintControler::SetImageUndo()
53 {
54         _manualPaintModel->SetUndoImage();
55 }