- SetAuxImageFill(px + 1, py, pz);
- SetAuxImageFill(px - 1, py, pz);
- SetAuxImageFill(px, py + 1, pz);
- SetAuxImageFill(px, py - 1, pz);
- //SetAuxImageFill(px,py,pz-1);
- //SetAuxImageFill(px,py,pz+1);
- }
- } else { // 3D
-
- SetAuxImageFill(px + 1, py, pz);
- SetAuxImageFill(px - 1, py, pz);
- SetAuxImageFill(px, py + 1, pz);
- SetAuxImageFill(px, py - 1, pz);
- SetAuxImageFill(px, py, pz - 1);
- SetAuxImageFill(px, py, pz + 1);
- } // 2D 3D
-
- } // _graylevel //_limitRecursionFill
-
- } //if _minX _maxX _minY _maxY _minZ _maxZ
-
- _countRecursiveFill--;
-
-}
-
-//---------------------------------------------------------------------------
-void FillFilter::SetAuxImageFill(int px, int py, int pz)
-{
- if ((px >= _minX) && (px <= _maxX) && (py >= _minY) && (py <= _maxY)
- && (pz >= _minZ) && (pz <= _maxZ)) {
- this->_IMManager->AddModifiedPixel(px, py, pz); //DFCH
- _auxImageFill->SetScalarComponentFromFloat(px, py, pz, 0, 1);
- }
+ if (_direction == 0) // YZ
+ {
+ //lstX.push_back(lstX[0]+1); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]+_OneColumn);
+ //lstX.push_back(lstX[0]-1); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]-_OneColumn);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0]+1); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]+_OneLine);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0]-1); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]-_OneLine);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0]+1); lstivi.push_back( lstivi[0]+_OnePlane);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0]-1); lstivi.push_back( lstivi[0]-_OnePlane);
+ }
+ if (_direction == 1) // XZ
+ {
+ lstX.push_back(lstX[0]+1); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]+_OneColumn);
+ lstX.push_back(lstX[0]-1); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]-_OneColumn);
+ // lstX.push_back(lstX[0] ); lstY.push_back(lstY[0]+1); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]+_OneLine);
+ // lstX.push_back(lstX[0] ); lstY.push_back(lstY[0]-1); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]-_OneLine);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0]+1); lstivi.push_back( lstivi[0]+_OnePlane);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0]-1); lstivi.push_back( lstivi[0]-_OnePlane);
+ }
+ if (_direction == 2) // XY
+ {
+ lstX.push_back(lstX[0]+1); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]+_OneColumn);
+ lstX.push_back(lstX[0]-1); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]-_OneColumn);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0]+1); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]+_OneLine);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0]-1); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]-_OneLine);
+ //lstX.push_back(lstX[0] ); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0]+1); lstivi.push_back( lstivi[0]+_OnePlane);
+ //lstX.push_back(lstX[0] ); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0]-1); lstivi.push_back( lstivi[0]-_OnePlane);
+ }
+ } else { // 3D
+ lstX.push_back(lstX[0]+1); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]+_OneColumn);
+ lstX.push_back(lstX[0]-1); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]-_OneColumn);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0]+1); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]+_OneLine);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0]-1); lstZ.push_back(lstZ[0] ); lstivi.push_back( lstivi[0]-_OneLine);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0]+1); lstivi.push_back( lstivi[0]+_OnePlane);
+ lstX.push_back(lstX[0] ); lstY.push_back(lstY[0] ); lstZ.push_back(lstZ[0]-1); lstivi.push_back( lstivi[0]-_OnePlane);
+ } // 2D 3D
+ } // if gray level valid _auxGrayLevelValidationFill
+ } // if point not visited
+ // Add point to already visited
+ SETVALUE2_VTK_CREA(1,p_auxImageFill,st_auxImageFill,lstivi[0]);
+ } // if distance of center point
+ } // if point inside image
+ // Remove point from the list
+ lstX.erase( lstX.begin() );
+ lstY.erase( lstY.begin() );
+ lstZ.erase( lstZ.begin() );
+ lstivi.erase( lstivi.begin() );
+ } // while _lstX.size