2 #include "BrushFilter.h"
4 baseFilterManualPaint::baseFilterManualPaint()
7 _2D3D = 1; // 0 2D , 1 true 3D
8 _direction = 0; // 1 XZ , 0 YZ , 2 XY
25 //---------------------------------------------------------------------------
26 baseFilterManualPaint::~baseFilterManualPaint() // virtual
30 //---------------------------------------------------------------------------
31 void baseFilterManualPaint::Run() // virtual
36 //---------------------------------------------------------------------------
37 void baseFilterManualPaint::SetGrayLevel( double graylevel )
39 _graylevel = graylevel;
42 //---------------------------------------------------------------------------
43 void baseFilterManualPaint::Set2D3D( int dim2D3D )
48 //---------------------------------------------------------------------------
49 void baseFilterManualPaint::SetDirection(int direction)
51 _direction = direction;
54 //---------------------------------------------------------------------------
55 void baseFilterManualPaint::SetPoint(int px,int py, int pz)
62 //---------------------------------------------------------------------------
63 void baseFilterManualPaint::SetImage(vtkImageData *image)
67 _image->GetWholeExtent(ext);
76 //---------------------------------------------------------------------------
77 void baseFilterManualPaint::ResetGeneralMinMax()
88 //---------------------------------------------------------------------------
89 void baseFilterManualPaint::SetGeneralMinMax(int minX,int maxX,int minY,int maxY,int minZ,int maxZ)
125 //---------------------------------------------------------------------------
126 //---------------------------------------------------------------------------
127 //---------------------------------------------------------------------------
130 BrushFilter::BrushFilter()
133 _brushform = 0; // 0 rectangle-box , 1 circle-sphere
134 _brushtool = 0; // 0 pencil , 1 fill
137 //---------------------------------------------------------------------------
138 BrushFilter::~BrushFilter() // virtual
142 //---------------------------------------------------------------------------
143 void BrushFilter::FindMinMaxBrush(int &minX,int &maxX,int &minY,int &maxY,int &minZ,int &maxZ,int &size)
155 if (_direction==0) // YZ
160 if (_direction==1) // XZ
165 if (_direction==2) // XY
207 SetGeneralMinMax(minX,maxX,minY,maxY,minZ,maxZ);
212 //---------------------------------------------------------------------------
213 void BrushFilter::Run() // virtual
217 float value=(float)_graylevel;
221 int minX,maxX,minY,maxY,minZ,maxZ;
222 FindMinMaxBrush(minX,maxX,minY,maxY,minZ,maxZ,size);
224 double xx,yy,zz,rr=size*size;
226 for (i=minX; i<=maxX; i++)
230 for (j=minY; j<=maxY; j++)
234 for (k=minZ; k<=maxZ; k++)
236 // if ((i>=_minX) && (i<=_maxX) && (j>=_minY) && (j<=_maxY) && (k>=_minZ) && (k<=_maxZ))
242 _image->SetScalarComponentFromFloat (i,j,k, 0, value );
243 } else if (_brushform==1)
247 _image->SetScalarComponentFromFloat (i,j,k, 0, value );
251 // } //if _minX _maxX _minY _maxY _minZ _maxZ
258 printf("ERROR : bbcreaMaracasvisu::vtkInteractorManualPaint::PaintImage : Image not set. \n");
263 //---------------------------------------------------------------------------
264 void BrushFilter::SetBrushSize( int brushsize )
266 _brushsize = brushsize;
269 //---------------------------------------------------------------------------
270 void BrushFilter::SetBrushForm( int brushform )
272 _brushform = brushform;
275 //---------------------------------------------------------------------------
276 void BrushFilter::SetBrushTool( int brushtool )
278 _brushtool = brushtool;