#include "ManualPaintModel.h" ManualPaintModel::ManualPaintModel() { _graylevel = 0.0; _brushsize = 1; _brushform = 0; // 0 rectangle-box , 1 circle-sphere _2D3D = 0; // 0 2D , 1 true 3D _brushtool = 0; // 0 pensil , 1 fill } //--------------------------------------------------------------------------- ManualPaintModel::~ManualPaintModel() { } void ManualPaintModel::SetImage(vtkImageData *image) { _image=image; } void ManualPaintModel::PaintImage(int px,int py, int pz) { printf("EED ManualPaintModel::PaintImage %d %d %d\n", px,py,pz); if (_image!=NULL) { float value=(float)_graylevel; int i,j,k; int size = _brushsize-1; int minX=px-size; int maxX=px+size; int minY=py-size; int maxY=py+size; int minZ=pz-size; int maxZ=pz+size; double xx,yy,zz,rr=size*size; printf("EED bbcreaMaracasvisu::vtkInteractorManualPaint::PaintImage brushForm=%d\n",_brushform); for (i=minX; i<=maxX; i++) { xx=px-i; xx=xx*xx; for (j=minY; j<=maxY; j++) { yy=py-j; yy=yy*yy; for (k=minZ; k<=maxZ; k++) { zz=pz-k; zz=zz*zz; if (_brushform==0) { _image->SetScalarComponentFromFloat (i,j,k, 0, value ); } else if (_brushform==1) { if ((xx+yy+zz)<=rr) { _image->SetScalarComponentFromFloat (i,j,k, 0, value ); } } // _brushform }//k }//j }//i _image->Modified(); } else { printf("ERROR : bbcreaMaracasvisu::vtkInteractorManualPaint::PaintImage : Image not set. \n"); } // _image } //--------------------------------------------------------------------------- void ManualPaintModel::SetBrushSize( int brushsize ) { _brushsize = brushsize; } //--------------------------------------------------------------------------- void ManualPaintModel::SetGrayLevel( double graylevel ) { _graylevel = graylevel; } //--------------------------------------------------------------------------- void ManualPaintModel::SetBrushForm( int brushform ) { _brushform = brushform; } //--------------------------------------------------------------------------- void ManualPaintModel::SetBrushTool( int brushtool ) { _brushtool = brushtool; } //--------------------------------------------------------------------------- void ManualPaintModel::Set2D3D( int dim2D3D ) { _2D3D = dim2D3D; }