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