]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/BrushFilter.h
03af3fae43c118271011a340f90aa5b7d16f2638
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / BrushFilter.h
1 #ifndef _BRUSH_FILTER_H_
2 #define _BRUSH_FILTER_H_
3
4 #include <vtkImageData.h>
5
6
7 class BrushFilter  {
8 public:
9         BrushFilter();
10         virtual ~BrushFilter();
11
12     void SetImage(vtkImageData *image);
13     void SetPoint(int px,int py, int pz);
14     void SetBrushSize( int brushsize );
15     void SetBrushForm( int brushform );
16     void SetBrushTool( int brushtool );
17     void Set2D3D( int dim2D3D );
18     void SetGrayLevel( double graylevel );
19     void SetDirection(int direction);
20     void FindMinMaxBrush(int &minxX,int &maxX,int &minY,int &maxY,int &minZ,int &maxZ,int &size);
21     void ResetGeneralMinMax();
22     void SetGeneralMinMax(int minX,int maxX,int minY,int maxY,int minZ,int maxZ);
23     void Run();
24
25
26 private:
27     vtkImageData    *_image;
28     int             _px;    // start point of the brush
29     int             _py;
30     int             _pz;
31     int             _pMinX;  // General min max of many brush actions
32     int             _pMinY;
33     int             _pMinZ;
34     int             _pMaxX;
35     int             _pMaxY;
36     int             _pMaxZ;
37     int             _minX;   // min max of the image
38     int             _maxX;
39     int             _minY;
40     int             _maxY;
41     int             _minZ;
42     int             _maxZ;
43     int             _brushsize;
44     int             _brushform;
45     int             _brushtool;
46     bool            _2D3D;
47     double          _graylevel;
48
49
50 // EED Borrame
51 //    double          _tolerancefill;
52 //    int             _distancefill;
53 //    double          _graylevelbasefill;
54 //    int             _direction;
55 //    int             _pxfill;
56 //    int             _pyfill;
57 //    int             _pzfill;
58 //    double          _distbasefill;
59 //    double          _tmpDistfill;
60 //    double          _tmpiglfill;
61 //    long int        _countRecursiveFill;
62 //    long int        _countRecursiveFillProblem;
63 //    vtkImageData    *_auxImageFill;
64 //    bool             _usingAuxImageFill;
65 //    bool             _auxGrayLevelValidationFill;
66 //    long int        _countProgressingFill;
67 //    long int        _limitRecursionFill;
68 //    void    SetAuxImageFill(int px,int py, int pz);
69
70 protected:
71
72 };
73
74
75 #endif // _BRUSH_FILTER_H_