]> Creatis software - crea.git/blob - src/creaVtk.h
*** empty log message ***
[crea.git] / src / creaVtk.h
1 #ifndef __creaVtk_h_INCLUDED__
2 #define __creaVtk_h_INCLUDED__
3
4 #ifdef USE_VTK
5
6 #include <creaSystem.h>
7 #include <vtkImageData.h>
8
9 namespace crea
10 {
11
12   template <class T>
13   vtkImageData* CREA_EXPORT NewVtkImageDataFromRaw( T* data,
14                                                     int nx, 
15                                                     int ny,
16                                                     int nz);
17
18   template <class T>
19   vtkIdType GetVtkIdType(T&) { return VTK_VOID; }
20
21 #define SPECIALIZE_GETVTKIDTYPE(T,R) \
22   template <> vtkIdType GetVtkIdType<T>(T&) { return R; }  
23
24   SPECIALIZE_GETVTKIDTYPE(char,VTK_CHAR)
25   SPECIALIZE_GETVTKIDTYPE(signed char,VTK_SIGNED_CHAR)
26   SPECIALIZE_GETVTKIDTYPE(unsigned char,VTK_UNSIGNED_CHAR)
27   SPECIALIZE_GETVTKIDTYPE(short,VTK_SHORT)
28   SPECIALIZE_GETVTKIDTYPE(unsigned short,VTK_UNSIGNED_SHORT)
29   SPECIALIZE_GETVTKIDTYPE(int,VTK_INT)
30   SPECIALIZE_GETVTKIDTYPE(unsigned int,VTK_UNSIGNED_INT)
31   SPECIALIZE_GETVTKIDTYPE(long,VTK_LONG)
32   SPECIALIZE_GETVTKIDTYPE(unsigned long,VTK_UNSIGNED_LONG)
33   SPECIALIZE_GETVTKIDTYPE(float,VTK_FLOAT)
34   SPECIALIZE_GETVTKIDTYPE(double,VTK_DOUBLE)
35
36 #undef SPECIALIZE_GETVTKIDTYPE
37 }
38
39 #include <creaVtk.txx>
40
41
42 #endif // USE_VTK
43 #endif // __creaVtk_h_INCLUDED__