From: Diego Caceres Date: Thu, 6 Oct 2011 22:21:57 +0000 (+0000) Subject: DFCH: Manual Paint Changes (Undo/Redo) 80% :) :) X-Git-Tag: v1.0.4~58 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=751ae064f0944a8c2fbe0d21a8a0f58874b75119;p=creaMaracasVisu.git DFCH: Manual Paint Changes (Undo/Redo) 80% :) :) --- diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.cpp index 4a1d0d6..d58d6db 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.cpp @@ -111,6 +111,7 @@ void BrushFilter::Run() // virtual { // if ((i>=_minX) && (i<=_maxX) && (j>=_minY) && (j<=_maxY) && (k>=_minZ) && (k<=_maxZ)) // { + float scalarComponent = _image->GetScalarComponentAsFloat(i,j,k, 0); if( ( this->GetRangeMin() <= scalarComponent ) && ( scalarComponent <= this->GetRangeMax() ) ) { @@ -118,11 +119,13 @@ void BrushFilter::Run() // virtual zz=zz*zz; if (_brushform==0) { + this->CalculateMinMaxRegion(i,j,k); //DFCH _image->SetScalarComponentFromFloat (i,j,k, 0, value ); } else if (_brushform==1) { if ((xx+yy+zz)<=rr) { + this->CalculateMinMaxRegion(i,j,k); //DFCH _image->SetScalarComponentFromFloat (i,j,k, 0, value ); } } // _brushform diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/FillFilter.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/FillFilter.cpp index 02a5130..694c6ab 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/FillFilter.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/FillFilter.cpp @@ -99,6 +99,7 @@ void FillFilter::FillToolRecursive(int px,int py, int pz) { if (_usingAuxImageFill==true) { + this->CalculateMinMaxRegion(px,py,pz); //DFCH _auxImageFill->SetScalarComponentFromFloat (px, py, pz,0, 0); } _tmpDistfill=(px-_pxfill)*(px-_pxfill) + (py-_pyfill)*(py-_pyfill) + (pz-_pzfill)*(pz-_pzfill); @@ -149,6 +150,7 @@ void FillFilter::FillToolRecursive(int px,int py, int pz) if ( _auxGrayLevelValidationFill==true ) { + this->CalculateMinMaxRegion(px,py,pz); //DFCH _image->SetScalarComponentFromFloat (px,py,pz, 0, (float)_graylevel ); if (_countRecursiveFill< _limitRecursionFill) @@ -257,6 +259,7 @@ void FillFilter::SetAuxImageFill(int px,int py, int pz) { if ((px>=_minX) && (px<=_maxX) && (py>=_minY) && (py<=_maxY) && (pz>=_minZ) && (pz<=_maxZ)) { + this->CalculateMinMaxRegion(px,py,pz); //DFCH _auxImageFill->SetScalarComponentFromFloat (px, py, pz,0, 1); } } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.cpp index dc4fea1..cdfc6ba 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.cpp @@ -1,59 +1,55 @@ - #include "ManualPaintControler.h" #include "vtkInteractorManualPaint.h" #include "vtkImageActor.h" //--------------------------------------------------------------------------- -ManualPaintControler::ManualPaintControler() -{ - auxZ=0; - _wxvtk2Dbaseview=NULL; +ManualPaintControler::ManualPaintControler() { + auxZ = 0; + _wxvtk2Dbaseview = NULL; } //--------------------------------------------------------------------------- -ManualPaintControler::~ManualPaintControler() -{ +ManualPaintControler::~ManualPaintControler() { } //--------------------------------------------------------------------------- -void ManualPaintControler::SetManualPaintModel(ManualPaintModel* manualPaintModel) -{ - _manualPaintModel = manualPaintModel; +void ManualPaintControler::SetManualPaintModel( + ManualPaintModel* manualPaintModel) { + _manualPaintModel = manualPaintModel; } //--------------------------------------------------------------------------- -void ManualPaintControler::SetManualPaintPanel(ManualPaintPanel* manualPaintPanel) -{ - _manualPaintPanel = manualPaintPanel; +void ManualPaintControler::SetManualPaintPanel( + ManualPaintPanel* manualPaintPanel) { + _manualPaintPanel = manualPaintPanel; } //--------------------------------------------------------------------------- -void ManualPaintControler::SetWxVtk2DBaseView(wxVtk2DBaseView *wxvtk2Dbaseview) -{ - _wxvtk2Dbaseview = wxvtk2Dbaseview; +void ManualPaintControler::SetWxVtk2DBaseView( + wxVtk2DBaseView *wxvtk2Dbaseview) { + _wxvtk2Dbaseview = wxvtk2Dbaseview; } //--------------------------------------------------------------------------- -void ManualPaintControler::Config() -{ - if (_wxvtk2Dbaseview!=NULL) - { - vtkInteractorStyleBaseView *isbv = (vtkInteractorStyleBaseView*)(_wxvtk2Dbaseview->GetInteractorStyleBaseView()); - isbv->AddInteractorStyleMaracas( new vtkInteractorManualPaint(this) ); - } +void ManualPaintControler::Config() { + if (_wxvtk2Dbaseview != NULL) { + vtkInteractorStyleBaseView *isbv = + (vtkInteractorStyleBaseView*) (_wxvtk2Dbaseview->GetInteractorStyleBaseView()); + isbv->AddInteractorStyleMaracas(new vtkInteractorManualPaint(this)); + } } - - //--------------------------------------------------------------------------- -void ManualPaintControler::PaintImage(int px,int py, int pz) -{ - _manualPaintModel->SetDirection( _wxvtk2Dbaseview->GetDirection() ); - _manualPaintModel->PaintImage(px,py,pz); +void ManualPaintControler::PaintImage(int px, int py, int pz) { + _manualPaintModel->SetDirection(_wxvtk2Dbaseview->GetDirection()); + _manualPaintModel->PaintImage(px, py, pz); - // The refresh mechanisme is made in the vtkInteractorManualPaint - // RefreshView(); + // The refresh mechanisme is made in the vtkInteractorManualPaint + // RefreshView(); } //--------------------------------------------------------------------------- - +void ManualPaintControler::SetImageUndo() +{ + _manualPaintModel->SetUndoImage(); +} diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.h index 33e6abd..4d2d2cd 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintControler.h @@ -16,6 +16,7 @@ public: void SetWxVtk2DBaseView(wxVtk2DBaseView *wxvtk2Dbaseview); void Config(); void PaintImage(int px,int py, int pz); + void SetImageUndo(); private: int auxZ; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.cpp index 17a86cf..3c1f351 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.cpp @@ -1,113 +1,110 @@ - #include "ManualPaintModel.h" - -ManualPaintModel::ManualPaintModel() -{ - _tool = 0; // 0 pencil , 1 fill - _brushfilter = new BrushFilter(); - _fillfilter = new FillFilter(); +ManualPaintModel::ManualPaintModel() { + _tool = 0; // 0 pencil , 1 fill + _brushfilter = new BrushFilter(); + _fillfilter = new FillFilter(); + _imageUndoRedo = new ImageUndoRedo(); } //--------------------------------------------------------------------------- -ManualPaintModel::~ManualPaintModel() -{ - delete _brushfilter; - delete _fillfilter; +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::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::SetTool(int tool) { + _tool = tool; } //--------------------------------------------------------------------------- -void ManualPaintModel::Set2D3D( int dim2D3D ) -{ - _brushfilter->Set2D3D(dim2D3D); - _fillfilter->Set2D3D(dim2D3D); +void ManualPaintModel::Set2D3D(int dim2D3D) { + _brushfilter->Set2D3D(dim2D3D); + _fillfilter->Set2D3D(dim2D3D); } - //--------------------------------------------------------------------------- -void ManualPaintModel::SetImage(vtkImageData *image) -{ - _brushfilter->SetImage(image); - _fillfilter->SetImage(image); +void ManualPaintModel::SetImage(vtkImageData *image) { + _brushfilter->SetImage(image); + _fillfilter->SetImage(image); + _imageUndoRedo->SetImage(image); } //--------------------------------------------------------------------------- -void ManualPaintModel::SetGrayLevel( double graylevel ) -{ - _brushfilter->SetGrayLevel(graylevel); - _fillfilter->SetGrayLevel(graylevel); +void ManualPaintModel::SetGrayLevel(double graylevel) { + _brushfilter->SetGrayLevel(graylevel); + _fillfilter->SetGrayLevel(graylevel); } //--------------------------------------------------------------------------- -void ManualPaintModel::SetRangeMin( int min ) -{ +void ManualPaintModel::SetRangeMin(int min) { _brushfilter->SetRangeMin(min); _fillfilter->SetRangeMin(min); } //--------------------------------------------------------------------------- -void ManualPaintModel::SetRangeMax( int max ) -{ +void ManualPaintModel::SetRangeMax(int max) { _brushfilter->SetRangeMax(max); _fillfilter->SetRangeMax(max); } //--------------------------------------------------------------------------- -void ManualPaintModel::SetDirection(int direction) -{ - _brushfilter->SetDirection(direction); - _fillfilter->SetDirection(direction); +void ManualPaintModel::SetDirection(int direction) { + _brushfilter->SetDirection(direction); + _fillfilter->SetDirection(direction); } - //--------------------------------------------------------------------------- -void ManualPaintModel::SetBrushSize( int brushsize ) -{ - _brushfilter->SetBrushSize(brushsize); +void ManualPaintModel::SetBrushSize(int brushsize) { + _brushfilter->SetBrushSize(brushsize); } - //--------------------------------------------------------------------------- -void ManualPaintModel::SetBrushForm( int brushform ) -{ - _brushfilter->SetBrushForm(brushform); +void ManualPaintModel::SetBrushForm(int brushform) { + _brushfilter->SetBrushForm(brushform); } //--------------------------------------------------------------------------- -void ManualPaintModel::SetToleranceFill(double tolerancefill) -{ - _fillfilter->SetToleranceFill(tolerancefill); +void ManualPaintModel::SetToleranceFill(double tolerancefill) { + _fillfilter->SetToleranceFill(tolerancefill); } //--------------------------------------------------------------------------- -void ManualPaintModel::SetDistanceFill(int distancefill) -{ - _fillfilter->SetDistanceFill(distancefill); +void ManualPaintModel::SetDistanceFill(int distancefill) { + _fillfilter->SetDistanceFill(distancefill); } //--------------------------------------------------------------------------- -void ManualPaintModel::GetScalarRange( double * range ) -{ - _fillfilter->GetScalarRange( range ); +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(); +} diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h index a391463..93adac9 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h @@ -3,7 +3,8 @@ #include "BrushFilter.h" #include "FillFilter.h" - +#include "regionStructUR.h" +#include "imageUndoRedo.h" class ManualPaintModel { public: @@ -23,12 +24,16 @@ public: void SetRangeMin( int min ); void SetRangeMax( int max ); void GetScalarRange( double * range ); + void SetUndoImage();//DFCH + void Undo();//DFCH private: int _tool; BrushFilter *_brushfilter; FillFilter *_fillfilter; + ImageUndoRedo *_imageUndoRedo; + protected: }; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.cpp index a63ce13..d9ce41a 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.cpp @@ -1,128 +1,141 @@ - #include "baseFilterManualPaint.h" -baseFilterManualPaint::baseFilterManualPaint() -{ - _graylevel = 0.0; - _2D3D = 1; // 0 2D , 1 true 3D - _direction = 0; // 1 XZ , 0 YZ , 2 XY - _minX = 0; - _minY = 0; - _minZ = 0; - _maxX = 0; - _maxY = 0; - _maxZ = 0; - - _pMinX = 0; - _pMinY = 0; - _pMinZ = 0; - _pMaxX = 0; - _pMaxY = 0; - _pMaxZ = 0; +baseFilterManualPaint::baseFilterManualPaint() { + _MRegion = new RegionStructUR(); + CleanModifiedRegion(); + _graylevel = 0.0; + _2D3D = 1; // 0 2D , 1 true 3D + _direction = 0; // 1 XZ , 0 YZ , 2 XY + _minX = 0; + _minY = 0; + _minZ = 0; + _maxX = 0; + _maxY = 0; + _maxZ = 0; + + _pMinX = 0; + _pMinY = 0; + _pMinZ = 0; + _pMaxX = 0; + _pMaxY = 0; + _pMaxZ = 0; } //--------------------------------------------------------------------------- -baseFilterManualPaint::~baseFilterManualPaint() // virtual +baseFilterManualPaint::~baseFilterManualPaint() // virtual { } //--------------------------------------------------------------------------- -void baseFilterManualPaint::Run() // virtual +void baseFilterManualPaint::Run() // virtual { } - //--------------------------------------------------------------------------- -void baseFilterManualPaint::SetGrayLevel( double graylevel ) -{ - _graylevel = graylevel; +void baseFilterManualPaint::SetGrayLevel(double graylevel) { + _graylevel = graylevel; } //--------------------------------------------------------------------------- -void baseFilterManualPaint::Set2D3D( int dim2D3D ) -{ - _2D3D = dim2D3D; +void baseFilterManualPaint::Set2D3D(int dim2D3D) { + _2D3D = dim2D3D; } //--------------------------------------------------------------------------- -void baseFilterManualPaint::SetDirection(int direction) -{ - _direction = direction; +void baseFilterManualPaint::SetDirection(int direction) { + _direction = direction; } //--------------------------------------------------------------------------- -void baseFilterManualPaint::SetPoint(int px,int py, int pz) -{ - _px=px; - _py=py; - _pz=pz; +void baseFilterManualPaint::SetPoint(int px, int py, int pz) { + _px = px; + _py = py; + _pz = pz; } //--------------------------------------------------------------------------- -void baseFilterManualPaint::SetImage(vtkImageData *image) -{ - int ext[6]; - _image=image; - _image->GetWholeExtent(ext); - _minX=0; - _minY=0; - _minZ=0; - _maxX=ext[1]-ext[0]; - _maxY=ext[3]-ext[2]; - _maxZ=ext[5]-ext[4]; +void baseFilterManualPaint::SetImage(vtkImageData *image) { + int ext[6]; + _image = image; + _image->GetWholeExtent(ext); + _minX = 0; + _minY = 0; + _minZ = 0; + _maxX = ext[1] - ext[0]; + _maxY = ext[3] - ext[2]; + _maxZ = ext[5] - ext[4]; } //--------------------------------------------------------------------------- -void baseFilterManualPaint::ResetGeneralMinMax() -{ - _pMinX=10000; - _pMinY=10000; - _pMinZ=10000; - _pMaxX=-10000; - _pMaxY=-10000; - _pMaxZ=-10000; +void baseFilterManualPaint::ResetGeneralMinMax() { + _pMinX = 10000; + _pMinY = 10000; + _pMinZ = 10000; + _pMaxX = -10000; + _pMaxY = -10000; + _pMaxZ = -10000; } - //--------------------------------------------------------------------------- -void baseFilterManualPaint::SetGeneralMinMax(int minX,int maxX,int minY,int maxY,int minZ,int maxZ) -{ - if (_pMinX>minX) - { - _pMinX=minX; - } - - if (_pMinY>minY) - { - _pMinY=minY; - } - - if (_pMinZ>minZ) - { - _pMinZ=minZ; - } - - if (_pMaxX minX) { + _pMinX = minX; + } + + if (_pMinY > minY) { + _pMinY = minY; + } + + if (_pMinZ > minZ) { + _pMinZ = minZ; + } + + if (_pMaxX < maxX) { + _pMaxX = maxX; + } + + if (_pMaxY < maxY) { + _pMaxY = maxY; + } + + if (_pMaxZ < maxZ) { + _pMaxZ = maxZ; + } } //--------------------------------------------------------------------------- -void baseFilterManualPaint::GetScalarRange( double * range ) -{ +void baseFilterManualPaint::GetScalarRange(double * range) { range = this->_image->GetScalarRange(); } - +RegionStructUR* baseFilterManualPaint::GetModifiedRegion() { + return (this->_MRegion); +} //DFCH +void baseFilterManualPaint::CleanModifiedRegion() { + this->_MRegion->minX = 0; + this->_MRegion->maxX = 0; + this->_MRegion->minY = 0; + this->_MRegion->maxY = 0; + this->_MRegion->minZ = 0; + this->_MRegion->maxZ = 0; +} //DFCH +void baseFilterManualPaint::CalculateMinMaxRegion(const int& i, const int& j, + const int& k) { + if (i < this->_MRegion->minX) { + this->_MRegion->minX = i; + } else { + this->_MRegion->maxX = i; + } //fi + if (j < this->_MRegion->minY) { + this->_MRegion->minY = j; + } else { + this->_MRegion->maxY = j; + } //fi + if (k < this->_MRegion->minZ) { + this->_MRegion->minZ = k; + } else { + this->_MRegion->maxZ = k; + } //fi +} diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h index 4414e51..ad3f662 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h @@ -2,6 +2,7 @@ #define _BASE_FILTER_MANUAL_PAINT_H_ #include +#include "regionStructUR.h" class baseFilterManualPaint { @@ -17,11 +18,15 @@ class baseFilterManualPaint { void ResetGeneralMinMax(); void SetGeneralMinMax(int minX,int maxX,int minY,int maxY,int minZ,int maxZ); void GetScalarRange( double * range ); + RegionStructUR* GetModifiedRegion();//DFCH + void CleanModifiedRegion();//DFCH + void CalculateMinMaxRegion( const int& i, const int& j, const int& k);//DFCH virtual void Run(); private: protected: + RegionStructUR *_MRegion; //Saves the last modified region (MinX, MaxX, MinY, MaxY, MinZ, MaxZ). vtkImageData *_image; int _direction; int _px; // start point of the brush diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/image3DDequeUR.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/image3DDequeUR.cxx index 809a395..3159740 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/image3DDequeUR.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/image3DDequeUR.cxx @@ -9,66 +9,66 @@ Image3DDequeUR::~Image3DDequeUR() { } //virtual -void Image3DDequeUR::addImageToUndoContainer(ImageType* img, +void Image3DDequeUR::AddImageToUndoContainer(ImageType* img, const RegionS& region) { //managing memory if (this->m_ImgUndoDeque.size() > 0) { - this->m_ImgUndoDeque.back().removeImageFromMemory(); + this->m_ImgUndoDeque.back().RemoveImageFromMemory(); } //fi ImageInfoUR imageInfo; - imageInfo.setImageName(this->getImageName()); - imageInfo.setImage(img); - imageInfo.setRegion(region); + imageInfo.SetImageName(this->GetImageName()); + imageInfo.SetImage(img); + imageInfo.SetRegion(region); //saving to disk - std::string fullpath = this->m_globalPath + imageInfo.getImageName() + std::string fullpath = this->m_globalPath + imageInfo.GetImageName() + "_UNDO.MHD"; - this->saveImageAsMHD(img, fullpath); + this->SaveImageAsMHD(img, fullpath); //Adding to deque this->m_ImgUndoDeque.push_back(imageInfo); this->m_currentUndoPos = this->m_ImgUndoDeque.size() - 1; } //virtual -void Image3DDequeUR::addImageToRedoContainer(ImageType* img, +void Image3DDequeUR::AddImageToRedoContainer(ImageType* img, const RegionS& region) { //managing memory if (this->m_ImgRedoDeque.size() > 0) { - this->m_ImgRedoDeque.back().removeImageFromMemory(); + this->m_ImgRedoDeque.back().RemoveImageFromMemory(); } //fi ImageInfoUR imageInfo; - imageInfo.setImageName(this->getImageName()); - imageInfo.setImage(img); - imageInfo.setRegion(region); + imageInfo.SetImageName(this->GetImageName()); + imageInfo.SetImage(img); + imageInfo.SetRegion(region); //saving to disk - std::string fullpath = this->m_globalPath + imageInfo.getImageName() + std::string fullpath = this->m_globalPath + imageInfo.GetImageName() + "_REDO.MHD"; - this->saveImageAsMHD(img, fullpath); + this->SaveImageAsMHD(img, fullpath); //Adding to deque this->m_ImgRedoDeque.push_back(imageInfo); } //virtual -void Image3DDequeUR::loadUndoImageToPMemory(const unsigned int& index) { +void Image3DDequeUR::LoadUndoImageToPMemory(const unsigned int& index) { creaImageIO::ImageReader reader; std::string fullPath = this->m_globalPath - + this->m_ImgUndoDeque[index].getImageName(); - this->m_ImgUndoDeque[index].setImage(reader.ReadImage(fullPath)); + + this->m_ImgUndoDeque[index].GetImageName(); + this->m_ImgUndoDeque[index].SetImage(reader.ReadImage(fullPath)); } //virtual -void Image3DDequeUR::removeUndoImageFromPMemory(const unsigned int& index) { - this->m_ImgUndoDeque[index].removeImageFromMemory(); +void Image3DDequeUR::RemoveUndoImageFromPMemory(const unsigned int& index) { + this->m_ImgUndoDeque[index].RemoveImageFromMemory(); } //virtual -void Image3DDequeUR::loadRedoImageToPMemory(const unsigned int& index) { +void Image3DDequeUR::LoadRedoImageToPMemory(const unsigned int& index) { creaImageIO::ImageReader reader; std::string fullPath = this->m_globalPath - + this->m_ImgRedoDeque[index].getImageName(); - this->m_ImgRedoDeque[index].setImage(reader.ReadImage(fullPath)); + + this->m_ImgRedoDeque[index].GetImageName(); + this->m_ImgRedoDeque[index].SetImage(reader.ReadImage(fullPath)); } //virtual -void Image3DDequeUR::removeRedoImageFromPMemory(const unsigned int& index) { - this->m_ImgRedoDeque[index].removeImageFromMemory(); +void Image3DDequeUR::RemoveRedoImageFromPMemory(const unsigned int& index) { + this->m_ImgRedoDeque[index].RemoveImageFromMemory(); } //virtual -void Image3DDequeUR::saveImageAsMHD(ImageType* img, +void Image3DDequeUR::SaveImageAsMHD(ImageType* img, const std::string& filename) { vtkMetaImageWriter* w = vtkMetaImageWriter::New(); w->SetInput(img); @@ -81,64 +81,64 @@ void Image3DDequeUR::saveImageAsMHD(ImageType* img, } //virtual -ImageInfoUR Image3DDequeUR::undo() { +ImageInfoUR Image3DDequeUR::Undo() { ImageInfoUR imgRet; if (this->m_currentUndoPos < (this->m_ImgUndoDeque.size() + 1)) { - this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos + 1)].removeImageFromMemory(); + this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos + 1)].RemoveImageFromMemory(); } //fi if (this->m_currentUndoPos != -1) { //removing from memory if ((this->m_currentUndoPos + 1) < this->m_ImgUndoDeque.size()) { - this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos + 1)].removeImageFromMemory(); + this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos + 1)].RemoveImageFromMemory(); } //fi ImageInfoUR imgRet = this->m_ImgUndoDeque[(unsigned int) m_currentUndoPos]; this->m_currentUndoPos--; //adding to memory if (this->m_currentUndoPos != -1) { - this->loadUndoImageToPMemory((unsigned int) m_currentUndoPos); + this->LoadUndoImageToPMemory((unsigned int) m_currentUndoPos); } //fi } //fi return (imgRet); } //virtual -ImageInfoUR Image3DDequeUR::redo() { +ImageInfoUR Image3DDequeUR::Redo() { ImageInfoUR imgRet; if (this->m_currentUndoPos >= (this->m_ImgRedoDeque.size() - 1) && (this->m_ImgRedoDeque.size() > 0)) { - this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos)].removeImageFromMemory(); + this->m_ImgUndoDeque[(unsigned int) (m_currentUndoPos)].RemoveImageFromMemory(); this->m_currentUndoPos++; - this->loadUndoImageToPMemory((unsigned int) m_currentUndoPos); + this->LoadUndoImageToPMemory((unsigned int) m_currentUndoPos); imgRet = this->m_ImgRedoDeque.back(); this->m_ImgRedoDeque.pop_back(); if (this->m_ImgRedoDeque.size() > 0) { - loadRedoImageToPMemory( + LoadRedoImageToPMemory( (unsigned int) (this->m_ImgRedoDeque.size() - 1)); } //fi } //fi return (imgRet); } -void Image3DDequeUR::cleanContainers() { +void Image3DDequeUR::CleanContainers() { for (unsigned int i = 0; i < this->m_ImgUndoDeque.size(); i++) { - this->m_ImgUndoDeque[i].removeImageFromMemory(); + this->m_ImgUndoDeque[i].RemoveImageFromMemory(); } //rof for (unsigned int i = 0; i < this->m_ImgRedoDeque.size(); i++) { - this->m_ImgRedoDeque[i].removeImageFromMemory(); + this->m_ImgRedoDeque[i].RemoveImageFromMemory(); } //rof this->m_ImgRedoDeque.clear(); this->m_ImgUndoDeque.clear(); } -void Image3DDequeUR::setGlobalPath(const std::string& globalPath) { +void Image3DDequeUR::SetGlobalPath(const std::string& globalPath) { this->m_globalPath = globalPath; } -std::string Image3DDequeUR::getGlobalPath() { +std::string Image3DDequeUR::GetGlobalPath() { return (this->m_globalPath); } -std::string Image3DDequeUR::getImageName() { +std::string Image3DDequeUR::GetImageName() { //Giving a name to an image using the date and time time_t rawtime; struct tm * timeinfo; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/image3DDequeUR.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/image3DDequeUR.h index 39c0468..ef0ca63 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/image3DDequeUR.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/image3DDequeUR.h @@ -13,8 +13,7 @@ #include "vtkMetaImageWriter.h" #include "creaImageIOImageReader.h" -class Image3DDequeUR : public ImageDequeUR -{ +class Image3DDequeUR: public ImageDequeUR { private: ImageInfoDeque m_ImgUndoDeque; ImageInfoDeque m_ImgRedoDeque; @@ -23,20 +22,19 @@ private: public: Image3DDequeUR(); virtual ~Image3DDequeUR(); - virtual void addImageToUndoContainer(ImageType* img, const RegionS& region); - virtual void addImageToRedoContainer(ImageType* img, const RegionS& region); - virtual void loadUndoImageToPMemory( const unsigned int& index ); - virtual void removeUndoImageFromPMemory( const unsigned int& index ); - virtual void loadRedoImageToPMemory( const unsigned int& index ); - virtual void removeRedoImageFromPMemory( const unsigned int& index ); - virtual void saveImageAsMHD( ImageType* img, const std::string& filename ); - virtual ImageInfoUR undo( ); - virtual ImageInfoUR redo( ); - void cleanContainers(); - void setGlobalPath( const std::string& globalPath ); - std::string getGlobalPath( ); - std::string getImageName( ); + virtual void AddImageToUndoContainer(ImageType* img, const RegionS& region); + virtual void AddImageToRedoContainer(ImageType* img, const RegionS& region); + virtual void LoadUndoImageToPMemory(const unsigned int& index); + virtual void RemoveUndoImageFromPMemory(const unsigned int& index); + virtual void LoadRedoImageToPMemory(const unsigned int& index); + virtual void RemoveRedoImageFromPMemory(const unsigned int& index); + virtual void SaveImageAsMHD(ImageType* img, const std::string& filename); + virtual ImageInfoUR Undo(); + virtual ImageInfoUR Redo(); + void CleanContainers(); + void SetGlobalPath(const std::string& globalPath); + std::string GetGlobalPath(); + std::string GetImageName(); }; - #endif /* IMAGE3DDEQUEUR_H_ */ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageDequeUR.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageDequeUR.h index 46b72bd..04207c4 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageDequeUR.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageDequeUR.h @@ -23,17 +23,15 @@ class ImageDequeUR { public: ImageDequeUR(); virtual ~ImageDequeUR(); - virtual void addImageToUndoContainer(ImageType* img, const RegionS& region); - virtual void addImageToRedoContainer(ImageType* img, const RegionS& region); - virtual void loadUndoImageToPMemory( const unsigned int& index ); - virtual void removeUndoImageFromPMemory( const unsigned int& index ); - virtual void loadRedoImageToPMemory( const unsigned int& index ); - virtual void removeRedoImageFromPMemory( const unsigned int& index ); - virtual void saveImageAsMHD( ImageType* img, const std::string& filename ); - virtual ImageInfoUR undo( ); - virtual ImageInfoUR redo( ); -private: - void cleanContainerFromIndex(const unsigned int& index); + virtual void AddImageToUndoContainer(ImageType* img, const RegionS& region); + virtual void AddImageToRedoContainer(ImageType* img, const RegionS& region); + virtual void LoadUndoImageToPMemory(const unsigned int& index); + virtual void RemoveUndoImageFromPMemory(const unsigned int& index); + virtual void LoadRedoImageToPMemory(const unsigned int& index); + virtual void RemoveRedoImageFromPMemory(const unsigned int& index); + virtual void SaveImageAsMHD(ImageType* img, const std::string& filename); + virtual ImageInfoUR Undo(); + virtual ImageInfoUR Redo(); }; #endif /* IMAGEDEQUE_H_ */ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageInfoUR.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageInfoUR.cxx index f2275ea..d637125 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageInfoUR.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageInfoUR.cxx @@ -6,47 +6,37 @@ */ #include "imageInfoUR.h" -ImageInfoUR::ImageInfoUR() -{ +ImageInfoUR::ImageInfoUR() { this->m_Image = NULL; } -ImageInfoUR::~ImageInfoUR() -{ - this->removeImageFromMemory(); +ImageInfoUR::~ImageInfoUR() { + this->RemoveImageFromMemory(); } -void ImageInfoUR::setImageName(const std::string &imgName) -{ +void ImageInfoUR::SetImageName(const std::string &imgName) { this->m_ImageName = imgName; } -void ImageInfoUR::setRegion(const RegionStructUR ®ion) -{ +void ImageInfoUR::SetRegion(const RegionStructUR ®ion) { this->m_Region = region; } -void ImageInfoUR::setStatus(const bool& onMemory) -{ +void ImageInfoUR::SetStatus(const bool& onMemory) { this->m_OnMemory = onMemory; } -void ImageInfoUR::setImage(vtkImageData* img) -{ +void ImageInfoUR::SetImage(vtkImageData* img) { this->m_Image = img; - this->setStatus(true); + this->SetStatus(true); } -std::string ImageInfoUR::getImageName() -{ - return( this->m_ImageName ); +std::string ImageInfoUR::GetImageName() { + return (this->m_ImageName); } -RegionStructUR ImageInfoUR::getRegion() -{ - return( this->m_Region ); +RegionStructUR ImageInfoUR::GetRegion() { + return (this->m_Region); } -bool ImageInfoUR::getStatus() -{ - return( this->m_OnMemory ); +bool ImageInfoUR::GetStatus() { + return (this->m_OnMemory); } -void ImageInfoUR::removeImageFromMemory() -{ +void ImageInfoUR::RemoveImageFromMemory() { this->m_Image->Delete(); - this->setStatus(false); + this->SetStatus(false); } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageInfoUR.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageInfoUR.h index 1cf91f3..52d8af9 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageInfoUR.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageInfoUR.h @@ -13,7 +13,7 @@ #include #include "regionStructUR.h" -class ImageInfoUR{ +class ImageInfoUR { private: vtkImageData* m_Image; std::string m_ImageName; @@ -22,15 +22,14 @@ private: public: ImageInfoUR(); virtual ~ImageInfoUR(); - void setImageName( const std::string &imgName ); - void setRegion( const RegionStructUR ®ion ); - void setStatus( const bool& onMemory ); - void setImage( vtkImageData* img ); - std::string getImageName( ); - RegionStructUR getRegion( ); - bool getStatus( ); - void removeImageFromMemory(); + void SetImageName(const std::string &imgName); + void SetRegion(const RegionStructUR ®ion); + void SetStatus(const bool& onMemory); + void SetImage(vtkImageData* img); + std::string GetImageName(); + RegionStructUR GetRegion(); + bool GetStatus(); + void RemoveImageFromMemory(); }; - #endif /* IMAGEINFO_H_ */ diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.cxx index 5433a6d..94344ab 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.cxx @@ -7,59 +7,62 @@ #include "imageUndoRedo.h" -ImageUndoRedo::ImageUndoRedo(ImageType* current) { - - this->m_CurrentImage = current; - this->m_CurrentImage->Update(); - this->m_OriginalImage = ImageType::New(); - this->m_OriginalImage->ShallowCopy(m_CurrentImage); +ImageUndoRedo::ImageUndoRedo() { + this->m_ImagesDeque = new IDequeType(); } //virtual ImageUndoRedo::~ImageUndoRedo() { } //virtual -void ImageUndoRedo::undo() { - ImageInfoUR imageInfo = this->m_ImagesDeque->undo(); - this->setRedoImage(imageInfo.getRegion()); - this->drawUR(imageInfo); +void ImageUndoRedo::Undo() { + ImageInfoUR imageInfo = this->m_ImagesDeque->Undo(); + this->SetRedoImage(imageInfo.GetRegion()); + this->DrawUR(imageInfo); } //virtual -void ImageUndoRedo::redo() { - ImageInfoUR imageInfo = this->m_ImagesDeque->undo(); - this->drawUR(imageInfo); - imageInfo.removeImageFromMemory(); +void ImageUndoRedo::Redo() { + ImageInfoUR imageInfo = this->m_ImagesDeque->Redo(); + this->DrawUR(imageInfo); + imageInfo.RemoveImageFromMemory(); +} +void ImageUndoRedo::SetImage(vtkImageData *image) +{ + this->m_CurrentImage = image; + this->m_CurrentImage->Update(); + this->m_OriginalImage = ImageType::New(); + this->m_OriginalImage->ShallowCopy(m_CurrentImage); } //virtual -void ImageUndoRedo::setUndoImage(const RegionSType& region) { +void ImageUndoRedo::SetUndoImage(const RegionSType& region) { vtkExtractVOI* extract; extract->New(); extract->SetVOI(region.minX, region.maxX, region.minY, region.maxY, region.minZ, region.maxZ); extract->SetSampleRate(1, 1, 1); extract->SetInput(this->m_OriginalImage); - this->m_ImagesDeque->addImageToUndoContainer(extract->GetOutput(), region); + this->m_ImagesDeque->AddImageToUndoContainer(extract->GetOutput(), region); extract->Delete(); } //virtual -void ImageUndoRedo::setRedoImage(const RegionSType& region) { +void ImageUndoRedo::SetRedoImage(const RegionSType& region) { vtkExtractVOI* extract; extract->New(); extract->SetVOI(region.minX, region.maxX, region.minY, region.maxY, region.minZ, region.maxZ); extract->SetSampleRate(1, 1, 1); extract->SetInput(this->m_CurrentImage); - this->m_ImagesDeque->addImageToUndoContainer(extract->GetOutput(), region); + this->m_ImagesDeque->AddImageToUndoContainer(extract->GetOutput(), region); extract->Delete(); } -void ImageUndoRedo::setOriginalImage(ImageType* img) { +void ImageUndoRedo::SetOriginalImage(ImageType* img) { this->m_OriginalImage = img; } -void ImageUndoRedo::setCurrentImage(ImageType* img) { +void ImageUndoRedo::SetCurrentImage(ImageType* img) { this->m_CurrentImage = img; } //virtual -void ImageUndoRedo::drawUR(ImageInfoUR imageInfo) { +void ImageUndoRedo::DrawUR(ImageInfoUR imageInfo) { } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.h index 3c13e1a..41c54c4 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/imageUndoRedo.h @@ -20,16 +20,17 @@ private: ImageType* m_CurrentImage; public: - ImageUndoRedo(ImageType* current); + ImageUndoRedo(); virtual ~ImageUndoRedo(); - virtual void undo(); - virtual void redo(); - virtual void setUndoImage(const RegionSType& region); - virtual void setRedoImage(const RegionSType& region); - void setOriginalImage(ImageType* img); - void setCurrentImage(ImageType* img); + virtual void Undo(); + virtual void Redo(); + virtual void SetImage(vtkImageData *image); + virtual void SetUndoImage(const RegionSType& region); + virtual void SetRedoImage(const RegionSType& region); + void SetOriginalImage(ImageType* img); + void SetCurrentImage(ImageType* img); private: - virtual void drawUR(ImageInfoUR imageInfo); + virtual void DrawUR(ImageInfoUR imageInfo); }; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/managerUR.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/managerUR.h index e971416..d14ba32 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/managerUR.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/managerUR.h @@ -22,12 +22,13 @@ class ManagerUR { public: ManagerUR(); virtual ~ManagerUR(); - virtual void undo(); - virtual void redo(); - virtual void setUndoImage(const RegionSType& region); - virtual void setRedoImage(const RegionSType& region); + virtual void SetImage(vtkImageData *image); + virtual void Undo(); + virtual void Redo(); + virtual void SetUndoImage(const RegionSType& region); + virtual void SetRedoImage(const RegionSType& region); private: - virtual void drawUR(ImageInfoUR imageInfo); + virtual void DrawUR(ImageInfoUR imageInfo); }; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp index 4d9a620..a148339 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp @@ -1,41 +1,35 @@ - #include "vtkInteractorManualPaint.h" - #include "wxVtk2DBaseView.h" #include "wxVTKRenderWindowInteractor.h" - -vtkInteractorManualPaint::vtkInteractorManualPaint(ManualPaintControler* mpc) -{ - _manualPaintControler = mpc; - _state = false; - _stateKey = false; +vtkInteractorManualPaint::vtkInteractorManualPaint(ManualPaintControler* mpc) { + _manualPaintControler = mpc; + _state = false; + _stateKey = false; } //--------------------------------------------------------------------------- -vtkInteractorManualPaint::~vtkInteractorManualPaint() -{ +vtkInteractorManualPaint::~vtkInteractorManualPaint() { } //--------------------------------------------------------------------------- -bool vtkInteractorManualPaint::OnChar() -{ - vtkRenderWindowInteractor *interactor = _vtkInteractorStyleBaseView->GetInteractor(); - - if (interactor->GetKeyCode()==97) - { - _stateKey=!_stateKey; +bool vtkInteractorManualPaint::OnChar() { + vtkRenderWindowInteractor *interactor = + _vtkInteractorStyleBaseView->GetInteractor(); + + if (interactor->GetKeyCode() == 97) { + _stateKey = !_stateKey; } return true; } - + //--------------------------------------------------------------------------- -bool vtkInteractorManualPaint::OnLeftButtonDown() -{ - vtkRenderWindowInteractor *interactor = _vtkInteractorStyleBaseView->GetInteractor(); - if ( interactor->GetControlKey()==1 ){ - _state = true; +bool vtkInteractorManualPaint::OnLeftButtonDown() { + vtkRenderWindowInteractor *interactor = + _vtkInteractorStyleBaseView->GetInteractor(); + if (interactor->GetControlKey() == 1) { + _state = true; // wxVtk2DBaseView *wxvtk2Dbaseview = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView(); // _Z = wxvtk2Dbaseview->GetActualSlice(); } @@ -43,45 +37,44 @@ bool vtkInteractorManualPaint::OnLeftButtonDown() } //--------------------------------------------------------------------------- -bool vtkInteractorManualPaint::OnLeftButtonUp() -{ +bool vtkInteractorManualPaint::OnLeftButtonUp() { + _manualPaintControler->SetImageUndo(); _state = false; return true; } //--------------------------------------------------------------------------- -bool vtkInteractorManualPaint::OnMouseMove () -{ - if ((_state==true) || (_stateKey==true)) - { - wxVtk2DBaseView *wxvtk2Dbaseview = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView(); - wxVTKRenderWindowInteractor *wxVTKiren = wxvtk2Dbaseview->GetWxVTKRenderWindowInteractor(); - int px,py; - wxVTKiren->GetEventPosition(px,py); +bool vtkInteractorManualPaint::OnMouseMove() { + if ((_state == true) || (_stateKey == true)) { + wxVtk2DBaseView *wxvtk2Dbaseview = + (wxVtk2DBaseView*) _vtkInteractorStyleBaseView->GetWxVtk2DBaseView(); + wxVTKRenderWindowInteractor *wxVTKiren = + wxvtk2Dbaseview->GetWxVTKRenderWindowInteractor(); + int px, py; + wxVTKiren->GetEventPosition(px, py); // int typeView = 1; - double X = (double)px; - double Y = (double)py; - double Z = wxvtk2Dbaseview->GetActualSlice(); + double X = (double) px; + double Y = (double) py; + double Z = wxvtk2Dbaseview->GetActualSlice(); // wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z,true, typeView); - wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z,true); + wxvtk2Dbaseview->TransFromCoordScreenToWorld(X, Y, Z, true); - _manualPaintControler->PaintImage((int)X,(int)Y,(int)Z); - this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting(); + _manualPaintControler->PaintImage((int) X, (int) Y, (int) Z); + this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting(); -/* - wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->Modified(); - wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->Modified(); - wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->SetDisplayExtent(0, 50+_auxZ, 0, 50,_Z, _Z ); - wxvtk2Dbaseview->Refresh(); - wxvtk2Dbaseview->RefreshView(); -// wxvtk2Dbaseview->SetActualSlice(_Z+_auxZ); - _auxZ=(_auxZ+1)%2; - wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->Render(); - this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting(); -*/ - }// if _state + /* + wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->Modified(); + wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->Modified(); + wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor()->SetDisplayExtent(0, 50+_auxZ, 0, 50,_Z, _Z ); + wxvtk2Dbaseview->Refresh(); + wxvtk2Dbaseview->RefreshView(); + // wxvtk2Dbaseview->SetActualSlice(_Z+_auxZ); + _auxZ=(_auxZ+1)%2; + wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->Render(); + this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting(); + */ + } // if _state return true; } - diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp index e8f8d2c..22b1400 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp @@ -1,325 +1,372 @@ - #include "wxManualPaintPanel.h" #include -wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent) - : wxPanel(parent, -1) -{ +wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent) : + wxPanel(parent, -1) { - wxPanel *panel = this; - wxSizer *sizer = NULL; + wxPanel *panel = this; + wxSizer *sizer = NULL; // Widget interface - wxStaticText *tittleText = new wxStaticText(panel, -1, _T(" Manual Paint")); - _txtBrushSize = new wxStaticText(panel, -1, wxString(_T(" Brush size "))); - _sldBrushSize = new wxSlider(panel, -1, 1, 1, 20, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); - wxStaticText *txtGrayLevel = new wxStaticText(panel, -1, wxString(_T(" Gray Level "))); - _sldGrayLevel = new wxSlider(panel, -1, 0, 0, 50, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); - _graylevelCtrl = new wxTextCtrl(panel , -1); - _txtToleranceFill = new wxStaticText(panel, -1, wxString(_T(" Tolerance fill "))); - _sldToleranceFill = new wxSlider(panel, -1, 50, 0, 50, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); - _tolerancefillCtrl = new wxTextCtrl(panel , -1,_T("50") ); - _txtDistanceFill = new wxStaticText(panel, -1, wxString(_T(" Distance fill "))); - _sldDistanceFill = new wxSlider(panel, -1, 500, 1, 500, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); - _distancefillCtrl = new wxTextCtrl(panel , -1,_T("500") ); - //DFCH -- BarSlices - double range[2]; - GetScalarRange( range ); - int min = 0;//range[0]; - int max = 6000;//range[1]; - _mBarSlices = new mBarRange( panel, 70, 65 ); - _mBarSlices->SetMin( 0 ); - _mBarSlices->SetStart( 0 ); - _mBarSlices->SetOrientation( true ); - _mBarSlices->setActiveStateTo( true ); - _mBarSlices->setVisibleLabels( true ); - _mBarSlices->setDeviceEndMargin( 10 ); - _mBarSlices->setDeviceBlitStart( 10, 10 ); - _mBarSlices->setIfWithActualDrawed( false ); - _mBarSlices->setRepresentedValues( min, max ); - _mBarSlices->SetStart( min ); - _mBarSlices->SetEnd( max ); - //DFCH -- End BarSlices + wxStaticText *tittleText = new wxStaticText(panel, -1, + _T(" Manual Paint")); + _txtBrushSize = new wxStaticText(panel, -1, wxString(_T(" Brush size "))); + _sldBrushSize = new wxSlider(panel, -1, 1, 1, 20, wxDefaultPosition, + wxDefaultSize, wxSL_LABELS); + wxStaticText *txtGrayLevel = new wxStaticText(panel, -1, + wxString(_T(" Gray Level "))); + _sldGrayLevel = new wxSlider(panel, -1, 0, 0, 50, wxDefaultPosition, + wxDefaultSize, wxSL_LABELS); + _graylevelCtrl = new wxTextCtrl(panel, -1); + _txtToleranceFill = new wxStaticText(panel, -1, + wxString(_T(" Tolerance fill "))); + _sldToleranceFill = new wxSlider(panel, -1, 50, 0, 50, wxDefaultPosition, + wxDefaultSize, wxSL_LABELS); + _tolerancefillCtrl = new wxTextCtrl(panel, -1, _T("50")); + _txtDistanceFill = new wxStaticText(panel, -1, + wxString(_T(" Distance fill "))); + _sldDistanceFill = new wxSlider(panel, -1, 500, 1, 500, wxDefaultPosition, + wxDefaultSize, wxSL_LABELS); + _distancefillCtrl = new wxTextCtrl(panel, -1, _T("500")); + //DFCH -- BarSlices + double range[2]; + GetScalarRange(range); + int min = 0; //range[0]; + int max = 6000; //range[1]; + _mBarSlices = new mBarRange(panel, 70, 65); + _mBarSlices->SetMin(0); + _mBarSlices->SetStart(0); + _mBarSlices->SetOrientation(true); + _mBarSlices->setActiveStateTo(true); + _mBarSlices->setVisibleLabels(true); + _mBarSlices->setDeviceEndMargin(10); + _mBarSlices->setDeviceBlitStart(10, 10); + _mBarSlices->setIfWithActualDrawed(false); + _mBarSlices->setRepresentedValues(min, max); + _mBarSlices->SetStart(min); + _mBarSlices->SetEnd(max); + //DFCH -- End BarSlices wxString lst2D3D[2]; - lst2D3D[0]=_T("2D"); - lst2D3D[1]=_T("3D"); - _rb2D3D = new wxRadioBox(panel, -1, _T("2D / 3D"), wxDefaultPosition, wxSize(270,45), 2 , lst2D3D, 2, wxRA_SPECIFY_COLS); - _rb2D3D->SetSelection(1); + lst2D3D[0] = _T("2D"); + lst2D3D[1] = _T("3D"); + _rb2D3D = new wxRadioBox(panel, -1, _T("2D / 3D"), wxDefaultPosition, + wxSize(270, 45), 2, lst2D3D, 2, wxRA_SPECIFY_COLS); + _rb2D3D->SetSelection(1); wxString lstBrushForm[2]; - lstBrushForm[0]=_T("rectangle/cube"); - lstBrushForm[1]=_T("circle/sphere"); - _rbBrushForm = new wxRadioBox(panel, -1, _T("Brush form"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushForm, 2, wxRA_SPECIFY_COLS); + lstBrushForm[0] = _T("rectangle/cube"); + lstBrushForm[1] = _T("circle/sphere"); + _rbBrushForm = new wxRadioBox(panel, -1, _T("Brush form"), + wxDefaultPosition, wxSize(270, 45), 2, lstBrushForm, 2, + wxRA_SPECIFY_COLS); - _txtToleranceFill->Disable(); - _sldToleranceFill->Disable(); - _tolerancefillCtrl->Disable(); + _txtToleranceFill->Disable(); + _sldToleranceFill->Disable(); + _tolerancefillCtrl->Disable(); - _txtDistanceFill->Disable(); - _sldDistanceFill->Disable(); - _distancefillCtrl->Disable(); + _txtDistanceFill->Disable(); + _sldDistanceFill->Disable(); + _distancefillCtrl->Disable(); wxString lstBrushTool[2]; - lstBrushTool[0]=_T("Brush"); - lstBrushTool[1]=_T("Fill"); - _rbBrushTool = new wxRadioBox(panel, -1, _T("Brush tool"), wxDefaultPosition, wxSize(270,45), 2 , lstBrushTool, 2, wxRA_SPECIFY_COLS); - - wxButton *btnCopy = new wxButton( panel, -1, _T("Copy")); - btnCopy->Disable(); - wxButton *btnUndo = new wxButton( panel, -1, _T("Undo")); - btnUndo->Disable(); - - Connect(_sldBrushSize->GetId() , wxEVT_SCROLL_THUMBRELEASE , (wxObjectEventFunction)(void (wxPanel::*)(wxScrollEvent&)) (&wxManualPaintPanel::OnBrushSize)); - - Connect(_sldGrayLevel->GetId() , wxEVT_SCROLL_THUMBRELEASE , (wxObjectEventFunction)(void (wxPanel::*)(wxScrollEvent&)) &wxManualPaintPanel::OnSldGrayLevel); - Connect(_graylevelCtrl->GetId() , wxEVT_COMMAND_TEXT_UPDATED , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtGrayLevel); - - Connect(_sldToleranceFill->GetId() , wxEVT_SCROLL_THUMBRELEASE , (wxObjectEventFunction)(void (wxPanel::*)(wxScrollEvent&)) &wxManualPaintPanel::OnSldToleranceFill); - Connect(_tolerancefillCtrl->GetId() , wxEVT_COMMAND_TEXT_UPDATED , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtToleranceFill); - - Connect(_sldDistanceFill->GetId() , wxEVT_SCROLL_THUMBRELEASE , (wxObjectEventFunction)(void (wxPanel::*)(wxScrollEvent&)) &wxManualPaintPanel::OnSldDistanceFill); - Connect(_distancefillCtrl->GetId() , wxEVT_COMMAND_TEXT_UPDATED , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtDistanceFill); - - Connect(_rb2D3D->GetId() , wxEVT_COMMAND_RADIOBOX_SELECTED , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::On2D3D); - Connect(_rbBrushForm->GetId() , wxEVT_COMMAND_RADIOBOX_SELECTED , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnBrushForm); - Connect(_rbBrushTool->GetId() , wxEVT_COMMAND_RADIOBOX_SELECTED , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnBrushTool); - Connect(btnCopy->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnCopy); - Connect(btnUndo->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction)(void (wxPanel::*)(wxCommandEvent&)) &wxManualPaintPanel::OnUndo); - - Connect(_mBarSlices->GetId(),wxEVT_TSBAR,(wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onBarrange ); + lstBrushTool[0] = _T("Brush"); + lstBrushTool[1] = _T("Fill"); + _rbBrushTool = new wxRadioBox(panel, -1, _T("Brush tool"), + wxDefaultPosition, wxSize(270, 45), 2, lstBrushTool, 2, + wxRA_SPECIFY_COLS); + + wxButton *btnCopy = new wxButton(panel, -1, _T("Copy")); + btnCopy->Disable(); + wxButton *btnUndo = new wxButton(panel, -1, _T("Undo")); + btnUndo->Disable(); + + Connect( + _sldBrushSize->GetId(), + wxEVT_SCROLL_THUMBRELEASE, + (wxObjectEventFunction) (void(wxPanel::*)( + wxScrollEvent&)) (&wxManualPaintPanel::OnBrushSize)); + +Connect ( + _sldGrayLevel->GetId(), + wxEVT_SCROLL_THUMBRELEASE, + (wxObjectEventFunction) (void(wxPanel::*)( + wxScrollEvent&)) &wxManualPaintPanel::OnSldGrayLevel);Connect + ( + _graylevelCtrl->GetId(), + wxEVT_COMMAND_TEXT_UPDATED, + (wxObjectEventFunction) (void(wxPanel::*)( + wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtGrayLevel); + +Connect ( + _sldToleranceFill->GetId(), + wxEVT_SCROLL_THUMBRELEASE, + (wxObjectEventFunction) (void(wxPanel::*)( + wxScrollEvent&)) &wxManualPaintPanel::OnSldToleranceFill);Connect + ( + _tolerancefillCtrl->GetId(), + wxEVT_COMMAND_TEXT_UPDATED, + (wxObjectEventFunction) (void(wxPanel::*)( + wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtToleranceFill); + +Connect ( + _sldDistanceFill->GetId(), + wxEVT_SCROLL_THUMBRELEASE, + (wxObjectEventFunction) (void(wxPanel::*)( + wxScrollEvent&)) &wxManualPaintPanel::OnSldDistanceFill);Connect + ( + _distancefillCtrl->GetId(), + wxEVT_COMMAND_TEXT_UPDATED, + (wxObjectEventFunction) (void(wxPanel::*)( + wxCommandEvent&)) &wxManualPaintPanel::OnCtrTxtDistanceFill); + +Connect ( + _rb2D3D->GetId(), + wxEVT_COMMAND_RADIOBOX_SELECTED, + (wxObjectEventFunction) (void(wxPanel::*)( + wxCommandEvent&)) &wxManualPaintPanel::On2D3D);Connect + ( + _rbBrushForm->GetId(), + wxEVT_COMMAND_RADIOBOX_SELECTED, + (wxObjectEventFunction) (void(wxPanel::*)( + wxCommandEvent&)) &wxManualPaintPanel::OnBrushForm);Connect + ( + _rbBrushTool->GetId(), + wxEVT_COMMAND_RADIOBOX_SELECTED, + (wxObjectEventFunction) (void(wxPanel::*)( + wxCommandEvent&)) &wxManualPaintPanel::OnBrushTool);Connect + ( + btnCopy->GetId(), + wxEVT_COMMAND_BUTTON_CLICKED, + (wxObjectEventFunction) (void(wxPanel::*)( + wxCommandEvent&)) &wxManualPaintPanel::OnCopy);Connect + ( + btnUndo->GetId(), + wxEVT_COMMAND_BUTTON_CLICKED, + (wxObjectEventFunction) (void(wxPanel::*)( + wxCommandEvent&)) &wxManualPaintPanel::OnUndo); + +Connect ( + _mBarSlices->GetId(), + wxEVT_TSBAR, + (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onBarrange); // Connect(modBarRange->GetId(),98765,(wxObjectEventFunction) (wxCommandEventFunction) &wxWidgetSliderMinMax::onActualChange_Bar ); - Connect(_mBarSlices->GetId(),wxEVT_TSBAR_ACTUAL,(wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onActualChange_Bar ); - Connect(_mBarSlices->GetId(),wxEVT_TSBAR_START,(wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onStartChange_Bar ); - Connect(_mBarSlices->GetId(),wxEVT_TSBAR_END,(wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onEndChange_Bar ); - Connect(_mBarSlices->GetId(),wxEVT_SELECTION_END,(wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onSelectionEnd ); - Connect(_mBarSlices->GetId(),wxEVT_TSBAR_MOVED,(wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onMovedBar ); - - - - wxFlexGridSizer *sizer1 = new wxFlexGridSizer(1); - - sizer1->Add(new wxStaticText(panel,-1,_T(" "))); - sizer1->Add(tittleText); - - sizer1->Add(new wxStaticText(panel,-1,_T(" "))); - sizer1->Add(_rbBrushTool, 1, wxGROW ); - - wxFlexGridSizer *sizerGrayLevel = new wxFlexGridSizer(2); - sizerGrayLevel->Add(txtGrayLevel); - sizerGrayLevel->Add(_graylevelCtrl); - sizer1->Add(sizerGrayLevel, 1, wxGROW); - sizer1->Add(_sldGrayLevel, 1, wxGROW ); - - sizer1->Add( new wxStaticText( this, -1, _T( "Selected Range" ) ), 1, wxGROW ); - sizer1->Add( _mBarSlices, 1, wxGROW ); - - sizer1->Add(new wxStaticText(panel,-1,_T(" "))); - sizer1->Add(_rb2D3D, 1, wxGROW ); - - - sizer1->Add(new wxStaticText(panel,-1,_T(" "))); - sizer1->Add(_txtBrushSize); - sizer1->Add(_sldBrushSize, 1, wxGROW ); - - sizer1->Add(new wxStaticText(panel,-1,_T(" "))); - sizer1->Add(_rbBrushForm, 1, wxGROW ); - - wxFlexGridSizer *sizerTolerance = new wxFlexGridSizer(2); - sizerTolerance->Add(_txtToleranceFill); - sizerTolerance->Add(_tolerancefillCtrl); - sizer1->Add( sizerTolerance ); - sizer1->Add(_sldToleranceFill, 1, wxGROW ); - - wxFlexGridSizer *sizerDistance = new wxFlexGridSizer(2); - sizerDistance->Add(_txtDistanceFill); - sizerDistance->Add(_distancefillCtrl); - sizer1->Add( sizerDistance ); - sizer1->Add(_sldDistanceFill, 1, wxGROW ); - - - sizer1->Add(new wxStaticText(panel,-1,_T(" "))); - sizer1->Add(btnCopy, 1, wxGROW ); - sizer1->Add(new wxStaticText(panel,-1,_T(" "))); - sizer1->Add(btnUndo, 1, wxGROW ); - - sizer = sizer1; - panel->SetSizer(sizer); - panel->SetAutoLayout(true); - panel->Layout(); + Connect( + _mBarSlices->GetId(), + wxEVT_TSBAR_ACTUAL, + (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onActualChange_Bar); + Connect( + _mBarSlices->GetId(), + wxEVT_TSBAR_START, + (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onStartChange_Bar); + Connect( + _mBarSlices->GetId(), + wxEVT_TSBAR_END, + (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onEndChange_Bar); + Connect( + _mBarSlices->GetId(), + wxEVT_SELECTION_END, + (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onSelectionEnd); + Connect( + _mBarSlices->GetId(), + wxEVT_TSBAR_MOVED, + (wxObjectEventFunction) (wxCommandEventFunction) &wxManualPaintPanel::onMovedBar); + + wxFlexGridSizer *sizer1 = new wxFlexGridSizer(1); + + sizer1->Add(new wxStaticText(panel, -1, _T(" "))); + sizer1->Add(tittleText); + + sizer1->Add(new wxStaticText(panel, -1, _T(" "))); + sizer1->Add(_rbBrushTool, 1, wxGROW); + + wxFlexGridSizer *sizerGrayLevel = new wxFlexGridSizer(2); + sizerGrayLevel->Add(txtGrayLevel); + sizerGrayLevel->Add(_graylevelCtrl); + sizer1->Add(sizerGrayLevel, 1, wxGROW); + sizer1->Add(_sldGrayLevel, 1, wxGROW); + + sizer1->Add(new wxStaticText(this, -1, _T( "Selected Range" )), 1, wxGROW); + sizer1->Add(_mBarSlices, 1, wxGROW); + + sizer1->Add(new wxStaticText(panel, -1, _T(" "))); + sizer1->Add(_rb2D3D, 1, wxGROW); + + sizer1->Add(new wxStaticText(panel, -1, _T(" "))); + sizer1->Add(_txtBrushSize); + sizer1->Add(_sldBrushSize, 1, wxGROW); + + sizer1->Add(new wxStaticText(panel, -1, _T(" "))); + sizer1->Add(_rbBrushForm, 1, wxGROW); + + wxFlexGridSizer *sizerTolerance = new wxFlexGridSizer(2); + sizerTolerance->Add(_txtToleranceFill); + sizerTolerance->Add(_tolerancefillCtrl); + sizer1->Add(sizerTolerance); + sizer1->Add(_sldToleranceFill, 1, wxGROW); + + wxFlexGridSizer *sizerDistance = new wxFlexGridSizer(2); + sizerDistance->Add(_txtDistanceFill); + sizerDistance->Add(_distancefillCtrl); + sizer1->Add(sizerDistance); + sizer1->Add(_sldDistanceFill, 1, wxGROW); + + sizer1->Add(new wxStaticText(panel, -1, _T(" "))); + sizer1->Add(btnCopy, 1, wxGROW); + sizer1->Add(new wxStaticText(panel, -1, _T(" "))); + sizer1->Add(btnUndo, 1, wxGROW); + + sizer = sizer1; + panel->SetSizer(sizer); + panel->SetAutoLayout(true); + panel->Layout(); } //--------------------------------------------------------------------------- -wxManualPaintPanel::~wxManualPaintPanel() -{ +wxManualPaintPanel::~wxManualPaintPanel() { } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnBrushSize(wxScrollEvent& event) -{ - SetBrushSize( _sldBrushSize->GetValue() ); +void wxManualPaintPanel::OnBrushSize(wxScrollEvent& event) { + SetBrushSize(_sldBrushSize->GetValue()); } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnSldGrayLevel(wxScrollEvent& event) -{ - SetGrayLevel( (double)(_sldGrayLevel->GetValue()) ); +void wxManualPaintPanel::OnSldGrayLevel(wxScrollEvent& event) { + SetGrayLevel((double) (_sldGrayLevel->GetValue())); - wxString text; - text.Printf( wxT("%d"), _sldGrayLevel->GetValue() ); - _graylevelCtrl->SetValue(text); + wxString text; + text.Printf(wxT("%d"), _sldGrayLevel->GetValue()); + _graylevelCtrl->SetValue(text); } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnCtrTxtGrayLevel(wxCommandEvent &event) -{ - double graylevel; - wxString text=_graylevelCtrl->GetValue(); - if (text.ToDouble(&graylevel)) - { - SetGrayLevel( graylevel ); - } +void wxManualPaintPanel::OnCtrTxtGrayLevel(wxCommandEvent &event) { + double graylevel; + wxString text = _graylevelCtrl->GetValue(); + if (text.ToDouble(&graylevel)) { + SetGrayLevel(graylevel); + } } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnSldDistanceFill(wxScrollEvent& event) -{ - SetDistanceFill( (double)(_sldDistanceFill->GetValue()) ); +void wxManualPaintPanel::OnSldDistanceFill(wxScrollEvent& event) { + SetDistanceFill((double) (_sldDistanceFill->GetValue())); - wxString text; - text.Printf( wxT("%d"), _sldDistanceFill->GetValue() ); - _distancefillCtrl->SetValue(text); + wxString text; + text.Printf(wxT("%d"), _sldDistanceFill->GetValue()); + _distancefillCtrl->SetValue(text); } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnCtrTxtDistanceFill(wxCommandEvent &event) -{ - double distancefill; - wxString text=_distancefillCtrl->GetValue(); - if (text.ToDouble(&distancefill)) - { - SetDistanceFill( distancefill ); - } +void wxManualPaintPanel::OnCtrTxtDistanceFill(wxCommandEvent &event) { + double distancefill; + wxString text = _distancefillCtrl->GetValue(); + if (text.ToDouble(&distancefill)) { + SetDistanceFill(distancefill); + } } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnSldToleranceFill(wxScrollEvent& event) -{ - SetToleranceFill( (double)(_sldToleranceFill->GetValue()) ); +void wxManualPaintPanel::OnSldToleranceFill(wxScrollEvent& event) { + SetToleranceFill((double) (_sldToleranceFill->GetValue())); - wxString text; - text.Printf( wxT("%d"), _sldToleranceFill->GetValue() ); - _tolerancefillCtrl->SetValue(text); + wxString text; + text.Printf(wxT("%d"), _sldToleranceFill->GetValue()); + _tolerancefillCtrl->SetValue(text); } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnCtrTxtToleranceFill(wxCommandEvent &event) -{ - double tolerance; - wxString text=_tolerancefillCtrl->GetValue(); - if (text.ToDouble(&tolerance)) - { - SetToleranceFill( tolerance ); - } +void wxManualPaintPanel::OnCtrTxtToleranceFill(wxCommandEvent &event) { + double tolerance; + wxString text = _tolerancefillCtrl->GetValue(); + if (text.ToDouble(&tolerance)) { + SetToleranceFill(tolerance); + } } - - //--------------------------------------------------------------------------- -void wxManualPaintPanel::DisableControls() -{ - _txtBrushSize->Disable(); - _sldBrushSize->Disable(); - _rbBrushForm->Disable(); - - _txtToleranceFill->Disable(); - _sldToleranceFill->Disable(); - _tolerancefillCtrl->Disable(); - - _txtDistanceFill->Disable(); - _sldDistanceFill->Disable(); - _distancefillCtrl->Disable(); +void wxManualPaintPanel::DisableControls() { + _txtBrushSize->Disable(); + _sldBrushSize->Disable(); + _rbBrushForm->Disable(); + + _txtToleranceFill->Disable(); + _sldToleranceFill->Disable(); + _tolerancefillCtrl->Disable(); + + _txtDistanceFill->Disable(); + _sldDistanceFill->Disable(); + _distancefillCtrl->Disable(); } //--------------------------------------------------------------------------- -void wxManualPaintPanel::On2D3D(wxCommandEvent &event) -{ - Set2D3D( _rb2D3D->GetSelection() ); +void wxManualPaintPanel::On2D3D(wxCommandEvent &event) { + Set2D3D(_rb2D3D->GetSelection()); } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event) -{ - SetBrushForm( _rbBrushForm->GetSelection() ); +void wxManualPaintPanel::OnBrushForm(wxCommandEvent &event) { + SetBrushForm(_rbBrushForm->GetSelection()); } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnBrushTool(wxCommandEvent &event) -{ - DisableControls(); - SetTool( _rbBrushTool->GetSelection() ); - - if (_rbBrushTool->GetSelection()==0) //Brush tool - { - _txtBrushSize->Enable(); - _sldBrushSize->Enable(); - _rbBrushForm->Enable(); - } - - if (_rbBrushTool->GetSelection()==1) //Fill tool - { - _txtToleranceFill->Enable(); - _sldToleranceFill->Enable(); - _tolerancefillCtrl->Enable(); - - _txtDistanceFill->Enable(); - _sldDistanceFill->Enable(); - _distancefillCtrl->Enable(); - } +void wxManualPaintPanel::OnBrushTool(wxCommandEvent &event) { + DisableControls(); + SetTool(_rbBrushTool->GetSelection()); + + if (_rbBrushTool->GetSelection() == 0) //Brush tool + { + _txtBrushSize->Enable(); + _sldBrushSize->Enable(); + _rbBrushForm->Enable(); + } + + if (_rbBrushTool->GetSelection() == 1) //Fill tool + { + _txtToleranceFill->Enable(); + _sldToleranceFill->Enable(); + _tolerancefillCtrl->Enable(); + + _txtDistanceFill->Enable(); + _sldDistanceFill->Enable(); + _distancefillCtrl->Enable(); + } } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnCopy(wxCommandEvent &event) -{ +void wxManualPaintPanel::OnCopy(wxCommandEvent &event) { } //--------------------------------------------------------------------------- -void wxManualPaintPanel::OnUndo(wxCommandEvent &event) -{ +void wxManualPaintPanel::OnUndo(wxCommandEvent &event) { + this->_manualPaintModel->Undo(); } //-------------------------------------------------------------------------------------------------------------------------------- // Min-Max Barrange received events //-------------------------------------------------------------------------------------------------------------------------------- -void wxManualPaintPanel :: onBarrange(wxCommandEvent& event) -{ +void wxManualPaintPanel::onBarrange(wxCommandEvent& event) { } -void wxManualPaintPanel :: onActualChange_Bar(wxCommandEvent& event) -{ +void wxManualPaintPanel::onActualChange_Bar(wxCommandEvent& event) { /*mbbtkSliderMinMax->bbSetOutputOutActual(modBarRange->GetActual()); - mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutActual"));*/ + mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutActual"));*/ } -void wxManualPaintPanel :: onStartChange_Bar(wxCommandEvent& event) -{ - SetRangeMin( _mBarSlices->GetStart() ); +void wxManualPaintPanel::onStartChange_Bar(wxCommandEvent& event) { + SetRangeMin(_mBarSlices->GetStart()); } -void wxManualPaintPanel :: onEndChange_Bar(wxCommandEvent& event) -{ - SetRangeMax( _mBarSlices->GetEnd() ); +void wxManualPaintPanel::onEndChange_Bar(wxCommandEvent& event) { + SetRangeMax(_mBarSlices->GetEnd()); } -void wxManualPaintPanel :: onSelectionEnd(wxCommandEvent& event) -{ +void wxManualPaintPanel::onSelectionEnd(wxCommandEvent& event) { } -void wxManualPaintPanel :: onMovedBar(wxCommandEvent& event) -{ +void wxManualPaintPanel::onMovedBar(wxCommandEvent& event) { } - //-------------------------------------------------------------------------- - //------------------------------------------------------------------------- - //-------------------------------------------------------------------------- - //-------------------------------------------------------------------------- - - +//-------------------------------------------------------------------------- +//------------------------------------------------------------------------- +//-------------------------------------------------------------------------- +//-------------------------------------------------------------------------- diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.h index 4a2afc7..9097598 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.h @@ -3,6 +3,7 @@ #include "ManualPaintPanel.h" + #include "mBarRange.h" //DFCH #include "creaWx.h" //DFCH