X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FmanualPaint%2FbaseFilterManualPaint.h;fp=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FmanualPaint%2FbaseFilterManualPaint.h;h=21d38c5f503bcf70d035fc7aa0e407c2052da28c;hb=c6fea780dac325eca6315ac9b297080952e53589;hp=bdb76a4df51871292a97d724b5083440f48cbb68;hpb=dea0efc567d8332b2e7eb936e3ba4ac1c11b2542;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 bdb76a4..21d38c5 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualPaint/baseFilterManualPaint.h @@ -33,6 +33,55 @@ #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: @@ -79,6 +128,9 @@ protected: int _maxY; int _minZ; int _maxZ; + long int _OneColumn; + long int _OneLine; + long int _OnePlane; bool _2D3D; double _graylevel; int _RangeMin;