+/* TODO
+ #include <complex>
+ #include <vtkImageData.h>
+
+ #define ITK_MANUAL_INSTANTIATION
+ #include <itkImage.h>
+ #include <itkImageToVTKImageFilter.h>
+
+ #include <itkCovariantVector.h>
+ #include <itkDiffusionTensor3D.h>
+ #include <itkPoint.h>
+ #include <itkRGBPixel.h>
+ #include <itkRGBAPixel.h>
+ #include <itkSymmetricSecondRankTensor.h>
+ #include <itkVector.h>
+*/
+
+// -------------------------------------------------------------------------
+/* TODO
+ void cpPlugins::Interface::Image::
+ SetITKDataObject( itk::DataObject* o )
+ {
+ bool r;
+ if( dynamic_cast< itk::ImageBase< 1 >* >( o ) != NULL )
+ {
+ cpPlugins_Image_Array_Demangle(
+ itk::Vector, float, 1, 1, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Vector, double, 1, 1, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Point, float, 1, 1, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Point, double, 1, 1, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::CovariantVector, float, 1, 1, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::CovariantVector, double, 1, 1, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::SymmetricSecondRankTensor, float, 1, 1, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::SymmetricSecondRankTensor, double, 1, 1, o, _Type, r
+ );
+ else r = this->_Dim< 1 >( o );
+ }
+ else if( dynamic_cast< itk::ImageBase< 2 >* >( o ) != NULL )
+ {
+ cpPlugins_Image_Demangle(
+ itk::RGBPixel< char >, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBPixel< short >, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBPixel< unsigned char >, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBPixel< unsigned short >, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBAPixel< char >, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBAPixel< short >, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBAPixel< unsigned char >, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBAPixel< unsigned short >, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Vector, float, 2, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Vector, double, 2, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Point, float, 2, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Point, double, 2, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::CovariantVector, float, 2, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::CovariantVector, double, 2, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::SymmetricSecondRankTensor, float, 2, 2, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::SymmetricSecondRankTensor, double, 2, 2, o, _Type, r
+ );
+ else r = this->_Dim< 2 >( o );
+ }
+ else if( dynamic_cast< itk::ImageBase< 3 >* >( o ) != NULL )
+ {
+ cpPlugins_Image_Demangle(
+ itk::RGBPixel< char >, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBPixel< short >, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBPixel< unsigned char >, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBPixel< unsigned short >, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBAPixel< char >, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBAPixel< short >, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBAPixel< unsigned char >, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::RGBAPixel< unsigned short >, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Vector, float, 3, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Vector, double, 3, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Point, float, 3, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::Point, double, 3, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::CovariantVector, float, 3, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::CovariantVector, double, 3, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::SymmetricSecondRankTensor, float, 3, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Array_Demangle(
+ itk::SymmetricSecondRankTensor, double, 3, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::DiffusionTensor3D< float >, 3, o, _Type, r
+ );
+ else cpPlugins_Image_Demangle(
+ itk::DiffusionTensor3D< double >, 3, o, _Type, r
+ );
+ else r = this->_Dim< 3 >( o );
+ }
+ else if( dynamic_cast< itk::ImageBase< 4 >* >( o ) != NULL )
+ {
+ this->m_ITKObject = o;
+ this->m_VTKObject = NULL;
+ this->m_ITKvVTKConnection = NULL;
+
+ } // fi
+ }
+*/
+
+// -------------------------------------------------------------------------
+void cpPlugins::Interface::Image::
+SetVTKImageData( vtkImageData* image )
+{
+ // this->m_VTKObject = image;
+ std::cerr << "Image: TODO this!!!!" << std::endl;
+ std::exit( 1 );
+}
+
+// -------------------------------------------------------------------------
+vtkImageData* cpPlugins::Interface::Image::
+GetVTKImageData( )
+{
+ return(
+ dynamic_cast< vtkImageData* >( this->m_VTKObject.GetPointer( ) )
+ );
+}
+
+// -------------------------------------------------------------------------
+const vtkImageData* cpPlugins::Interface::Image::
+GetVTKImageData( ) const
+{
+ return(
+ dynamic_cast< const vtkImageData* >( this->m_VTKObject.GetPointer( ) )
+ );
+}
+