X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FImage.hxx;h=3160fea305f850e73ca3fdd897da294052390254;hb=a89305e04527ebe2e81d0d1a62bbe34e0d35a141;hp=1bb8b77be545eb3c5af9add91d94aab9cb6db618;hpb=7e29f3aec097ba1bff1894fed6eb1094276c5b72;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/Image.hxx b/lib/cpPlugins/Interface/Image.hxx index 1bb8b77..3160fea 100644 --- a/lib/cpPlugins/Interface/Image.hxx +++ b/lib/cpPlugins/Interface/Image.hxx @@ -17,79 +17,71 @@ // ------------------------------------------------------------------------- template< unsigned int D > -void cpPlugins::Interface::Image:: +bool cpPlugins::Interface::Image:: _ITK_2_VTK_0( itk::LightObject* o ) { + bool s = false; if( dynamic_cast< itk::ImageBase< D >* >( o ) != NULL ) { - this->_ITK_2_VTK_1< char, D >( o ); - this->_ITK_2_VTK_1< short, D >( o ); - this->_ITK_2_VTK_1< int, D >( o ); - this->_ITK_2_VTK_1< long, D >( o ); - this->_ITK_2_VTK_1< unsigned char, D >( o ); - this->_ITK_2_VTK_1< unsigned short, D >( o ); - this->_ITK_2_VTK_1< unsigned int, D >( o ); - this->_ITK_2_VTK_1< unsigned long, D >( o ); - this->_ITK_2_VTK_1< float, D >( o ); - this->_ITK_2_VTK_1< double, D >( o ); - this->_ITK_2_VTK_1< itk::RGBPixel< char >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBPixel< short >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBPixel< int >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBPixel< long >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBPixel< unsigned char >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBPixel< unsigned short >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBPixel< unsigned int >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBPixel< unsigned long >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBPixel< float >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBPixel< double >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBAPixel< char >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBAPixel< short >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBAPixel< int >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBAPixel< long >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBAPixel< unsigned char >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBAPixel< unsigned short >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBAPixel< unsigned int >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBAPixel< unsigned long >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBAPixel< float >, D >( o ); - this->_ITK_2_VTK_1< itk::RGBAPixel< double >, D >( o ); - this->_ITK_2_VTK_1< itk::DiffusionTensor3D< float >, D >( o ); - this->_ITK_2_VTK_1< itk::DiffusionTensor3D< double >, D >( o ); - this->_ITK_2_VTK_1< itk::Vector< float, D >, D >( o ); - this->_ITK_2_VTK_1< itk::Vector< double, D >, D >( o ); - this->_ITK_2_VTK_1< itk::CovariantVector< float, D >, D >( o ); - this->_ITK_2_VTK_1< itk::CovariantVector< double, D >, D >( o ); - this->_ITK_2_VTK_1< itk::Point< float, D >, D >( o ); - this->_ITK_2_VTK_1< itk::Point< double, D >, D >( o ); - this->_ITK_2_VTK_1< itk::SymmetricSecondRankTensor< float, D >, D >( o ); - this->_ITK_2_VTK_1< itk::SymmetricSecondRankTensor< double, D >, D >( o ); - } - else - { - this->m_VTKObject = NULL; - this->m_ITKvVTK = NULL; - this->Modified( ); + s |= this->_ITK_2_VTK_1< char, D >( o ); + s |= this->_ITK_2_VTK_1< short, D >( o ); + s |= this->_ITK_2_VTK_1< int, D >( o ); + s |= this->_ITK_2_VTK_1< long, D >( o ); + s |= this->_ITK_2_VTK_1< unsigned char, D >( o ); + s |= this->_ITK_2_VTK_1< unsigned short, D >( o ); + s |= this->_ITK_2_VTK_1< unsigned int, D >( o ); + s |= this->_ITK_2_VTK_1< unsigned long, D >( o ); + s |= this->_ITK_2_VTK_1< float, D >( o ); + s |= this->_ITK_2_VTK_1< double, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBPixel< char >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBPixel< short >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBPixel< int >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBPixel< long >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBPixel< unsigned char >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBPixel< unsigned short >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBPixel< unsigned int >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBPixel< unsigned long >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBPixel< float >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBPixel< double >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBAPixel< char >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBAPixel< short >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBAPixel< int >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBAPixel< long >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBAPixel< unsigned char >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBAPixel< unsigned short >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBAPixel< unsigned int >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBAPixel< unsigned long >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBAPixel< float >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::RGBAPixel< double >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::DiffusionTensor3D< float >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::DiffusionTensor3D< double >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::Vector< float, D >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::Vector< double, D >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::CovariantVector< float, D >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::CovariantVector< double, D >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::Point< float, D >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::Point< double, D >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::SymmetricSecondRankTensor< float, D >, D >( o ); + s |= this->_ITK_2_VTK_1< itk::SymmetricSecondRankTensor< double, D >, D >( o ); } // fi + return( s ); } // ------------------------------------------------------------------------- template< class P, unsigned int D > -void cpPlugins::Interface::Image:: +bool cpPlugins::Interface::Image:: _ITK_2_VTK_1( itk::LightObject* o ) { - if( dynamic_cast< itk::Image< P, D >* >( o ) == NULL ) - { - this->m_VTKObject = NULL; - this->m_ITKvVTK = NULL; - this->Modified( ); - } + if( dynamic_cast< itk::Image< P, D >* >( o ) != NULL ) + return( this->_ITK_2_VTK_2< itk::Image< P, D > >( o ) ); else - this->_ITK_2_VTK_2< itk::Image< P, D > >( o ); + return( false ); } // ------------------------------------------------------------------------- template< class I > -void cpPlugins::Interface::Image:: +bool cpPlugins::Interface::Image:: _ITK_2_VTK_2( itk::LightObject* o ) { typedef itk::ImageToVTKImageFilter< I > _I2V; @@ -111,14 +103,10 @@ _ITK_2_VTK_2( itk::LightObject* o ) // Keep object track this->m_ITKObject = o; this->m_VTKObject = f->GetOutput( ); + return( true ); } else - { - this->m_VTKObject = NULL; - this->m_ITKvVTK = NULL; - - } // fi - this->Modified( ); + return( false ); } #ifndef cpPlugins_Interface_EXPORTS