]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Plugins/IO/ImageWriter.cxx
Parameters are now part of the pipeline update process
[cpPlugins.git] / lib / cpPlugins / Plugins / IO / ImageWriter.cxx
index 7dd131305cc7b202817d7334d5bdcc02d8ac1320..2b4d89781faba34413c942dbdbeaaaafea5930d1 100644 (file)
@@ -22,6 +22,39 @@ cpPlugins::IO::ImageWriter::
 // -------------------------------------------------------------------------
 std::string cpPlugins::IO::ImageWriter::
 _GenerateData( )
+{
+  // Thank you very much Microsoft !!! :-@
+  std::string   r = this->_GD0_Image< 2 >( );
+  if( r != "" ) r = this->_GD0_Image< 3 >( );
+  if( r != "" ) r = this->_GD0_Image< 4 >( );
+  if( r != "" ) r = this->_GD0_VectorImage< 2 >( );
+  if( r != "" ) r = this->_GD0_VectorImage< 3 >( );
+  if( r != "" ) r = this->_GD0_VectorImage< 4 >( );
+  return( r );
+}
+
+// -------------------------------------------------------------------------
+template< unsigned int D >
+std::string cpPlugins::IO::ImageWriter::
+_GD0_Image( )
+{
+  cpPlugins::Interface::Image* image =
+    this->GetInput< cpPlugins::Interface::Image >( 0 );
+  if( image == NULL )
+    return( "ImageWriter: No input image." );
+
+  itk::DataObject* itk_image = NULL;
+  std::string r = "";
+  cpPlugins_Image_Demangle_AllTypes( D, image, itk_image, r, _RealGD );
+  else r = "ImageWriter: Input image type not supported.";
+
+  return( r );
+}
+
+// -------------------------------------------------------------------------
+template< unsigned int D >
+std::string cpPlugins::IO::ImageWriter::
+_GD0_VectorImage( )
 {
   cpPlugins::Interface::Image* image =
     this->GetInput< cpPlugins::Interface::Image >( 0 );
@@ -30,12 +63,7 @@ _GenerateData( )
 
   itk::DataObject* itk_image = NULL;
   std::string r = "";
-  cpPlugins_Image_Demangle_AllTypes( 2, image, itk_image, r, _RealGD );
-  else cpPlugins_Image_Demangle_AllTypes( 3, image, itk_image, r, _RealGD );
-  else cpPlugins_Image_Demangle_AllTypes( 4, image, itk_image, r, _RealGD );
-  else cpPlugins_VectorImage_Demangle_AllTypes( 2, image, itk_image, r, _RealGD );
-  else cpPlugins_VectorImage_Demangle_AllTypes( 3, image, itk_image, r, _RealGD );
-  else cpPlugins_VectorImage_Demangle_AllTypes( 4, image, itk_image, r, _RealGD );
+  cpPlugins_VectorImage_Demangle_AllTypes( D, image, itk_image, r, _RealGD );
   else r = "ImageWriter: Input image type not supported.";
 
   return( r );