1 #include "ManualPaintModel.h"
3 ManualPaintModel::ManualPaintModel() {
4 _tool = 0; // 0 pencil , 1 fill
5 _brushfilter = new BrushFilter();
6 _fillfilter = new FillFilter();
7 _imageUndoRedo = new ImageUndoRedo();
10 //---------------------------------------------------------------------------
11 ManualPaintModel::~ManualPaintModel() {
16 //---------------------------------------------------------------------------
17 void ManualPaintModel::PaintImage(int px, int py, int pz) {
19 _brushfilter->SetPoint(px, py, pz);
23 _fillfilter->SetPoint(px, py, pz);
28 //---------------------------------------------------------------------------
29 void ManualPaintModel::SetTool(int tool) {
33 //---------------------------------------------------------------------------
34 void ManualPaintModel::Set2D3D(int dim2D3D) {
35 _brushfilter->Set2D3D(dim2D3D);
36 _fillfilter->Set2D3D(dim2D3D);
39 //---------------------------------------------------------------------------
40 void ManualPaintModel::SetImage(vtkImageData *image) {
41 _brushfilter->SetImage(image);
42 _fillfilter->SetImage(image);
43 std::cout<<"setIMAAAAAAGEEEEEE"<<std::endl;
44 _imageUndoRedo->SetImage(image);
47 //---------------------------------------------------------------------------
48 void ManualPaintModel::SetGrayLevel(double graylevel) {
49 _brushfilter->SetGrayLevel(graylevel);
50 _fillfilter->SetGrayLevel(graylevel);
53 //---------------------------------------------------------------------------
54 void ManualPaintModel::SetRangeMin(int min) {
55 _brushfilter->SetRangeMin(min);
56 _fillfilter->SetRangeMin(min);
59 //---------------------------------------------------------------------------
60 void ManualPaintModel::SetRangeMax(int max) {
61 _brushfilter->SetRangeMax(max);
62 _fillfilter->SetRangeMax(max);
65 //---------------------------------------------------------------------------
66 void ManualPaintModel::SetDirection(int direction) {
67 _brushfilter->SetDirection(direction);
68 _fillfilter->SetDirection(direction);
71 //---------------------------------------------------------------------------
72 void ManualPaintModel::SetBrushSize(int brushsize) {
73 _brushfilter->SetBrushSize(brushsize);
76 //---------------------------------------------------------------------------
77 void ManualPaintModel::SetBrushForm(int brushform) {
78 _brushfilter->SetBrushForm(brushform);
81 //---------------------------------------------------------------------------
82 void ManualPaintModel::SetToleranceFill(double tolerancefill) {
83 _fillfilter->SetToleranceFill(tolerancefill);
86 //---------------------------------------------------------------------------
87 void ManualPaintModel::SetDistanceFill(int distancefill) {
88 _fillfilter->SetDistanceFill(distancefill);
90 //---------------------------------------------------------------------------
91 void ManualPaintModel::GetScalarRange(double * range) {
92 _fillfilter->GetScalarRange(range);
94 //---------------------------------------------------------------------------
95 void ManualPaintModel::SetUndoImage() {
96 RegionStructUR* region = NULL;
98 region = this->_brushfilter->GetModifiedRegion();
101 region = this->_fillfilter->GetModifiedRegion();
103 this->_imageUndoRedo->SetUndoImage((*region));
104 this->_brushfilter->CleanModifiedRegion();
105 this->_fillfilter->CleanModifiedRegion();
107 //---------------------------------------------------------------------------
109 void ManualPaintModel::Undo() {
110 this->_imageUndoRedo->Undo();