2 # ---------------------------------------------------------------------
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
10 # This software is governed by the CeCILL-B license under French law and
11 # abiding by the rules of distribution of free software. You can use,
12 # modify and/ or redistribute the software under the terms of the CeCILL-B
13 # license as circulated by CEA, CNRS and INRIA at the following URL
14 # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
15 # or in the file LICENSE.txt.
17 # As a counterpart to the access to the source code and rights to copy,
18 # modify and redistribute granted by the license, users are provided only
19 # with a limited warranty and the software's author, the holder of the
20 # economic rights, and the successive licensors have only limited
23 # The fact that you are presently reading this means that you have had
24 # knowledge of the CeCILL-B license and that you accept its terms.
25 # ------------------------------------------------------------------------
29 #ifndef __creaVtk_MACROS_h_INCLUDED__
30 #define __creaVtk_MACROS_h_INCLUDED__
38 #define DEF_POINTER_IMAGE_VTK_CREA_difinition(VALUE,SCALARSIZE,POINTERIMAGE,SCALARTYPE) \
41 char *POINTERIMAGE ; \
44 #define DEF_POINTER_IMAGE_VTK_CREA_set(VALUE,SCALARSIZE,POINTERIMAGE,SCALARTYPE,VTKIMAGE) \
46 SCALARSIZE = VTKIMAGE->GetScalarSize(); \
47 POINTERIMAGE = (char*)(VTKIMAGE->GetScalarPointer()); \
48 SCALARTYPE = VTKIMAGE->GetScalarType();
51 #define DEF_POINTER_IMAGE_VTK_CREA(VALUE,SCALARSIZE,POINTERIMAGE,SCALARTYPE,VTKIMAGE) \
53 int SCALARSIZE = VTKIMAGE->GetScalarSize(); \
54 char *POINTERIMAGE = (char*)(VTKIMAGE->GetScalarPointer()); \
55 int SCALARTYPE = VTKIMAGE->GetScalarType();
58 #define GETVALUE_VTK_CREA(VALUE,POINTER,SCALARTYPE) \
59 if (SCALARTYPE==VTK_DOUBLE) { VALUE=(double)*((double*)POINTER); } \
60 else if (SCALARTYPE==VTK_FLOAT) { VALUE=(double)*((float*)POINTER); } \
61 else if (SCALARTYPE==VTK_CHAR) { VALUE=(double)*((char*)POINTER); } \
62 else if (SCALARTYPE==VTK_UNSIGNED_CHAR) { VALUE=(double)*((unsigned char*)POINTER); } \
63 else if (SCALARTYPE==VTK_INT) { VALUE=(double)*((int*)POINTER); } \
64 else if (SCALARTYPE==VTK_UNSIGNED_INT) { VALUE=(double)*((unsigned int*)POINTER); } \
65 else if (SCALARTYPE==VTK_LONG) { VALUE=(double)*((long*)POINTER); } \
66 else if (SCALARTYPE==VTK_UNSIGNED_LONG) { VALUE=(double)*((unsigned long*)POINTER); } \
67 else if (SCALARTYPE==VTK_SHORT) { VALUE=(double)*((short*)POINTER); } \
68 else if (SCALARTYPE==VTK_UNSIGNED_SHORT){ VALUE=(double)*((unsigned short*)POINTER);} \
69 else { printf("EED GETVALUE_MANUALPAINT error\n"); }
71 #define GETVALUE2_VTK_CREA(VALUE,POINTER,SCALARTYPE,INDEX) \
72 if (SCALARTYPE==VTK_DOUBLE) { VALUE=(double)((double*)POINTER)[INDEX]; } \
73 else if (SCALARTYPE==VTK_FLOAT) { VALUE=(double)((float*)POINTER)[INDEX]; } \
74 else if (SCALARTYPE==VTK_CHAR) { VALUE=(double)((char*)POINTER)[INDEX]; } \
75 else if (SCALARTYPE==VTK_UNSIGNED_CHAR) { VALUE=(double)((unsigned char*)POINTER)[INDEX]; } \
76 else if (SCALARTYPE==VTK_INT) { VALUE=(double)((int*)POINTER)[INDEX]; } \
77 else if (SCALARTYPE==VTK_UNSIGNED_INT) { VALUE=(double)((unsigned int*)POINTER)[INDEX]; } \
78 else if (SCALARTYPE==VTK_LONG) { VALUE=(double)((long*)POINTER)[INDEX]; } \
79 else if (SCALARTYPE==VTK_UNSIGNED_LONG) { VALUE=(double)((unsigned long*)POINTER)[INDEX]; } \
80 else if (SCALARTYPE==VTK_SHORT) { VALUE=(double)((short*)POINTER)[INDEX]; } \
81 else if (SCALARTYPE==VTK_UNSIGNED_SHORT){ VALUE=(double)((unsigned short*)POINTER)[INDEX]; } \
82 else { printf("EED GETVALUE2_MANUALPAINT error\n"); }
84 #define SETVALUE2_VTK_CREA(VALUE,POINTER,SCALARTYPE,INDEX) \
85 if (SCALARTYPE==VTK_DOUBLE) { ((double*)POINTER)[INDEX] = (double)VALUE; } \
86 else if (SCALARTYPE==VTK_FLOAT) { ((float*)POINTER)[INDEX] = (float)VALUE; } \
87 else if (SCALARTYPE==VTK_CHAR) { ((char*)POINTER)[INDEX] = (char)VALUE; } \
88 else if (SCALARTYPE==VTK_UNSIGNED_CHAR) { ((unsigned char*)POINTER)[INDEX] = (unsigned char)VALUE; } \
89 else if (SCALARTYPE==VTK_INT) { ((int*)POINTER)[INDEX] = (int)VALUE; } \
90 else if (SCALARTYPE==VTK_UNSIGNED_INT) { ((unsigned int*)POINTER)[INDEX] = (unsigned int)VALUE; } \
91 else if (SCALARTYPE==VTK_LONG) { ((long*)POINTER)[INDEX] = (long)VALUE; } \
92 else if (SCALARTYPE==VTK_UNSIGNED_LONG) { ((unsigned long*)POINTER)[INDEX] = (unsigned long)VALUE; } \
93 else if (SCALARTYPE==VTK_SHORT) { ((short*)POINTER)[INDEX] = (short)VALUE; } \
94 else if (SCALARTYPE==VTK_UNSIGNED_SHORT){ ((unsigned short*)POINTER)[INDEX] = (unsigned short)VALUE;} \
95 else { printf("EED SETVALUE2_MANUALPAINT error\n"); }
101 #endif // __creaVtk_MACROS_h_INCLUDED__