1 #include "BrushFilter.h"
3 BrushFilter::BrushFilter() {
5 _brushform = 0; // 0 rectangle-box , 1 circle-sphere
6 _brushtool = 0; // 0 pencil , 1 fill
9 //---------------------------------------------------------------------------
10 BrushFilter::~BrushFilter() // virtual
14 //---------------------------------------------------------------------------
15 void BrushFilter::FindMinMaxBrush(int &minX, int &maxX, int &minY, int &maxY,
16 int &minZ, int &maxZ, int &size) {
17 size = _brushsize - 1;
27 if (_direction == 0) // YZ
32 if (_direction == 1) // XZ
37 if (_direction == 2) // XY
73 SetGeneralMinMax(minX, maxX, minY, maxY, minZ, maxZ);
76 //---------------------------------------------------------------------------
77 void BrushFilter::Run() // virtual
81 float value = (float) _graylevel;
85 int minX, maxX, minY, maxY, minZ, maxZ;
86 FindMinMaxBrush(minX, maxX, minY, maxY, minZ, maxZ, size);
88 double xx, yy, zz, rr = size * size;
90 for (i = minX; i <= maxX; i++) {
93 for (j = minY; j <= maxY; j++) {
96 for (k = minZ; k <= maxZ; k++) {
97 // if ((i>=_minX) && (i<=_maxX) && (j>=_minY) && (j<=_maxY) && (k>=_minZ) && (k<=_maxZ))
100 float scalarComponent = _image->GetScalarComponentAsFloat(i,
102 if ((this->GetRangeMin() <= scalarComponent)
103 && (scalarComponent <= this->GetRangeMax())) {
106 if (_brushform == 0) {
107 this->_IMManager->AddModifiedPixel(i, j, k); //DFCH
108 _image->SetScalarComponentFromFloat(i, j, k, 0,
110 } else if (_brushform == 1) {
111 if ((xx + yy + zz) <= rr) {
112 this->_IMManager->AddModifiedPixel(i, j, k); //DFCH
113 _image->SetScalarComponentFromFloat(i, j, k, 0,
117 } // GetRangeMin && GetRangeMax
119 // } //if _minX _maxX _minY _maxY _minZ _maxZ
127 "ERROR : bbcreaMaracasvisu::vtkInteractorManualPaint::PaintImage : Image not set. \n");
131 //---------------------------------------------------------------------------
132 void BrushFilter::SetBrushSize(int brushsize) {
133 _brushsize = brushsize;
136 //---------------------------------------------------------------------------
137 void BrushFilter::SetBrushForm(int brushform) {
138 _brushform = brushform;
141 //---------------------------------------------------------------------------
142 void BrushFilter::SetBrushTool(int brushtool) {
143 _brushtool = brushtool;
146 //---------------------------------------------------------------------------
147 void BrushFilter::SetRangeMin(int min) {
151 //---------------------------------------------------------------------------
152 void BrushFilter::SetRangeMax(int max) {
156 //---------------------------------------------------------------------------
157 int BrushFilter::GetRangeMin() {
161 //---------------------------------------------------------------------------
162 int BrushFilter::GetRangeMax() {