#include "ManualPaintModel.h" ManualPaintModel::ManualPaintModel() { _tool = 0; // 0 pencil , 1 fill _brushfilter = new BrushFilter(); _fillfilter = new FillFilter(); _imageUndoRedo = new ImageUndoRedo(); } //--------------------------------------------------------------------------- ManualPaintModel::~ManualPaintModel() { delete _brushfilter; delete _fillfilter; } //--------------------------------------------------------------------------- void ManualPaintModel::PaintImage(int px, int py, int pz) { if (_tool == 0) { _brushfilter->SetPoint(px, py, pz); _brushfilter->Run(); } if (_tool == 1) { _fillfilter->SetPoint(px, py, pz); _fillfilter->Run(); } } //--------------------------------------------------------------------------- void ManualPaintModel::SetTool(int tool) { _tool = tool; } //--------------------------------------------------------------------------- void ManualPaintModel::Set2D3D(int dim2D3D) { _brushfilter->Set2D3D(dim2D3D); _fillfilter->Set2D3D(dim2D3D); } //--------------------------------------------------------------------------- void ManualPaintModel::SetImage(vtkImageData *image) { _brushfilter->SetImage(image); _fillfilter->SetImage(image); std::cout<<"setIMAAAAAAGEEEEEE"<SetImage(image); } //--------------------------------------------------------------------------- void ManualPaintModel::SetGrayLevel(double graylevel) { _brushfilter->SetGrayLevel(graylevel); _fillfilter->SetGrayLevel(graylevel); } //--------------------------------------------------------------------------- void ManualPaintModel::SetRangeMin(int min) { _brushfilter->SetRangeMin(min); _fillfilter->SetRangeMin(min); } //--------------------------------------------------------------------------- void ManualPaintModel::SetRangeMax(int max) { _brushfilter->SetRangeMax(max); _fillfilter->SetRangeMax(max); } //--------------------------------------------------------------------------- void ManualPaintModel::SetDirection(int direction) { _brushfilter->SetDirection(direction); _fillfilter->SetDirection(direction); } //--------------------------------------------------------------------------- void ManualPaintModel::SetBrushSize(int brushsize) { _brushfilter->SetBrushSize(brushsize); } //--------------------------------------------------------------------------- void ManualPaintModel::SetBrushForm(int brushform) { _brushfilter->SetBrushForm(brushform); } //--------------------------------------------------------------------------- void ManualPaintModel::SetToleranceFill(double tolerancefill) { _fillfilter->SetToleranceFill(tolerancefill); } //--------------------------------------------------------------------------- void ManualPaintModel::SetDistanceFill(int distancefill) { _fillfilter->SetDistanceFill(distancefill); } //--------------------------------------------------------------------------- void ManualPaintModel::GetScalarRange(double * range) { _fillfilter->GetScalarRange(range); } //--------------------------------------------------------------------------- void ManualPaintModel::SetUndoImage() { RegionStructUR* region = NULL; if (_tool == 0) { region = this->_brushfilter->GetModifiedRegion(); } if (_tool == 1) { region = this->_fillfilter->GetModifiedRegion(); } this->_imageUndoRedo->SetUndoImage((*region)); this->_brushfilter->CleanModifiedRegion(); this->_fillfilter->CleanModifiedRegion(); } //--------------------------------------------------------------------------- void ManualPaintModel::Undo() { this->_imageUndoRedo->Undo(); }