]> Creatis software - crea.git/blob - src/creaVtk.h
175769e57b8f0cfc122866e2a75dba4583d15b9a
[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                                                     size_t size);
15
16   template <class T>
17   vtkIdType GetVtkIdType(T&) { return VTK_VOID; }
18
19 #define SPECIALIZE_GETVTKIDTYPE(T,R) \
20   template <> vtkIdType GetVtkIdType<T>(T&) { return R; }  
21
22   SPECIALIZE_GETVTKIDTYPE(char,VTK_CHAR)
23   SPECIALIZE_GETVTKIDTYPE(signed char,VTK_SIGNED_CHAR)
24   SPECIALIZE_GETVTKIDTYPE(unsigned char,VTK_UNSIGNED_CHAR)
25   SPECIALIZE_GETVTKIDTYPE(short,VTK_SHORT)
26   SPECIALIZE_GETVTKIDTYPE(unsigned short,VTK_UNSIGNED_SHORT)
27   SPECIALIZE_GETVTKIDTYPE(int,VTK_INT)
28   SPECIALIZE_GETVTKIDTYPE(unsigned int,VTK_UNSIGNED_INT)
29   SPECIALIZE_GETVTKIDTYPE(long,VTK_LONG)
30   SPECIALIZE_GETVTKIDTYPE(unsigned long,VTK_UNSIGNED_LONG)
31   SPECIALIZE_GETVTKIDTYPE(float,VTK_FLOAT)
32   SPECIALIZE_GETVTKIDTYPE(double,VTK_DOUBLE)
33
34 #undef SPECIALIZE_GETVTKIDTYPE
35 }
36
37 #include <creaVtk.txx>
38
39
40 #endif // USE_VTK
41 #endif // __creaVtk_h_INCLUDED__