]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/Instances_itkImage.cxx
...
[cpPlugins.git] / lib / cpPlugins / Interface / Instances_itkImage.cxx
index a040f449480311324908cf46954846a5f02b5757..855c2f673903beb144b5c7c4dcac09dfacad26ba 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <complex>
 
+#undef ITK_MANUAL_INSTANTIATION
 #include <itkImage.h>
 #include <itkImageToVTKImageFilter.h>
 
 #include <itkVector.h>
 
 // -------------------------------------------------------------------------
-#define cpPlugins_Image_Export( T, D )                                  \
-  cpPlugins_TEMPLATE_EXPORT(                                            \
-    2(class cpPlugins_Interface_EXPORT itk::Image< T, D >)              \
+#define cpPlugins_ITKImage_Export( T, D )                       \
+  cpPlugins_TEMPLATE_EXPORT(                                    \
+    2(class cpPlugins_Interface_EXPORT itk::Image< T, D >)      \
     )
 
 // -------------------------------------------------------------------------
-#define cpPlugins_VTKImage_Export( T, D )                               \
+#define cpPlugins_ITKArrayImage_Export( A, T, DA, DI )                  \
   cpPlugins_TEMPLATE_EXPORT(                                            \
-    2(                                                                  \
-      class cpPlugins_Interface_EXPORT                                  \
-      itk::ImageToVTKImageFilter< itk::Image< T, D > >                  \
-      )                                                                 \
+    3(class cpPlugins_Interface_EXPORT itk::Image< A< T, DA >, DI >)    \
     )
 
 // -------------------------------------------------------------------------
-#define cpPlugins_ImageArray_Export( A, T, DA, DI )                     \
-  cpPlugins_TEMPLATE_EXPORT(                                            \
-    3(                                                                  \
-      class cpPlugins_Interface_EXPORT                                  \
-      itk::Image< itk::A< T, DA >, DI >                                 \
-      )                                                                 \
-    )
+#define cpPlugins_ITKImage_AllDims_Export( T )  \
+  cpPlugins_ITKImage_Export( T, 2 );            \
+  cpPlugins_ITKImage_Export( T, 3 );            \
+  cpPlugins_ITKImage_Export( T, 4 )
 
 // -------------------------------------------------------------------------
-#define cpPlugins_VTKImageArray_Export( A, T, DA, DI )                  \
-  cpPlugins_TEMPLATE_EXPORT(                                            \
-    3(                                                                  \
-      class cpPlugins_Interface_EXPORT                                  \
-      itk::ImageToVTKImageFilter< itk::Image< itk::A< T, DA >, DI > >   \
-      )                                                                 \
+#define cpPlugins_ITKArrayImage_AllDims_Export( A, T )  \
+  cpPlugins_ITKArrayImage_Export( A, T, 2, 2 );         \
+  cpPlugins_ITKArrayImage_Export( A, T, 3, 3 );         \
+  cpPlugins_ITKArrayImage_Export( A, T, 4, 4 )
+
+// -------------------------------------------------------------------------
+#define cpPlugins_VTKImage_Export( T, D )               \
+  cpPlugins_TEMPLATE_EXPORT(                            \
+    2(                                                  \
+      class cpPlugins_Interface_EXPORT                  \
+      itk::ImageToVTKImageFilter< itk::Image< T, D > >  \
+      )                                                 \
     )
 
 // -------------------------------------------------------------------------
-#define cpPlugins_Image_Export_AllDimensions( T )       \
-  cpPlugins_Image_Export( T, 2 );                       \
-  cpPlugins_Image_Export( T, 3 );                       \
-  cpPlugins_Image_Export( T, 4 )
+#define cpPlugins_VTKArrayImage_Export( A, T, DA, DI )                  \
+  cpPlugins_TEMPLATE_EXPORT(                                            \
+    3(class                                                             \
+      cpPlugins_Interface_EXPORT                                        \
+      itk::ImageToVTKImageFilter< itk::Image< A< T, DA >, DI > >)       \
+    )
 
 // -------------------------------------------------------------------------
-#define cpPlugins_VTKImage_Export_AllDimensions( T )       \
-  cpPlugins_VTKImage_Export( T, 2 );                       \
+#define cpPlugins_VTKImage_AllDims_Export( T )  \
+  cpPlugins_VTKImage_Export( T, 2 );            \
   cpPlugins_VTKImage_Export( T, 3 )
 
 // -------------------------------------------------------------------------
-#define cpPlugins_ImageArray_Export_AllDimensions( A, T )             \
-  cpPlugins_ImageArray_Export( A, T, 2, 2 );                          \
-  cpPlugins_ImageArray_Export( A, T, 3, 3 );                          \
-  cpPlugins_ImageArray_Export( A, T, 4, 4 )
+#define cpPlugins_VTKArrayImage_AllDims_Export( A, T )  \
+  cpPlugins_VTKArrayImage_Export( A, T, 2, 2 );         \
+  cpPlugins_VTKArrayImage_Export( A, T, 3, 3 )
 
 // -------------------------------------------------------------------------
-#define cpPlugins_VTKImageArray_Export_AllDimensions( A, T )            \
-  cpPlugins_VTKImageArray_Export( A, T, 2, 2 );                         \
-  cpPlugins_VTKImageArray_Export( A, T, 3, 3 )
-
+#define cpPlugins_Image_Export( T, D )          \
+  cpPlugins_ITKImage_Export( T, D );            \
+  cpPlugins_VTKImage_Export( T, D )             \
+  
+// -------------------------------------------------------------------------
+#define cpPlugins_Image_AllDims_Export( T )     \
+  cpPlugins_ITKImage_AllDims_Export( T );       \
+  cpPlugins_VTKImage_AllDims_Export( T )        \
+  
+// -------------------------------------------------------------------------
+#define cpPlugins_ArrayImage_AllDims_Export( A, T )     \
+  cpPlugins_ITKArrayImage_AllDims_Export( A, T );       \
+  cpPlugins_VTKArrayImage_AllDims_Export( A, T )        \
+  
+// -------------------------------------------------------------------------
+// ITK-VTK base clases
 // -------------------------------------------------------------------------
-// ITK base clases
-cpPlugins_Image_Export_AllDimensions( char );
-cpPlugins_Image_Export_AllDimensions( short );
-cpPlugins_Image_Export_AllDimensions( int );
-cpPlugins_Image_Export_AllDimensions( long );
-cpPlugins_Image_Export_AllDimensions( unsigned char );
-cpPlugins_Image_Export_AllDimensions( unsigned short );
-cpPlugins_Image_Export_AllDimensions( unsigned int );
-cpPlugins_Image_Export_AllDimensions( unsigned long );
-cpPlugins_Image_Export_AllDimensions( float );
-cpPlugins_Image_Export_AllDimensions( double );
-
-cpPlugins_Image_Export_AllDimensions( std::complex< float > );
-cpPlugins_Image_Export_AllDimensions( std::complex< double > );
-
-cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< char > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< short > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< int > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< long > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned char > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned short > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned int > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< unsigned long > );
-
-cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< char > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< short > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< int > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< long > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned char > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned short > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned int > );
-cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< unsigned long > );
-
-cpPlugins_ImageArray_Export_AllDimensions( Vector, float );
-cpPlugins_ImageArray_Export_AllDimensions( Vector, double );
-
-cpPlugins_ImageArray_Export_AllDimensions( CovariantVector, float );
-cpPlugins_ImageArray_Export_AllDimensions( CovariantVector, double );
-
-cpPlugins_ImageArray_Export_AllDimensions( Point, float );
-cpPlugins_ImageArray_Export_AllDimensions( Point, double );
-
-cpPlugins_ImageArray_Export_AllDimensions(
-  SymmetricSecondRankTensor, float
-  );
-cpPlugins_ImageArray_Export_AllDimensions(
-  SymmetricSecondRankTensor, double
-  );
-
-cpPlugins_Image_Export( itk::DiffusionTensor3D< float >, 3 );
-cpPlugins_Image_Export( itk::DiffusionTensor3D< double >, 3 );
-cpPlugins_Image_Export( itk::Offset< 2 >, 2 );
-cpPlugins_Image_Export( itk::Offset< 3 >, 3 );
-cpPlugins_Image_Export( itk::Offset< 4 >, 4 );
 
+cpPlugins_Image_AllDims_Export( char );
+cpPlugins_Image_AllDims_Export( short );
+cpPlugins_Image_AllDims_Export( int );
+cpPlugins_Image_AllDims_Export( long );
+cpPlugins_Image_AllDims_Export( unsigned char );
+cpPlugins_Image_AllDims_Export( unsigned short );
+cpPlugins_Image_AllDims_Export( unsigned int );
+cpPlugins_Image_AllDims_Export( unsigned long );
+cpPlugins_Image_AllDims_Export( float );
+cpPlugins_Image_AllDims_Export( double );
+
+cpPlugins_Image_AllDims_Export( itk::RGBPixel< char > );
+cpPlugins_Image_AllDims_Export( itk::RGBPixel< short > );
+cpPlugins_Image_AllDims_Export( itk::RGBPixel< int > );
+cpPlugins_Image_AllDims_Export( itk::RGBPixel< long > );
+cpPlugins_Image_AllDims_Export( itk::RGBPixel< unsigned char > );
+cpPlugins_Image_AllDims_Export( itk::RGBPixel< unsigned short > );
+cpPlugins_Image_AllDims_Export( itk::RGBPixel< unsigned int > );
+cpPlugins_Image_AllDims_Export( itk::RGBPixel< unsigned long > );
+cpPlugins_Image_AllDims_Export( itk::RGBPixel< float > );
+cpPlugins_Image_AllDims_Export( itk::RGBPixel< double > );
+
+cpPlugins_Image_AllDims_Export( itk::RGBAPixel< char > );
+cpPlugins_Image_AllDims_Export( itk::RGBAPixel< short > );
+cpPlugins_Image_AllDims_Export( itk::RGBAPixel< int > );
+cpPlugins_Image_AllDims_Export( itk::RGBAPixel< long > );
+cpPlugins_Image_AllDims_Export( itk::RGBAPixel< unsigned char > );
+cpPlugins_Image_AllDims_Export( itk::RGBAPixel< unsigned short > );
+cpPlugins_Image_AllDims_Export( itk::RGBAPixel< unsigned int > );
+cpPlugins_Image_AllDims_Export( itk::RGBAPixel< unsigned long > );
+cpPlugins_Image_AllDims_Export( itk::RGBAPixel< float > );
+cpPlugins_Image_AllDims_Export( itk::RGBAPixel< double > );
+
+cpPlugins_Image_AllDims_Export( itk::DiffusionTensor3D< float > );
+cpPlugins_Image_AllDims_Export( itk::DiffusionTensor3D< double > );
+
+cpPlugins_ArrayImage_AllDims_Export( itk::Vector, float );
+cpPlugins_ArrayImage_AllDims_Export( itk::Vector, double );
+
+cpPlugins_ArrayImage_AllDims_Export( itk::CovariantVector, float );
+cpPlugins_ArrayImage_AllDims_Export( itk::CovariantVector, double );
+
+cpPlugins_ArrayImage_AllDims_Export( itk::Point, float );
+cpPlugins_ArrayImage_AllDims_Export( itk::Point, double );
+
+cpPlugins_ArrayImage_AllDims_Export( itk::SymmetricSecondRankTensor, float );
+cpPlugins_ArrayImage_AllDims_Export( itk::SymmetricSecondRankTensor, double );
+
+// -------------------------------------------------------------------------
+// ITK-only base clases
 // -------------------------------------------------------------------------
-// ITK<->VTK base clases
-cpPlugins_VTKImage_Export_AllDimensions( char );
-cpPlugins_VTKImage_Export_AllDimensions( short );
-cpPlugins_VTKImage_Export_AllDimensions( int );
-cpPlugins_VTKImage_Export_AllDimensions( long );
-cpPlugins_VTKImage_Export_AllDimensions( unsigned char );
-cpPlugins_VTKImage_Export_AllDimensions( unsigned short );
-cpPlugins_VTKImage_Export_AllDimensions( unsigned int );
-cpPlugins_VTKImage_Export_AllDimensions( unsigned long );
-cpPlugins_VTKImage_Export_AllDimensions( float );
-cpPlugins_VTKImage_Export_AllDimensions( double );
-
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< char > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< short > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< int > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< long > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned char > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned short > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned int > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBPixel< unsigned long > );
-
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< char > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< short > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< int > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< long > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned char > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned short > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned int > );
-cpPlugins_VTKImage_Export_AllDimensions( itk::RGBAPixel< unsigned long > );
-
-cpPlugins_VTKImageArray_Export_AllDimensions( Vector, float );
-cpPlugins_VTKImageArray_Export_AllDimensions( Vector, double );
-
-cpPlugins_VTKImageArray_Export_AllDimensions( CovariantVector, float );
-cpPlugins_VTKImageArray_Export_AllDimensions( CovariantVector, double );
-
-cpPlugins_VTKImageArray_Export_AllDimensions( Point, float );
-cpPlugins_VTKImageArray_Export_AllDimensions( Point, double );
-
-cpPlugins_VTKImageArray_Export_AllDimensions(
-  SymmetricSecondRankTensor, float
-  );
-cpPlugins_VTKImageArray_Export_AllDimensions(
-  SymmetricSecondRankTensor, double
-  );
-
-cpPlugins_VTKImage_Export( itk::DiffusionTensor3D< float >, 3 );
-cpPlugins_VTKImage_Export( itk::DiffusionTensor3D< double >, 3 );
+
+cpPlugins_ITKImage_AllDims_Export( std::complex< float > );
+cpPlugins_ITKImage_AllDims_Export( std::complex< double > );
+
+cpPlugins_ITKImage_Export( itk::Offset< 2 >, 2 );
+cpPlugins_ITKImage_Export( itk::Offset< 3 >, 3 );
+cpPlugins_ITKImage_Export( itk::Offset< 4 >, 4 );
 
 // eof - $RCSfile$