3 #include "BrushFilter.h"
6 BrushFilter::BrushFilter()
10 _brushform = 0; // 0 rectangle-box , 1 circle-sphere
11 _2D3D = 1; // 0 2D , 1 true 3D
12 _brushtool = 0; // 0 pencil , 1 fill
13 _direction = 0; // 1 XZ , 0 YZ , 2 XY
30 //---------------------------------------------------------------------------
31 BrushFilter::~BrushFilter()
35 //---------------------------------------------------------------------------
36 void BrushFilter::SetImage(vtkImageData *image)
40 _image->GetWholeExtent(ext);
50 //---------------------------------------------------------------------------
51 void BrushFilter::ResetGeneralMinMax()
62 //---------------------------------------------------------------------------
63 void BrushFilter::SetGeneralMinMax(int minX,int maxX,int minY,int maxY,int minZ,int maxZ)
98 //---------------------------------------------------------------------------
99 void BrushFilter::FindMinMaxBrush(int &minxX,int &maxX,int &minY,int &maxY,int &minZ,int &maxZ,int &size)
111 if (_direction==0) // YZ
116 if (_direction==1) // XZ
121 if (_direction==2) // XY
163 SetGeneralMinMax(minX,maxX,minY,maxY,minZ,maxZ);
168 //---------------------------------------------------------------------------
169 void BrushFilter::Run()
173 float value=(float)_graylevel;
177 int minX,maxX,minY,maxY,minZ,maxZ;
178 FindMinMaxBrush(minxX,maxX,minY,maxY,minZ,maxZ,size);
180 double xx,yy,zz,rr=size*size;
182 for (i=minX; i<=maxX; i++)
186 for (j=minY; j<=maxY; j++)
190 for (k=minZ; k<=maxZ; k++)
192 // if ((i>=_minX) && (i<=_maxX) && (j>=_minY) && (j<=_maxY) && (k>=_minZ) && (k<=_maxZ))
198 _image->SetScalarComponentFromFloat (i,j,k, 0, value );
199 } else if (_brushform==1)
203 _image->SetScalarComponentFromFloat (i,j,k, 0, value );
207 // } //if _minX _maxX _minY _maxY _minZ _maxZ
214 printf("ERROR : bbcreaMaracasvisu::vtkInteractorManualPaint::PaintImage : Image not set. \n");
219 //---------------------------------------------------------------------------
220 void BrushFilter::SetBrushSize( int brushsize )
222 _brushsize = brushsize;
225 //---------------------------------------------------------------------------
226 void BrushFilter::SetGrayLevel( double graylevel )
228 _graylevel = graylevel;
231 //---------------------------------------------------------------------------
232 void BrushFilter::SetBrushForm( int brushform )
234 _brushform = brushform;
237 //---------------------------------------------------------------------------
238 void BrushFilter::SetBrushTool( int brushtool )
240 _brushtool = brushtool;
243 //---------------------------------------------------------------------------
244 void BrushFilter::Set2D3D( int dim2D3D )
249 //---------------------------------------------------------------------------
250 void BrushFilter::SetDirection(int direction)
252 _direction = direction;
255 //---------------------------------------------------------------------------
256 void BrushFilter::Set(int px,int py, int pz)