2 #include "BrushFilter.h"
6 BrushFilter::BrushFilter()
9 _brushform = 0; // 0 rectangle-box , 1 circle-sphere
10 _brushtool = 0; // 0 pencil , 1 fill
13 //---------------------------------------------------------------------------
14 BrushFilter::~BrushFilter() // virtual
18 //---------------------------------------------------------------------------
19 void BrushFilter::FindMinMaxBrush(int &minX,int &maxX,int &minY,int &maxY,int &minZ,int &maxZ,int &size)
31 if (_direction==0) // YZ
36 if (_direction==1) // XZ
41 if (_direction==2) // XY
83 SetGeneralMinMax(minX,maxX,minY,maxY,minZ,maxZ);
88 //---------------------------------------------------------------------------
89 void BrushFilter::Run() // virtual
93 float value=(float)_graylevel;
97 int minX,maxX,minY,maxY,minZ,maxZ;
98 FindMinMaxBrush(minX,maxX,minY,maxY,minZ,maxZ,size);
100 double xx,yy,zz,rr=size*size;
102 for (i=minX; i<=maxX; i++)
106 for (j=minY; j<=maxY; j++)
110 for (k=minZ; k<=maxZ; k++)
112 // if ((i>=_minX) && (i<=_maxX) && (j>=_minY) && (j<=_maxY) && (k>=_minZ) && (k<=_maxZ))
115 float scalarComponent = _image->GetScalarComponentAsFloat(i,j,k, 0);
116 if( ( this->GetRangeMin() <= scalarComponent ) && ( scalarComponent <= this->GetRangeMax() ) )
122 this->CalculateMinMaxRegion(i,j,k); //DFCH
123 _image->SetScalarComponentFromFloat (i,j,k, 0, value );
124 } else if (_brushform==1)
128 this->CalculateMinMaxRegion(i,j,k); //DFCH
129 _image->SetScalarComponentFromFloat (i,j,k, 0, value );
132 } // GetRangeMin && GetRangeMax
134 // } //if _minX _maxX _minY _maxY _minZ _maxZ
141 printf("ERROR : bbcreaMaracasvisu::vtkInteractorManualPaint::PaintImage : Image not set. \n");
146 //---------------------------------------------------------------------------
147 void BrushFilter::SetBrushSize( int brushsize )
149 _brushsize = brushsize;
152 //---------------------------------------------------------------------------
153 void BrushFilter::SetBrushForm( int brushform )
155 _brushform = brushform;
158 //---------------------------------------------------------------------------
159 void BrushFilter::SetBrushTool( int brushtool )
161 _brushtool = brushtool;
164 //---------------------------------------------------------------------------
165 void BrushFilter::SetRangeMin( int min )
170 //---------------------------------------------------------------------------
171 void BrushFilter::SetRangeMax( int max )
176 //---------------------------------------------------------------------------
177 int BrushFilter::GetRangeMin( )
182 //---------------------------------------------------------------------------
183 int BrushFilter::GetRangeMax( )