From 8efe1d6e29dc7ec7436779b9290b86552df7877f Mon Sep 17 00:00:00 2001 From: Diego Caceres Date: Tue, 9 Aug 2011 20:10:50 +0000 Subject: [PATCH] ManualPaint RangeSlider 50% DFCH --- .../widgets/manualPaint/BrushFilter.cpp | 14 ++++++++------ .../widgets/manualPaint/BrushFilter.h | 12 ++++++------ .../wxWindows/widgets/manualPaint/FillFilter.h | 12 ++++++------ .../widgets/manualPaint/ManualPaintModel.cpp | 9 +++++++-- .../widgets/manualPaint/ManualPaintModel.h | 5 +++-- .../widgets/manualPaint/ManualPaintPanel.cpp | 18 ++++++++++++++---- .../widgets/manualPaint/ManualPaintPanel.h | 5 +++-- .../manualPaint/baseFilterManualPaint.cpp | 7 +++++++ .../manualPaint/baseFilterManualPaint.h | 1 + .../manualPaint/vtkInteractorManualPaint.cpp | 1 - .../widgets/manualPaint/wxManualPaintPanel.cpp | 13 +++++-------- 11 files changed, 60 insertions(+), 37 deletions(-) diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.cpp index b61cf00..4a1d0d6 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.cpp @@ -111,6 +111,9 @@ 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() ) ) + { zz=_pz-k; zz=zz*zz; if (_brushform==0) @@ -123,6 +126,7 @@ void BrushFilter::Run() // virtual _image->SetScalarComponentFromFloat (i,j,k, 0, value ); } } // _brushform + } // GetRangeMin && GetRangeMax // } //if _minX _maxX _minY _maxY _minZ _maxZ @@ -155,27 +159,25 @@ void BrushFilter::SetBrushTool( int brushtool ) } //--------------------------------------------------------------------------- -void BrushFilter::SetRangeMin( unsigned int min ) +void BrushFilter::SetRangeMin( int min ) { - std::cout<<"pechaaan Min: " << min <SetRangeMin(min); _fillfilter->SetRangeMin(min); } //--------------------------------------------------------------------------- -void ManualPaintModel::SetRangeMax( unsigned int max ) +void ManualPaintModel::SetRangeMax( int max ) { _brushfilter->SetRangeMax(max); _fillfilter->SetRangeMax(max); @@ -105,4 +105,9 @@ void ManualPaintModel::SetDistanceFill(int distancefill) { _fillfilter->SetDistanceFill(distancefill); } +//--------------------------------------------------------------------------- +void ManualPaintModel::GetScalarRange( double * range ) +{ + _fillfilter->GetScalarRange( range ); +} diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h index c3199bb..a391463 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.h @@ -20,8 +20,9 @@ public: void SetToleranceFill(double tolerancefill); void SetDistanceFill(int distancefill); void PaintImage(int px,int py, int pz); - void SetRangeMin( unsigned int min ); - void SetRangeMax( unsigned int max ); + void SetRangeMin( int min ); + void SetRangeMax( int max ); + void GetScalarRange( double * range ); private: diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.cpp index 6a108da..764af39 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.cpp @@ -33,22 +33,22 @@ void ManualPaintPanel::SetBrushSize( int brushsize ) } //--------------------------------------------------------------------------- -void ManualPaintPanel::SetRangeMin( unsigned int min ) +void ManualPaintPanel::SetRangeMin( int min ) { if (_manualPaintModel!=NULL) { - SetRangeMin( min ); + _manualPaintModel->SetRangeMin( min ); } else { printf("ERROR in ManualPaintPanel _manualPaintModel not set.\n"); } } //--------------------------------------------------------------------------- -void ManualPaintPanel::SetRangeMax( unsigned int max ) +void ManualPaintPanel::SetRangeMax( int max ) { if (_manualPaintModel!=NULL) { - SetRangeMax( max ); + _manualPaintModel->SetRangeMax( max ); } else { printf("ERROR in ManualPaintPanel _manualPaintModel not set.\n"); } @@ -120,3 +120,13 @@ void ManualPaintPanel::SetDistanceFill(int distancefill) } } +void ManualPaintPanel::GetScalarRange( double * range ) +{ + if (_manualPaintModel!=NULL) + { + _manualPaintModel->GetScalarRange( range ); + } else { + printf("ERROR in ManualPaintPanel _manualPaintModel not set.\n"); + } +} + diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.h index 10e39de..d52f5f0 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintPanel.h @@ -16,8 +16,9 @@ public: void SetBrushForm(int brushform); void SetToleranceFill(double tolerancefill); void SetDistanceFill(int distancefill); - void SetRangeMin( unsigned int min ); - void SetRangeMax( unsigned int max ); + void SetRangeMin( int min ); + void SetRangeMax( int max ); + void GetScalarRange( double * range); private: ManualPaintModel *_manualPaintModel; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.cpp index 90d153b..a63ce13 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.cpp @@ -119,3 +119,10 @@ void baseFilterManualPaint::SetGeneralMinMax(int minX,int maxX,int minY,int maxY } +//--------------------------------------------------------------------------- +void baseFilterManualPaint::GetScalarRange( double * range ) +{ + range = this->_image->GetScalarRange(); +} + + diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h index ab4fa78..4414e51 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h @@ -16,6 +16,7 @@ class baseFilterManualPaint { void SetDirection(int direction); void ResetGeneralMinMax(); void SetGeneralMinMax(int minX,int maxX,int minY,int maxY,int minZ,int maxZ); + void GetScalarRange( double * range ); virtual void Run(); private: diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp index 65d918e..4d9a620 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/vtkInteractorManualPaint.cpp @@ -54,7 +54,6 @@ bool vtkInteractorManualPaint::OnMouseMove () { if ((_state==true) || (_stateKey==true)) { - std::cout<<"Pechaaaaaannnnnnn!!!!"<GetWxVtk2DBaseView(); wxVTKRenderWindowInteractor *wxVTKiren = wxvtk2Dbaseview->GetWxVTKRenderWindowInteractor(); int px,py; diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp index 03ca42d..f68ec8a 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/wxManualPaintPanel.cpp @@ -23,8 +23,10 @@ wxManualPaintPanel::wxManualPaintPanel(wxWindow * parent) _sldDistanceFill = new wxSlider(panel, -1, 500, 1, 500, wxDefaultPosition, wxDefaultSize, wxSL_LABELS); _distancefillCtrl = new wxTextCtrl(panel , -1,_T("500") ); //DFCH -- BarSlices - int min = 0; - int max = 100; + double range[0]; + GetScalarRange( range ); + int min = 0;//range[0]; + int max = 6000;//range[1]; _mBarSlices = new mBarRange( panel, 70, 65 ); _mBarSlices->SetMin( 0 ); _mBarSlices->SetStart( 0 ); @@ -299,17 +301,12 @@ void wxManualPaintPanel :: onActualChange_Bar(wxCommandEvent& event) } void wxManualPaintPanel :: onStartChange_Bar(wxCommandEvent& event) { - SetRangeMax( _mBarSlices->GetStart() ); - /*mbbtkSliderMinMax->bbSetOutputOutStart(modBarRange->GetStart()); - mbbtkSliderMinMax->bbSetInputInMinShow(modBarRange->GetStart()); - mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutStart"));*/ + SetRangeMin( _mBarSlices->GetStart() ); } void wxManualPaintPanel :: onEndChange_Bar(wxCommandEvent& event) { SetRangeMax( _mBarSlices->GetEnd() ); - /*mbbtkSliderMinMax->bbSetOutputOutEnd(modBarRange->GetEnd()); - mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutEnd"));*/ } void wxManualPaintPanel :: onSelectionEnd(wxCommandEvent& event) -- 2.45.1