2 #include "BrushFilter.h"
5 BrushFilter::BrushFilter()
9 _brushform = 0; // 0 rectangle-box , 1 circle-sphere
10 _2D3D = 1; // 0 2D , 1 true 3D
11 _brushtool = 0; // 0 pencil , 1 fill
12 _direction = 0; // 1 XZ , 0 YZ , 2 XY
29 //---------------------------------------------------------------------------
30 BrushFilter::~BrushFilter()
34 //---------------------------------------------------------------------------
35 void BrushFilter::SetImage(vtkImageData *image)
39 _image->GetWholeExtent(ext);
49 //---------------------------------------------------------------------------
50 void BrushFilter::ResetGeneralMinMax()
61 //---------------------------------------------------------------------------
62 void BrushFilter::SetGeneralMinMax(int minX,int maxX,int minY,int maxY,int minZ,int maxZ)
97 //---------------------------------------------------------------------------
98 void BrushFilter::FindMinMaxBrush(int &minX,int &maxX,int &minY,int &maxY,int &minZ,int &maxZ,int &size)
110 if (_direction==0) // YZ
115 if (_direction==1) // XZ
120 if (_direction==2) // XY
162 SetGeneralMinMax(minX,maxX,minY,maxY,minZ,maxZ);
167 //---------------------------------------------------------------------------
168 void BrushFilter::Run()
172 float value=(float)_graylevel;
176 int minX,maxX,minY,maxY,minZ,maxZ;
177 FindMinMaxBrush(minX,maxX,minY,maxY,minZ,maxZ,size);
179 double xx,yy,zz,rr=size*size;
181 for (i=minX; i<=maxX; i++)
185 for (j=minY; j<=maxY; j++)
189 for (k=minZ; k<=maxZ; k++)
191 // if ((i>=_minX) && (i<=_maxX) && (j>=_minY) && (j<=_maxY) && (k>=_minZ) && (k<=_maxZ))
197 _image->SetScalarComponentFromFloat (i,j,k, 0, value );
198 } else if (_brushform==1)
202 _image->SetScalarComponentFromFloat (i,j,k, 0, value );
206 // } //if _minX _maxX _minY _maxY _minZ _maxZ
213 printf("ERROR : bbcreaMaracasvisu::vtkInteractorManualPaint::PaintImage : Image not set. \n");
218 //---------------------------------------------------------------------------
219 void BrushFilter::SetBrushSize( int brushsize )
221 _brushsize = brushsize;
224 //---------------------------------------------------------------------------
225 void BrushFilter::SetGrayLevel( double graylevel )
227 _graylevel = graylevel;
230 //---------------------------------------------------------------------------
231 void BrushFilter::SetBrushForm( int brushform )
233 _brushform = brushform;
236 //---------------------------------------------------------------------------
237 void BrushFilter::SetBrushTool( int brushtool )
239 _brushtool = brushtool;
242 //---------------------------------------------------------------------------
243 void BrushFilter::Set2D3D( int dim2D3D )
248 //---------------------------------------------------------------------------
249 void BrushFilter::SetDirection(int direction)
251 _direction = direction;
254 //---------------------------------------------------------------------------
255 void BrushFilter::SetPoint(int px,int py, int pz)