+#include <cpPlugins/Interface/Macros.h>
+
#include <complex>
#undef ITK_MANUAL_INSTANTIATION
#include <itkImage.h>
-#include <itkImportImageContainer.h>
#include <itkImageToVTKImageFilter.h>
#include <itkCovariantVector.h>
#include <itkVector.h>
// -------------------------------------------------------------------------
-#define cpPlugins_I_itk( p, d ) \
- template class itk::Image< p, d >;
+#define cpPlugins_ITKImage_Export( T, D ) \
+ cpPlugins_TEMPLATE_EXPORT( \
+ 2(class cpPlugins_Interface_EXPORT itk::Image< T, D >) \
+ )
// -------------------------------------------------------------------------
-#define cpPlugins_I_itk_array( a, p, da, di ) \
- template class itk::Image< a< p, da >, di >;
+#define cpPlugins_ITKArrayImage_Export( A, T, DA, DI ) \
+ cpPlugins_TEMPLATE_EXPORT( \
+ 3(class cpPlugins_Interface_EXPORT itk::Image< A< T, DA >, DI >) \
+ )
// -------------------------------------------------------------------------
-#define cpPlugins_I_itk_Container( p ) \
- template class itk::ImportImageContainer< itk::SizeValueType, p >;
+#define cpPlugins_ITKImage_AllDims_Export( T ) \
+ cpPlugins_ITKImage_Export( T, 2 ); \
+ cpPlugins_ITKImage_Export( T, 3 ); \
+ cpPlugins_ITKImage_Export( T, 4 )
// -------------------------------------------------------------------------
-#define cpPlugins_I_itk_array_Container( a, p, d ) \
- template class itk::ImportImageContainer< itk::SizeValueType, a< p, d > >;
+#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_I_itk_vtk( p, d ) \
- template class itk::ImageToVTKImageFilter< itk::Image< p, d > >;
+#define cpPlugins_VTKImage_Export( T, D ) \
+ cpPlugins_TEMPLATE_EXPORT( \
+ 2( \
+ class cpPlugins_Interface_EXPORT \
+ itk::ImageToVTKImageFilter< itk::Image< T, D > > \
+ ) \
+ )
// -------------------------------------------------------------------------
-#define cpPlugins_I_itk_vtk_array( a, p, da, di ) \
- template class \
- itk::ImageToVTKImageFilter< itk::Image< a< p, da > , di > >;
+#define cpPlugins_VTKArrayImage_Export( A, T, DA, DI ) \
+ cpPlugins_TEMPLATE_EXPORT( \
+ 3(class \
+ cpPlugins_Interface_EXPORT \
+ itk::ImageToVTKImageFilter< itk::Image< A< T, DA >, DI > >) \
+ )
// -------------------------------------------------------------------------
-// Possible itk types
-
-namespace itk
-{
- template std::ostream& operator<<(
- std::ostream& os, const ImageRegion< 1 >& obj
- );
- template class Point< double, 1 >;
- template class Vector< double, 1 >;
-
-} // ecapseman
-
-cpPlugins_I_itk_Container( char );
-cpPlugins_I_itk_Container( short );
-cpPlugins_I_itk_Container( int );
-cpPlugins_I_itk_Container( long );
-cpPlugins_I_itk_Container( unsigned char );
-cpPlugins_I_itk_Container( unsigned short );
-cpPlugins_I_itk_Container( unsigned int );
-cpPlugins_I_itk_Container( unsigned long );
-cpPlugins_I_itk_Container( float );
-cpPlugins_I_itk_Container( double );
-cpPlugins_I_itk_Container( std::complex< float > );
-cpPlugins_I_itk_Container( std::complex< double > );
-cpPlugins_I_itk_Container( itk::RGBPixel< char > );
-cpPlugins_I_itk_Container( itk::RGBPixel< short > );
-cpPlugins_I_itk_Container( itk::RGBPixel< unsigned char > );
-cpPlugins_I_itk_Container( itk::RGBPixel< unsigned short > );
-cpPlugins_I_itk_Container( itk::RGBAPixel< char > );
-cpPlugins_I_itk_Container( itk::RGBAPixel< short > );
-cpPlugins_I_itk_Container( itk::RGBAPixel< unsigned char > );
-cpPlugins_I_itk_Container( itk::RGBAPixel< unsigned short > );
-cpPlugins_I_itk_Container( itk::Offset< 1 > );
-cpPlugins_I_itk_Container( itk::Offset< 2 > );
-cpPlugins_I_itk_Container( itk::Offset< 3 > );
-cpPlugins_I_itk_Container( itk::Offset< 4 > );
-cpPlugins_I_itk_array_Container( itk::Vector, float, 1 );
-cpPlugins_I_itk_array_Container( itk::Vector, double, 1 );
-cpPlugins_I_itk_array_Container( itk::Vector, float, 2 );
-cpPlugins_I_itk_array_Container( itk::Vector, double, 2 );
-cpPlugins_I_itk_array_Container( itk::Vector, float, 3 );
-cpPlugins_I_itk_array_Container( itk::Vector, double, 3 );
-cpPlugins_I_itk_array_Container( itk::Vector, float, 4 );
-cpPlugins_I_itk_array_Container( itk::Vector, double, 4 );
-cpPlugins_I_itk_array_Container( itk::Point, float, 1 );
-cpPlugins_I_itk_array_Container( itk::Point, double, 1 );
-cpPlugins_I_itk_array_Container( itk::Point, float, 2 );
-cpPlugins_I_itk_array_Container( itk::Point, double, 2 );
-cpPlugins_I_itk_array_Container( itk::Point, float, 3 );
-cpPlugins_I_itk_array_Container( itk::Point, double, 3 );
-cpPlugins_I_itk_array_Container( itk::Point, float, 4 );
-cpPlugins_I_itk_array_Container( itk::Point, double, 4 );
-cpPlugins_I_itk_array_Container( itk::CovariantVector, float, 1 );
-cpPlugins_I_itk_array_Container( itk::CovariantVector, double, 1 );
-cpPlugins_I_itk_array_Container( itk::CovariantVector, float, 2 );
-cpPlugins_I_itk_array_Container( itk::CovariantVector, double, 2 );
-cpPlugins_I_itk_array_Container( itk::CovariantVector, float, 3 );
-cpPlugins_I_itk_array_Container( itk::CovariantVector, double, 3 );
-cpPlugins_I_itk_array_Container( itk::CovariantVector, float, 4 );
-cpPlugins_I_itk_array_Container( itk::CovariantVector, double, 4 );
-cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, float, 1 );
-cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 1 );
-cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, float, 2 );
-cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 2 );
-cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, float, 3 );
-cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 3 );
-cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, float, 4 );
-cpPlugins_I_itk_array_Container( itk::SymmetricSecondRankTensor, double, 4 );
-cpPlugins_I_itk_Container( itk::DiffusionTensor3D< float > );
-cpPlugins_I_itk_Container( itk::DiffusionTensor3D< double > );
-
-cpPlugins_I_itk( char, 1 );
-cpPlugins_I_itk( short, 1 );
-cpPlugins_I_itk( int, 1 );
-cpPlugins_I_itk( long, 1 );
-cpPlugins_I_itk( unsigned char, 1 );
-cpPlugins_I_itk( unsigned short, 1 );
-cpPlugins_I_itk( unsigned int, 1 );
-cpPlugins_I_itk( unsigned long, 1 );
-cpPlugins_I_itk( float, 1 );
-cpPlugins_I_itk( double, 1 );
-
-cpPlugins_I_itk( char, 2 );
-cpPlugins_I_itk( short, 2 );
-cpPlugins_I_itk( int, 2 );
-cpPlugins_I_itk( long, 2 );
-cpPlugins_I_itk( unsigned char, 2 );
-cpPlugins_I_itk( unsigned short, 2 );
-cpPlugins_I_itk( unsigned int, 2 );
-cpPlugins_I_itk( unsigned long, 2 );
-cpPlugins_I_itk( float, 2 );
-cpPlugins_I_itk( double, 2 );
-
-cpPlugins_I_itk( char, 3 );
-cpPlugins_I_itk( short, 3 );
-cpPlugins_I_itk( int, 3 );
-cpPlugins_I_itk( long, 3 );
-cpPlugins_I_itk( unsigned char, 3 );
-cpPlugins_I_itk( unsigned short, 3 );
-cpPlugins_I_itk( unsigned int, 3 );
-cpPlugins_I_itk( unsigned long, 3 );
-cpPlugins_I_itk( float, 3 );
-cpPlugins_I_itk( double, 3 );
-
-cpPlugins_I_itk( char, 4 );
-cpPlugins_I_itk( short, 4 );
-cpPlugins_I_itk( int, 4 );
-cpPlugins_I_itk( long, 4 );
-cpPlugins_I_itk( unsigned char, 4 );
-cpPlugins_I_itk( unsigned short, 4 );
-cpPlugins_I_itk( unsigned int, 4 );
-cpPlugins_I_itk( unsigned long, 4 );
-cpPlugins_I_itk( float, 4 );
-cpPlugins_I_itk( double, 4 );
-
-cpPlugins_I_itk( std::complex< float >, 1 );
-cpPlugins_I_itk( std::complex< double >, 1 );
-
-cpPlugins_I_itk( std::complex< float >, 2 );
-cpPlugins_I_itk( std::complex< double >, 2 );
-
-cpPlugins_I_itk( std::complex< float >, 3 );
-cpPlugins_I_itk( std::complex< double >, 3 );
-
-cpPlugins_I_itk( std::complex< float >, 4 );
-cpPlugins_I_itk( std::complex< double >, 4 );
-
-cpPlugins_I_itk( itk::RGBPixel< char >, 2 );
-cpPlugins_I_itk( itk::RGBPixel< short >, 2 );
-cpPlugins_I_itk( itk::RGBPixel< unsigned char >, 2 );
-cpPlugins_I_itk( itk::RGBPixel< unsigned short >, 2 );
-
-cpPlugins_I_itk( itk::RGBPixel< char >, 3 );
-cpPlugins_I_itk( itk::RGBPixel< short >, 3 );
-cpPlugins_I_itk( itk::RGBPixel< unsigned char >, 3 );
-cpPlugins_I_itk( itk::RGBPixel< unsigned short >, 3 );
-
-cpPlugins_I_itk( itk::RGBPixel< char >, 4 );
-cpPlugins_I_itk( itk::RGBPixel< short >, 4 );
-cpPlugins_I_itk( itk::RGBPixel< unsigned char >, 4 );
-cpPlugins_I_itk( itk::RGBPixel< unsigned short >, 4 );
-
-cpPlugins_I_itk( itk::RGBAPixel< char >, 2 );
-cpPlugins_I_itk( itk::RGBAPixel< short >, 2 );
-cpPlugins_I_itk( itk::RGBAPixel< unsigned char >, 2 );
-cpPlugins_I_itk( itk::RGBAPixel< unsigned short >, 2 );
-
-cpPlugins_I_itk( itk::RGBAPixel< char >, 3 );
-cpPlugins_I_itk( itk::RGBAPixel< short >, 3 );
-cpPlugins_I_itk( itk::RGBAPixel< unsigned char >, 3 );
-cpPlugins_I_itk( itk::RGBAPixel< unsigned short >, 3 );
-
-cpPlugins_I_itk( itk::RGBAPixel< char >, 4 );
-cpPlugins_I_itk( itk::RGBAPixel< short >, 4 );
-cpPlugins_I_itk( itk::RGBAPixel< unsigned char >, 4 );
-cpPlugins_I_itk( itk::RGBAPixel< unsigned short >, 4 );
-
-cpPlugins_I_itk( itk::Offset< 1 >, 1 );
-cpPlugins_I_itk( itk::Offset< 2 >, 2 );
-cpPlugins_I_itk( itk::Offset< 3 >, 3 );
-cpPlugins_I_itk( itk::Offset< 4 >, 4 );
-
-cpPlugins_I_itk_array( itk::Vector, float, 1, 1 );
-cpPlugins_I_itk_array( itk::Vector, double, 1, 1 );
-cpPlugins_I_itk_array( itk::Vector, float, 2, 2 );
-cpPlugins_I_itk_array( itk::Vector, double, 2, 2 );
-cpPlugins_I_itk_array( itk::Vector, float, 3, 3 );
-cpPlugins_I_itk_array( itk::Vector, double, 3, 3 );
-cpPlugins_I_itk_array( itk::Vector, float, 4, 4 );
-cpPlugins_I_itk_array( itk::Vector, double, 4, 4 );
-
-cpPlugins_I_itk_array( itk::Point, float, 1, 1 );
-cpPlugins_I_itk_array( itk::Point, double, 1, 1 );
-cpPlugins_I_itk_array( itk::Point, float, 2, 2 );
-cpPlugins_I_itk_array( itk::Point, double, 2, 2 );
-cpPlugins_I_itk_array( itk::Point, float, 3, 3 );
-cpPlugins_I_itk_array( itk::Point, double, 3, 3 );
-cpPlugins_I_itk_array( itk::Point, float, 4, 4 );
-cpPlugins_I_itk_array( itk::Point, double, 4, 4 );
-
-cpPlugins_I_itk_array( itk::CovariantVector, float, 1, 1 );
-cpPlugins_I_itk_array( itk::CovariantVector, double, 1, 1 );
-cpPlugins_I_itk_array( itk::CovariantVector, float, 2, 2 );
-cpPlugins_I_itk_array( itk::CovariantVector, double, 2, 2 );
-cpPlugins_I_itk_array( itk::CovariantVector, float, 3, 3 );
-cpPlugins_I_itk_array( itk::CovariantVector, double, 3, 3 );
-cpPlugins_I_itk_array( itk::CovariantVector, float, 4, 4 );
-cpPlugins_I_itk_array( itk::CovariantVector, double, 4, 4 );
-
-cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 1, 1 );
-cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 1, 1 );
-cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 2, 2 );
-cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 2, 2 );
-cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 3, 3 );
-cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 3, 3 );
-cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, float, 4, 4 );
-cpPlugins_I_itk_array( itk::SymmetricSecondRankTensor, double, 4, 4 );
-
-cpPlugins_I_itk( itk::DiffusionTensor3D< float >, 3 );
-cpPlugins_I_itk( itk::DiffusionTensor3D< double >, 3 );
-
-/* TODO
- * itk::FixedArray
- * itk::Matrix
- */
+#define cpPlugins_VTKImage_AllDims_Export( T ) \
+ cpPlugins_VTKImage_Export( T, 2 ); \
+ cpPlugins_VTKImage_Export( T, 3 )
// -------------------------------------------------------------------------
-// Possible itk types that could be connected to vtk
-
-cpPlugins_I_itk_vtk( char, 1 );
-cpPlugins_I_itk_vtk( short, 1 );
-cpPlugins_I_itk_vtk( int, 1 );
-cpPlugins_I_itk_vtk( long, 1 );
-cpPlugins_I_itk_vtk( unsigned char, 1 );
-cpPlugins_I_itk_vtk( unsigned short, 1 );
-cpPlugins_I_itk_vtk( unsigned int, 1 );
-cpPlugins_I_itk_vtk( unsigned long, 1 );
-cpPlugins_I_itk_vtk( float, 1 );
-cpPlugins_I_itk_vtk( double, 1 );
-
-cpPlugins_I_itk_vtk( char, 2 );
-cpPlugins_I_itk_vtk( short, 2 );
-cpPlugins_I_itk_vtk( int, 2 );
-cpPlugins_I_itk_vtk( long, 2 );
-cpPlugins_I_itk_vtk( unsigned char, 2 );
-cpPlugins_I_itk_vtk( unsigned short, 2 );
-cpPlugins_I_itk_vtk( unsigned int, 2 );
-cpPlugins_I_itk_vtk( unsigned long, 2 );
-cpPlugins_I_itk_vtk( float, 2 );
-cpPlugins_I_itk_vtk( double, 2 );
-
-cpPlugins_I_itk_vtk( char, 3 );
-cpPlugins_I_itk_vtk( short, 3 );
-cpPlugins_I_itk_vtk( int, 3 );
-cpPlugins_I_itk_vtk( long, 3 );
-cpPlugins_I_itk_vtk( unsigned char, 3 );
-cpPlugins_I_itk_vtk( unsigned short, 3 );
-cpPlugins_I_itk_vtk( unsigned int, 3 );
-cpPlugins_I_itk_vtk( unsigned long, 3 );
-cpPlugins_I_itk_vtk( float, 3 );
-cpPlugins_I_itk_vtk( double, 3 );
-
-cpPlugins_I_itk_vtk( itk::RGBPixel< char >, 2 );
-cpPlugins_I_itk_vtk( itk::RGBPixel< short >, 2 );
-cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned char >, 2 );
-cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned short >, 2 );
-
-cpPlugins_I_itk_vtk( itk::RGBPixel< char >, 3 );
-cpPlugins_I_itk_vtk( itk::RGBPixel< short >, 3 );
-cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned char >, 3 );
-cpPlugins_I_itk_vtk( itk::RGBPixel< unsigned short >, 3 );
+#define cpPlugins_VTKArrayImage_AllDims_Export( A, T ) \
+ cpPlugins_VTKArrayImage_Export( A, T, 2, 2 ); \
+ cpPlugins_VTKArrayImage_Export( A, T, 3, 3 )
-cpPlugins_I_itk_vtk( itk::RGBAPixel< char >, 2 );
-cpPlugins_I_itk_vtk( itk::RGBAPixel< short >, 2 );
-cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned char >, 2 );
-cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned short >, 2 );
-
-cpPlugins_I_itk_vtk( itk::RGBAPixel< char >, 3 );
-cpPlugins_I_itk_vtk( itk::RGBAPixel< short >, 3 );
-cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned char >, 3 );
-cpPlugins_I_itk_vtk( itk::RGBAPixel< unsigned short >, 3 );
-
-cpPlugins_I_itk_vtk_array( itk::Vector, float, 1, 1 );
-cpPlugins_I_itk_vtk_array( itk::Vector, double, 1, 1 );
-cpPlugins_I_itk_vtk_array( itk::Vector, float, 2, 2 );
-cpPlugins_I_itk_vtk_array( itk::Vector, double, 2, 2 );
-cpPlugins_I_itk_vtk_array( itk::Vector, float, 3, 3 );
-cpPlugins_I_itk_vtk_array( itk::Vector, double, 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
+// -------------------------------------------------------------------------
-cpPlugins_I_itk_vtk_array( itk::Point, float, 1, 1 );
-cpPlugins_I_itk_vtk_array( itk::Point, double, 1, 1 );
-cpPlugins_I_itk_vtk_array( itk::Point, float, 2, 2 );
-cpPlugins_I_itk_vtk_array( itk::Point, double, 2, 2 );
-cpPlugins_I_itk_vtk_array( itk::Point, float, 3, 3 );
-cpPlugins_I_itk_vtk_array( itk::Point, double, 3, 3 );
+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 );
-cpPlugins_I_itk_vtk_array( itk::CovariantVector, float, 1, 1 );
-cpPlugins_I_itk_vtk_array( itk::CovariantVector, double, 1, 1 );
-cpPlugins_I_itk_vtk_array( itk::CovariantVector, float, 2, 2 );
-cpPlugins_I_itk_vtk_array( itk::CovariantVector, double, 2, 2 );
-cpPlugins_I_itk_vtk_array( itk::CovariantVector, float, 3, 3 );
-cpPlugins_I_itk_vtk_array( itk::CovariantVector, double, 3, 3 );
+// -------------------------------------------------------------------------
+// ITK-only base clases
+// -------------------------------------------------------------------------
-cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, float, 1, 1 );
-cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, double, 1, 1 );
-cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, float, 2, 2 );
-cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, double, 2, 2 );
-cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, float, 3, 3 );
-cpPlugins_I_itk_vtk_array( itk::SymmetricSecondRankTensor, double, 3, 3 );
+cpPlugins_ITKImage_AllDims_Export( std::complex< float > );
+cpPlugins_ITKImage_AllDims_Export( std::complex< double > );
-cpPlugins_I_itk_vtk( itk::DiffusionTensor3D< float >, 3 );
-cpPlugins_I_itk_vtk( itk::DiffusionTensor3D< double >, 3 );
+cpPlugins_ITKImage_Export( itk::Offset< 2 >, 2 );
+cpPlugins_ITKImage_Export( itk::Offset< 3 >, 3 );
+cpPlugins_ITKImage_Export( itk::Offset< 4 >, 4 );
// eof - $RCSfile$