#include "baseFilterManualPaint.h"
+
class FillFilter : public baseFilterManualPaint {
public:
FillFilter();
virtual ~FillFilter();
-
- void Run();
- void FillToolRecursive(int px,int py, int pz, long int ivi);
-
+ void Run(int px, int py, int pz);
+ void FillToolLoop(int px, int py, int pz);
void SetToleranceFill(double tolerancefill);
void SetDistanceFill(int distancefill);
virtual void SetImages(vtkImageData *image,vtkImageData *image2);
+// vtkImageData* GetAuxImageFill();
+void Copy_GeneralAuxFill_to_Results();
+
private:
double _tolerancefill;
int _distancefill;
- double _graylevelbasefill;
-
- int _pxfill;
- int _pyfill;
- int _pzfill;
- double _distbasefill;
- double _tmpDistfill;
- double _tmpiglfill;
- double _tmpiglfill2;
- long int _countRecursiveFill;
- long int _countRecursiveFillProblem;
- vtkImageData *_auxImageFill;
-//EED01
- unsigned char *_ptrAuxImageFill;
-
- bool _usingAuxImageFill;
- bool _auxGrayLevelValidationFill;
- long int _countProgressingFill;
- long int _limitRecursionFill;
-
-
- void SetAuxImageFill(int px,int py, int pz,long int ivi);
- int _maxXback;
- int _maxYback;
- int _maxZback;
+
+//EED 2020-04-28 BORRAME Change to local variables to use with openmp
+// double _distbasefill;
+// double _graylevelbasefill;
+// double _tmpiglfill;
+// double _tmpiglfill2;
+// bool _auxGrayLevelValidationFill;
+
+//EED 2020-04-28 BORRAME Change to local variables to use with openmp
+// vtkImageData *_auxImageFill;
+// int _maxXback;
+// int _maxYback;
+// int _maxZback;
+ vtkImageData *_GeneralAuxImageFill;
+
+vtkImageData* CreateAuxImageFill( long int &OneColumnAux, long int &OneLineAux , long int &OnePlaneAux,
+ int px, int py, int pz,
+ int &pxAux, int &pyAux, int &pzAux,
+ int &minXAux, int &minYAux, int &minZAux );
+void Copy_AuxImageFill_To_GeneralAuxFill(int minXAux, int minYAux, int minZAux, vtkImageData *auxImageFill);
+
protected:
+
+
+//Change to local variables to use with openmp
+// DEF_POINTER_IMAGE_VTK_CREA_definition( v_image , ss_image , p_image , st_image )
+// double v_image;
+// int ss_image;
+// char *p_image;
+// int st_image;
+
+// //macro not working ???
+// DEF_POINTER_IMAGE_VTK_CREA_definition(v_image2,ss_image2,p_image2,st_image2)
+// double v_image2;
+// int ss_image2;
+// char *p_image2;
+// int st_image2;
+
};