]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/ManualPaintModel.cpp
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualPaint / ManualPaintModel.cpp
1
2 #include "ManualPaintModel.h"
3
4
5 ManualPaintModel::ManualPaintModel()
6 {
7     _graylevel=0.0;
8     _brushsize=1;
9 }
10
11 //---------------------------------------------------------------------------
12 ManualPaintModel::~ManualPaintModel()
13 {
14 }
15
16 void ManualPaintModel::SetImage(vtkImageData *image)
17 {
18     _image=image;
19 }
20
21 void ManualPaintModel::PaintImage(int px,int py, int pz)
22 {
23     if (_image!=NULL)
24     {
25         float value=(float)_graylevel;
26         int i,j,k;
27         int size = _brushsize-1;
28         int minX=px-size;
29         int maxX=px+size;
30         int minY=py-size;
31         int maxY=py+size;
32         int minZ=pz-size;
33         int maxZ=pz+size;
34
35         for (i=minX; i<=maxX; i++)
36         {
37             for (j=minY; j<=maxY; j++)
38             {
39                 for (k=minZ; k<=maxZ; k++)
40                 {
41                     _image->SetScalarComponentFromFloat (i,j,k, 0, value );
42                 }
43             }
44         }
45         _image->Modified();
46         _image->UpdateInformation();
47         _image->Update();
48         _image->UpdateData();
49     } else  {
50         printf("ERROR : bbcreaMaracasvisu::vtkInteractorManualPaint::PaintImage :  Image not set. \n");
51     }
52 }
53
54
55 //---------------------------------------------------------------------------
56 void ManualPaintModel::SetBrushSize( int brushsize )
57 {
58     printf("EED %p ManualPaintModel::SetBrushSize \n", this);
59     _brushsize = brushsize;
60 }
61
62 //---------------------------------------------------------------------------
63 void ManualPaintModel::SetGrayLevel( double graylevel )
64 {
65     printf("EED %p ManualPaintModel::SetGrayLevel \n", this);
66     _graylevel = graylevel;
67 }
68