BrushFilter::BrushFilter() {
_brushsize = 1;
- _brushform = 0; // 0 rectangle-box , 1 circle-sphere
+ _brushform = 0; // 0 rectangle-cube , 1 circle-sphere
_brushtool = 0; // 0 pencil , 1 fill
}
FindMinMaxBrush(minX, maxX, minY, maxY, minZ, maxZ, size);
double xx, yy, zz, rr = size * size;
+ float scalarComponent;
+ bool pixelModify;
-printf("EED BrushFilter::Run() %d %d\n", _RangeMin, _RangeMax);
-
- for (i = minX; i <= maxX; i++) {
+ for (i = minX; i <= maxX; i++)
+ {
xx = _px - i;
xx = xx * xx;
- for (j = minY; j <= maxY; j++) {
+ for (j = minY; j <= maxY; j++)
+ {
yy = _py - j;
yy = yy * yy;
- for (k = minZ; k <= maxZ; k++) {
-// if ((i>=_minX) && (i<=_maxX) && (j>=_minY) && (j<=_maxY) && (k>=_minZ) && (k<=_maxZ))
-// {
-
- float scalarComponent = _image->GetScalarComponentAsFloat(i,j, k, 0);
+ for (k = minZ; k <= maxZ; k++)
+ {
+ pixelModify=false;
+ scalarComponent = _image->GetScalarComponentAsFloat(i,j, k, 0);
if ((_RangeMin <= scalarComponent)
- && (scalarComponent <= _RangeMax )) {
+ && (scalarComponent <= _RangeMax ))
+ {
if (_brushform == 0)
{
- this->_IMManager->AddModifiedPixel(i, j, k); //DFCH
- _image->SetScalarComponentFromFloat(i, j, k, 0,value);
+ pixelModify=true;
+// this->_IMManager->AddModifiedPixel(i, j, k); //DFCH
+// _image->SetScalarComponentFromFloat(i, j, k, 0,value);
} // _brushform 0
if (_brushform == 1)
{
zz = _pz - k;
zz = zz * zz;
if ((xx + yy + zz) <= rr) {
- this->_IMManager->AddModifiedPixel(i, j, k); //DFCH
- _image->SetScalarComponentFromFloat(i, j, k, 0,value);
+ pixelModify=true;
+// this->_IMManager->AddModifiedPixel(i, j, k); //DFCH
+// _image->SetScalarComponentFromFloat(i, j, k, 0,value);
}
} // _brushform 1
+ if (pixelModify==true)
+ {
+ this->_IMManager->AddModifiedPixel(i, j, k); //DFCH
+ if (_image2!=NULL)
+ {
+ _image2->SetScalarComponentFromFloat(i, j, k, 0,value);
+ }else {
+ _image->SetScalarComponentFromFloat(i, j, k, 0,value);
+ }
+ } // if pixelModify
} // GetRangeMin && GetRangeMax
-// } //if _minX _maxX _minY _maxY _minZ _maxZ
-
- } //k
- } //j
- } //i
+ } //for k
+ } //for j
+ } //for i
_image->Modified();
} else {
printf(
}
//---------------------------------------------------------------------------
-void BrushFilter::SetBrushSize(int brushsize) {
+void BrushFilter::SetBrushSize(int brushsize)
+{
_brushsize = brushsize;
}
//---------------------------------------------------------------------------
-void BrushFilter::SetBrushForm(int brushform) {
+void BrushFilter::SetBrushForm(int brushform)
+{
_brushform = brushform;
}
//---------------------------------------------------------------------------
-void BrushFilter::SetBrushTool(int brushtool) {
+void BrushFilter::SetBrushTool(int brushtool)
+{
_brushtool = brushtool;
}
-//---------------------------------------------------------------------------
-void BrushFilter::SetRangeMin(int min) {
- _RangeMin = min;
-}
-
-//---------------------------------------------------------------------------
-void BrushFilter::SetRangeMax(int max) {
- _RangeMax = max;
-}
-
-//---------------------------------------------------------------------------
-int BrushFilter::GetRangeMin() {
- return _RangeMin;
-}
-
-//---------------------------------------------------------------------------
-int BrushFilter::GetRangeMax() {
- return _RangeMax;
-}