X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FmanualPaint%2FbaseFilterManualPaint.h;h=35efd9f6c39085c221bb136e58e0d6003940ec45;hb=15112ae15da4222831b0e8e7c9be87daf9e99a1c;hp=21d38c5f503bcf70d035fc7aa0e407c2052da28c;hpb=c6fea780dac325eca6315ac9b297080952e53589;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h index 21d38c5..35efd9f 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h @@ -33,109 +33,64 @@ #include "imageModificationManager.h" -#define GETVALUE_MANUALPAINT(VALUE,POINTER,SCALARTYPE) \ - if (SCALARTYPE==VTK_DOUBLE) { VALUE=(double)*((double*)POINTER); } \ - else if (SCALARTYPE==VTK_FLOAT) { VALUE=(double)*((float*)POINTER); } \ - else if (SCALARTYPE==VTK_CHAR) { VALUE=(double)*((char*)POINTER); } \ - else if (SCALARTYPE==VTK_UNSIGNED_CHAR) { VALUE=(double)*((unsigned char*)POINTER); } \ - else if (SCALARTYPE==VTK_INT) { VALUE=(double)*((int*)POINTER); } \ - else if (SCALARTYPE==VTK_UNSIGNED_INT) { VALUE=(double)*((unsigned int*)POINTER); } \ - else if (SCALARTYPE==VTK_LONG) { VALUE=(double)*((long*)POINTER); } \ - else if (SCALARTYPE==VTK_UNSIGNED_LONG) { VALUE=(double)*((unsigned long*)POINTER); } \ - else if (SCALARTYPE==VTK_SHORT) { VALUE=(double)*((short*)POINTER); } \ - else if (SCALARTYPE==VTK_UNSIGNED_SHORT){ VALUE=(double)*((unsigned short*)POINTER);} \ - else { printf("EED GETVALUE_MANUALPAINT error\n"); } - -#define GETVALUE2_MANUALPAINT(VALUE,POINTER,SCALARTYPE,INDEX) \ - if (SCALARTYPE==VTK_DOUBLE) { VALUE=(double)((double*)POINTER)[INDEX]; } \ - else if (SCALARTYPE==VTK_FLOAT) { VALUE=(double)((float*)POINTER)[INDEX]; } \ - else if (SCALARTYPE==VTK_CHAR) { VALUE=(double)((char*)POINTER)[INDEX]; } \ - else if (SCALARTYPE==VTK_UNSIGNED_CHAR) { VALUE=(double)((unsigned char*)POINTER)[INDEX]; } \ - else if (SCALARTYPE==VTK_INT) { VALUE=(double)((int*)POINTER)[INDEX]; } \ - else if (SCALARTYPE==VTK_UNSIGNED_INT) { VALUE=(double)((unsigned int*)POINTER)[INDEX]; } \ - else if (SCALARTYPE==VTK_LONG) { VALUE=(double)((long*)POINTER)[INDEX]; } \ - else if (SCALARTYPE==VTK_UNSIGNED_LONG) { VALUE=(double)((unsigned long*)POINTER)[INDEX]; } \ - else if (SCALARTYPE==VTK_SHORT) { VALUE=(double)((short*)POINTER)[INDEX]; } \ - else if (SCALARTYPE==VTK_UNSIGNED_SHORT){ VALUE=(double)((unsigned short*)POINTER)[INDEX]; } \ - else { printf("EED GETVALUE2_MANUALPAINT error\n"); } - -#define SETVALUE2_MANUALPAINT(VALUE,POINTER,SCALARTYPE,INDEX) \ - if (SCALARTYPE==VTK_DOUBLE) { ((double*)POINTER)[INDEX] = (double)VALUE; } \ - else if (SCALARTYPE==VTK_FLOAT) { ((float*)POINTER)[INDEX] = (float)VALUE; } \ - else if (SCALARTYPE==VTK_CHAR) { ((char*)POINTER)[INDEX] = (char)VALUE; } \ - else if (SCALARTYPE==VTK_UNSIGNED_CHAR) { ((unsigned char*)POINTER)[INDEX] = (unsigned char)VALUE; } \ - else if (SCALARTYPE==VTK_INT) { ((int*)POINTER)[INDEX] = (int)VALUE; } \ - else if (SCALARTYPE==VTK_UNSIGNED_INT) { ((unsigned int*)POINTER)[INDEX] = (unsigned int)VALUE; } \ - else if (SCALARTYPE==VTK_LONG) { ((long*)POINTER)[INDEX] = (long)VALUE; } \ - else if (SCALARTYPE==VTK_UNSIGNED_LONG) { ((unsigned long*)POINTER)[INDEX] = (unsigned long)VALUE; } \ - else if (SCALARTYPE==VTK_SHORT) { ((short*)POINTER)[INDEX] = (short)VALUE; } \ - else if (SCALARTYPE==VTK_UNSIGNED_SHORT){ ((unsigned short*)POINTER)[INDEX] = (unsigned short)VALUE;} \ - else { printf("EED SETVALUE2_MANUALPAINT error\n"); } - - -#define DEFINEPOINTERIMAGE_MANUALPAINT(VALUE,SCALARSIZE,POINTERIMAGE,SCALARTYPE,IMAGE) \ - double VALUE = 0; \ - int SCALARSIZE = IMAGE->GetScalarSize(); \ - char *POINTERIMAGE = (char*)(IMAGE->GetScalarPointer()); \ - int SCALARTYPE = IMAGE->GetScalarType(); - - - - class baseFilterManualPaint { public: baseFilterManualPaint(); virtual ~baseFilterManualPaint(); - virtual void SetImages(vtkImageData *image,vtkImageData *image2); void SetPoint(int px, int py, int pz); void Set2D3D(int dim2D3D); void SetGrayLevel(double graylevel); void SetDirection(int direction); - void ResetGeneralMinMax(); - void SetGeneralMinMax(int minX, int maxX, int minY, int maxY, int minZ, int maxZ); +//EED 2020-04-28 BORRAME Change to local variables to use with openmp +// void ResetGeneralMinMax(); +// void SetGeneralMinMax(int minX, int maxX, int minY, int maxY, int minZ, int maxZ); void GetScalarRange(double * range); - void SetRangeMin( int min );//DFCH void SetRangeMax( int max );//DFCH int GetRangeMin( ); //DFCH int GetRangeMax( ); //DFCH - ImageMManager* GetImageMManager(); //DFCH void CleanImageMManager(); //DFCH - virtual void Run(); - + virtual void Run(int px, int py, int pz); private: - protected: ImageMManager *_IMManager; //Saves the last modified region (MinX, MaxX, MinY, MaxY, MinZ, MaxZ). vtkImageData *_image; vtkImageData *_image2; int _direction; - int _px; // start point of the brush - int _py; - int _pz; - int _pMinX; // General min max of many brush actions - int _pMinY; - int _pMinZ; - int _pMaxX; - int _pMaxY; - int _pMaxZ; int _minX; // min max of the image - int _maxX; int _minY; - int _maxY; int _minZ; - int _maxZ; - long int _OneColumn; - long int _OneLine; - long int _OnePlane; + +//EED 2020-04-28 BORRAME Change to local variables to use with openmp +// int _px; // start point of the brush +// int _py; +// int _pz; +// int _maxX; +// int _maxY; +// int _maxZ; +// int _pMinX; // General min max of many brush actions +// int _pMinY; +// int _pMinZ; +// int _pMaxX; +// int _pMaxY; +// int _pMaxZ; + + int _dimX; + int _dimY; + int _dimZ; bool _2D3D; double _graylevel; int _RangeMin; int _RangeMax; +//EED 2020-04-28 BORRAME Change to local variables to use with openmp + long int _OneColumn; + long int _OneLine; + long int _OnePlane; + };