]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h
71e53988eea3a960a563f9fed2235ea85f6342a4
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / baseFilterManualPaint.h
1 #ifndef _BASE_FILTER_MANUAL_PAINT_H_
2 #define _BASE_FILTER_MANUAL_PAINT_H_
3
4 #include <vtkImageData.h>
5 #include <limits>
6 #include "regionStructUR.h"
7
8 class baseFilterManualPaint  {
9
10     public:
11         baseFilterManualPaint();
12         virtual ~baseFilterManualPaint();
13
14         virtual void SetImage(vtkImageData *image);
15         void SetPoint(int px,int py, int pz);
16         void Set2D3D( int dim2D3D );
17         void SetGrayLevel( double graylevel );
18         void SetDirection(int direction);
19         void ResetGeneralMinMax();
20         void SetGeneralMinMax(int minX,int maxX,int minY,int maxY,int minZ,int maxZ);
21         void GetScalarRange( double * range );
22         RegionStructUR* GetModifiedRegion();//DFCH
23         void CleanModifiedRegion();//DFCH
24         void CalculateMinMaxRegion( const int& i, const int& j, const int& k);//DFCH
25         virtual void Run();
26
27     private:
28
29     protected:
30         RegionStructUR  *_MRegion; //Saves the last modified region (MinX, MaxX, MinY, MaxY, MinZ, MaxZ).
31         vtkImageData    *_image;
32         int             _direction;
33         int             _px;    // start point of the brush
34         int             _py;
35         int             _pz;
36         int             _pMinX;  // General min max of many brush actions
37         int             _pMinY;
38         int             _pMinZ;
39         int             _pMaxX;
40         int             _pMaxY;
41         int             _pMaxZ;
42         int             _minX;   // min max of the image
43         int             _maxX;
44         int             _minY;
45         int             _maxY;
46         int             _minZ;
47         int             _maxZ;
48         bool            _2D3D;
49         double          _graylevel;
50 };
51
52 #endif // _BASE_FILTER_MANUAL_PAINT_H_