X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FInstances_itkImage.cxx;h=8fadae00bd0e3ff5c5d78e618ff933da14e09430;hb=62d056ccb528d63392d197552830460e980a5aba;hp=f33d8d426262fba876949381152d80ae91db0736;hpb=9015cf98c60cf4ab304a639990004ee783a8bec0;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/Instances_itkImage.cxx b/lib/cpPlugins/Interface/Instances_itkImage.cxx index f33d8d4..8fadae0 100644 --- a/lib/cpPlugins/Interface/Instances_itkImage.cxx +++ b/lib/cpPlugins/Interface/Instances_itkImage.cxx @@ -1,124 +1,183 @@ -#undef ITK_MANUAL_INSTANTIATION +#include + +#include + #include +#include + #include +#include +#include #include #include -#include #include -#include -#include +#include + +// ------------------------------------------------------------------------- +#define cpPlugins_Image_Export( T, D ) \ + cpPlugins_TEMPLATE_EXPORT( \ + 2(class cpPlugins_Interface_EXPORT itk::Image< T, D >) \ + ) // ------------------------------------------------------------------------- -#define cpPlugins_Instance_itkImage_Pixel( p, d ) \ - template class itk::Image< 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_Instance_itkImage_RGB( p, d ) \ - cpPlugins_Instance_itkImage_Pixel( itk::RGBPixel< p >, d ) +#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_Instance_itkImage_RGBA( p, d ) \ - cpPlugins_Instance_itkImage_Pixel( itk::RGBAPixel< p >, d ) +#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_Instance_itkImage_Vector( p, d ) \ - template class itk::Image< itk::Vector< p, d >, d >; \ - template class \ - itk::ImageToVTKImageFilter< itk::Image< itk::Vector< p, d >, d > > +#define cpPlugins_Image_Export_AllDimensions( T ) \ + cpPlugins_Image_Export( T, 2 ); \ + cpPlugins_Image_Export( T, 3 ); \ + cpPlugins_Image_Export( T, 4 ) // ------------------------------------------------------------------------- -#define cpPlugins_Instance_itkImage_CovVector( p, d ) \ - template class itk::Image< itk::CovariantVector< p, d >, d >; \ - template class \ - itk::ImageToVTKImageFilter< itk::Image< itk::CovariantVector< p, d >, d > > +#define cpPlugins_VTKImage_Export_AllDimensions( T ) \ + cpPlugins_VTKImage_Export( T, 2 ); \ + cpPlugins_VTKImage_Export( T, 3 ) // ------------------------------------------------------------------------- -#define cpPlugins_Instance_itkImage_SymTensor( p, d ) \ - template class itk::Image< itk::SymmetricSecondRankTensor< p, d >, d >; \ - template class \ - itk::ImageToVTKImageFilter< itk::Image< itk::SymmetricSecondRankTensor< p, d >, d > > +#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_Instance_itkImage_DiffTensor( p, d ) \ - cpPlugins_Instance_itkImage_Pixel( itk::DiffusionTensor3D< p >, d ) +#define cpPlugins_VTKImageArray_Export_AllDimensions( A, T ) \ + cpPlugins_VTKImageArray_Export( A, T, 2, 2 ); \ + cpPlugins_VTKImageArray_Export( A, T, 3, 3 ) // ------------------------------------------------------------------------- -#define cpPlugins_Instance_itkImage_DIM( d ) \ - cpPlugins_Instance_itkImage_Pixel( char, d ); \ - cpPlugins_Instance_itkImage_Pixel( short, d ); \ - cpPlugins_Instance_itkImage_Pixel( int, d ); \ - cpPlugins_Instance_itkImage_Pixel( long, d ); \ - cpPlugins_Instance_itkImage_Pixel( float, d ); \ - cpPlugins_Instance_itkImage_Pixel( double, d ); \ - cpPlugins_Instance_itkImage_Pixel( unsigned char, d ); \ - cpPlugins_Instance_itkImage_Pixel( unsigned short, d ); \ - cpPlugins_Instance_itkImage_Pixel( unsigned int, d ); \ - cpPlugins_Instance_itkImage_Pixel( unsigned long, d ); \ - cpPlugins_Instance_itkImage_RGB( char, d ); \ - cpPlugins_Instance_itkImage_RGB( short, d ); \ - cpPlugins_Instance_itkImage_RGB( int, d ); \ - cpPlugins_Instance_itkImage_RGB( long, d ); \ - cpPlugins_Instance_itkImage_RGB( float, d ); \ - cpPlugins_Instance_itkImage_RGB( double, d ); \ - cpPlugins_Instance_itkImage_RGB( unsigned char, d ); \ - cpPlugins_Instance_itkImage_RGB( unsigned short, d ); \ - cpPlugins_Instance_itkImage_RGB( unsigned int, d ); \ - cpPlugins_Instance_itkImage_RGB( unsigned long, d ); \ - cpPlugins_Instance_itkImage_RGBA( char, d ); \ - cpPlugins_Instance_itkImage_RGBA( short, d ); \ - cpPlugins_Instance_itkImage_RGBA( int, d ); \ - cpPlugins_Instance_itkImage_RGBA( long, d ); \ - cpPlugins_Instance_itkImage_RGBA( float, d ); \ - cpPlugins_Instance_itkImage_RGBA( double, d ); \ - cpPlugins_Instance_itkImage_RGBA( unsigned char, d ); \ - cpPlugins_Instance_itkImage_RGBA( unsigned short, d ); \ - cpPlugins_Instance_itkImage_RGBA( unsigned int, d ); \ - cpPlugins_Instance_itkImage_RGBA( unsigned long, d ); \ - cpPlugins_Instance_itkImage_Vector( char, d ); \ - cpPlugins_Instance_itkImage_Vector( short, d ); \ - cpPlugins_Instance_itkImage_Vector( int, d ); \ - cpPlugins_Instance_itkImage_Vector( long, d ); \ - cpPlugins_Instance_itkImage_Vector( float, d ); \ - cpPlugins_Instance_itkImage_Vector( double, d ); \ - cpPlugins_Instance_itkImage_Vector( unsigned char, d ); \ - cpPlugins_Instance_itkImage_Vector( unsigned short, d ); \ - cpPlugins_Instance_itkImage_Vector( unsigned int, d ); \ - cpPlugins_Instance_itkImage_Vector( unsigned long, d ); \ - cpPlugins_Instance_itkImage_CovVector( char, d ); \ - cpPlugins_Instance_itkImage_CovVector( short, d ); \ - cpPlugins_Instance_itkImage_CovVector( int, d ); \ - cpPlugins_Instance_itkImage_CovVector( long, d ); \ - cpPlugins_Instance_itkImage_CovVector( float, d ); \ - cpPlugins_Instance_itkImage_CovVector( double, d ); \ - cpPlugins_Instance_itkImage_CovVector( unsigned char, d ); \ - cpPlugins_Instance_itkImage_CovVector( unsigned short, d ); \ - cpPlugins_Instance_itkImage_CovVector( unsigned int, d ); \ - cpPlugins_Instance_itkImage_CovVector( unsigned long, d ); \ - cpPlugins_Instance_itkImage_SymTensor( char, d ); \ - cpPlugins_Instance_itkImage_SymTensor( short, d ); \ - cpPlugins_Instance_itkImage_SymTensor( int, d ); \ - cpPlugins_Instance_itkImage_SymTensor( long, d ); \ - cpPlugins_Instance_itkImage_SymTensor( float, d ); \ - cpPlugins_Instance_itkImage_SymTensor( double, d ); \ - cpPlugins_Instance_itkImage_SymTensor( unsigned char, d ); \ - cpPlugins_Instance_itkImage_SymTensor( unsigned short, d ); \ - cpPlugins_Instance_itkImage_SymTensor( unsigned int, d ); \ - cpPlugins_Instance_itkImage_SymTensor( unsigned long, d ); \ - cpPlugins_Instance_itkImage_DiffTensor( char, d ); \ - cpPlugins_Instance_itkImage_DiffTensor( short, d ); \ - cpPlugins_Instance_itkImage_DiffTensor( int, d ); \ - cpPlugins_Instance_itkImage_DiffTensor( long, d ); \ - cpPlugins_Instance_itkImage_DiffTensor( float, d ); \ - cpPlugins_Instance_itkImage_DiffTensor( double, d ); \ - cpPlugins_Instance_itkImage_DiffTensor( unsigned char, d ); \ - cpPlugins_Instance_itkImage_DiffTensor( unsigned short, d ); \ - cpPlugins_Instance_itkImage_DiffTensor( unsigned int, d ); \ - cpPlugins_Instance_itkImage_DiffTensor( unsigned long, d ); +// 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::RGBPixel< float > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBPixel< double > ); + +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_Image_Export_AllDimensions( itk::RGBAPixel< float > ); +cpPlugins_Image_Export_AllDimensions( itk::RGBAPixel< double > ); + +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::DiffusionTensor3D< float >, 4 ); +cpPlugins_Image_Export( itk::DiffusionTensor3D< double >, 4 ); +cpPlugins_Image_Export( itk::Offset< 2 >, 2 ); +cpPlugins_Image_Export( itk::Offset< 3 >, 3 ); +cpPlugins_Image_Export( itk::Offset< 4 >, 4 ); // ------------------------------------------------------------------------- -cpPlugins_Instance_itkImage_DIM( 1 ); -cpPlugins_Instance_itkImage_DIM( 2 ); -cpPlugins_Instance_itkImage_DIM( 3 ); +// 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 ); // eof - $RCSfile$