]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/BaseProcessObjects.h
...
[cpPlugins.git] / lib / cpPlugins / Interface / BaseProcessObjects.h
index 687a00fa6a80a399209699390277c09315a0b404..688a9555f6847b065277ff72d84a0e77d4c73832 100644 (file)
   }                                                     \
   cpPlugins::Interface::O::~O( ) { }
 
+// -------------------------------------------------------------------------
+#define cpPlugins_Image_Input_Demangle( T, D, I, O, r, f )      \
+  if( ( O = I->GetITKImage< itk::Image< T, D > >( ) ) != NULL ) \
+    r = this->f< itk::Image< T, D > >( O )
+
+// -------------------------------------------------------------------------
+#define cpPlugins_ImageArray_Input_Demangle( A, T, DP, DI, I, O, r, f ) \
+  if(                                                                   \
+    ( O = I->GetITKImage< itk::Image< A< T, DP >, DI > >( ) ) != NULL   \
+    )                                                                   \
+    r = this->f< itk::Image< A< T, DP >, DI > >( O )
+
+// -------------------------------------------------------------------------
+#define cpPlugins_Image_Input_Demangle_Dimension_AllScalarTypes( D, I, O, r, f ) \
+  cpPlugins_Image_Input_Demangle( char, D, I, O, r, f );                \
+  else cpPlugins_Image_Input_Demangle( short, D, I, O, r, f );          \
+  else cpPlugins_Image_Input_Demangle( int, D, I, O, r, f );            \
+  else cpPlugins_Image_Input_Demangle( long, D, I, O, r, f );           \
+  else cpPlugins_Image_Input_Demangle( float, D, I, O, r, f );          \
+  else cpPlugins_Image_Input_Demangle( double, D, I, O, r, f );         \
+  else cpPlugins_Image_Input_Demangle( unsigned char, D, I, O, r, f );  \
+  else cpPlugins_Image_Input_Demangle( unsigned short, D, I, O, r, f ); \
+  else cpPlugins_Image_Input_Demangle( unsigned int, D, I, O, r, f );   \
+  else cpPlugins_Image_Input_Demangle( unsigned long, D, I, O, r, f )
+
+// -------------------------------------------------------------------------
+#define cpPlugins_Image_Input_Demangle_Dimension_AllTypes( D, I, O, r, f ) \
+  cpPlugins_Image_Input_Demangle( char, D, I, O, r, f );                \
+  else cpPlugins_Image_Input_Demangle( short, D, I, O, r, f );          \
+  else cpPlugins_Image_Input_Demangle( int, D, I, O, r, f );            \
+  else cpPlugins_Image_Input_Demangle( long, D, I, O, r, f );           \
+  else cpPlugins_Image_Input_Demangle( float, D, I, O, r, f );          \
+  else cpPlugins_Image_Input_Demangle( double, D, I, O, r, f );         \
+  else cpPlugins_Image_Input_Demangle( unsigned char, D, I, O, r, f );  \
+  else cpPlugins_Image_Input_Demangle( unsigned short, D, I, O, r, f ); \
+  else cpPlugins_Image_Input_Demangle( unsigned int, D, I, O, r, f );   \
+  else cpPlugins_Image_Input_Demangle( unsigned long, D, I, O, r, f );  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    std::complex< float >, D, I, O, r, f                                \
+    );                                                                  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    std::complex< double >, D, I, O, r, f                               \
+    );                                                                  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    itk::RGBPixel< char >, D, I, O, r, f                                \
+    );                                                                  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    itk::RGBPixel< short >, D, I, O, r, f                               \
+    );                                                                  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    itk::RGBPixel< unsigned char >, D, I, O, r, f                       \
+    );                                                                  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    itk::RGBPixel< unsigned short >, D, I, O, r, f                      \
+    );                                                                  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    itk::RGBAPixel< char >, D, I, O, r, f                               \
+    );                                                                  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    itk::RGBAPixel< short >, D, I, O, r, f                              \
+    );                                                                  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    itk::RGBAPixel< unsigned char >, D, I, O, r, f                      \
+    );                                                                  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    itk::RGBAPixel< unsigned short >, D, I, O, r, f                     \
+    );                                                                  \
+  else cpPlugins_Image_Input_Demangle(                                  \
+    itk::Offset< D >, D, I, O, r, f                                     \
+    );                                                                  \
+  else cpPlugins_ImageArray_Input_Demangle(                             \
+    itk::Vector, float, D, D, I, O, r, f                                \
+    );                                                                  \
+  else cpPlugins_ImageArray_Input_Demangle(                             \
+    itk::Vector, double, D, D, I, O, r, f                               \
+    );                                                                  \
+  else cpPlugins_ImageArray_Input_Demangle(                             \
+    itk::Point, float, D, D, I, O, r, f                                 \
+    );                                                                  \
+  else cpPlugins_ImageArray_Input_Demangle(                             \
+    itk::Point, double, D, D, I, O, r, f                                \
+    );                                                                  \
+  else cpPlugins_ImageArray_Input_Demangle(                             \
+    itk::CovariantVector, float, D, D, I, O, r, f                       \
+    );                                                                  \
+  else cpPlugins_ImageArray_Input_Demangle(                             \
+    itk::CovariantVector, double, D, D, I, O, r, f                      \
+    );                                                                  \
+  else cpPlugins_ImageArray_Input_Demangle(                             \
+    itk::SymmetricSecondRankTensor, float, D, D, I, O, r, f             \
+    );                                                                  \
+  else cpPlugins_ImageArray_Input_Demangle(                             \
+    itk::SymmetricSecondRankTensor, double, D, D, I, O, r, f            \
+    )
+
 namespace cpPlugins
 {
   namespace Interface
@@ -44,10 +139,10 @@ namespace cpPlugins
     cpPlugins_Interface_Define_ProcessObject( MeshSource, SourceObject );
     cpPlugins_Interface_Define_ProcessObject( ImageSink, SinkObject );
     cpPlugins_Interface_Define_ProcessObject( MeshSink, SinkObject );
-    cpPlugins_Interface_Define_ProcessObject( ImageToImageFitler, FilterObject );
-    cpPlugins_Interface_Define_ProcessObject( ImageToMeshFitler, FilterObject );
-    cpPlugins_Interface_Define_ProcessObject( MeshToImageFitler, FilterObject );
-    cpPlugins_Interface_Define_ProcessObject( MeshToMeshFitler, FilterObject );
+    cpPlugins_Interface_Define_ProcessObject( ImageToImageFilter, FilterObject );
+    cpPlugins_Interface_Define_ProcessObject( ImageToMeshFilter, FilterObject );
+    cpPlugins_Interface_Define_ProcessObject( MeshToImageFilter, FilterObject );
+    cpPlugins_Interface_Define_ProcessObject( MeshToMeshFilter, FilterObject );
 
   } // ecapseman