+ // _2D3D = 1 3D
+
+ int minXAux = px-_distancefill; if (minXAux>=0) { pxAux=px-minXAux; } else { pxAux=px; minXAux=0; }
+ int minYAux = py-_distancefill; if (minYAux>=0) { pyAux=py-minYAux; } else { pyAux=py; minYAux=0; }
+ int minZAux = pz-_distancefill; if (minZAux>=0) { pzAux=pz-minZAux; } else { pzAux=pz; minZAux=0; }
+
+ int maxXAux = px+_distancefill; if (maxXAux>_dimX) { maxXAux=_dimX; }
+ int maxYAux = py+_distancefill; if (maxYAux>_dimY) { maxYAux=_dimY; }
+ int maxZAux = pz+_distancefill; if (maxZAux>_dimZ) { maxZAux=_dimZ; }
+
+
+ int auxDimX = maxXAux-minXAux+1;
+ int auxDimY = maxYAux-minYAux+1;
+ int auxDimZ = maxZAux-minZAux+1;
+
+ // new vtkImageData
+ if (_2D3D==0) // 2D
+ {
+ if (_direction==0) // YZ
+ {
+ auxDimX = 1;
+ }
+ if (_direction==1) // XZ
+ {
+ auxDimY = 1;
+ }
+ if (_direction==2) // XY
+ {
+ auxDimZ = 1;
+ }
+ } // if 2D
+
+ OneColumnAux = 1;
+ OneLineAux = auxDimX;
+ OnePlaneAux = auxDimX*auxDimY;
+
+ vtkImageData *auxImageFill;
+ auxImageFill = vtkImageData::New();
+ auxImageFill->SetDimensions(auxDimX, auxDimY, auxDimZ);
+ auxImageFill->SetOrigin(0, 0, 0);
+ auxImageFill->SetExtent(0, auxDimX, 0, auxDimY, 0, auxDimZ);
+ auxImageFill->AllocateScalars(VTK_UNSIGNED_CHAR,1);
+ unsigned char * ptrAuxImageFill = (unsigned char *)auxImageFill->GetScalarPointer();
+ memset( ptrAuxImageFill, 0, auxDimX*auxDimY*auxDimZ );
+ return auxImageFill;
+}
+
+
+
+//---------------------------------------------------------------------------
+void FillFilter::FillToolLoop(int px, int py, int pz)
+{
+ _distbasefill = _distancefill * _distancefill;