#ifndef __CPPLUGINS__INTERFACE__BASEPROCESSOBJECTS__H__ #define __CPPLUGINS__INTERFACE__BASEPROCESSOBJECTS__H__ #include #include // ------------------------------------------------------------------------- #define cpPlugins_Interface_Define_ProcessObject( O, S ) \ class cpPlugins_Interface_EXPORT O \ : public S \ { \ public: \ typedef O Self; \ typedef S Superclass; \ typedef itk::SmartPointer< Self > Pointer; \ typedef itk::SmartPointer< const Self > ConstPointer; \ public: \ itkTypeMacro( O, S ); \ protected: \ O( ); \ virtual ~O( ); \ private: \ O( const Self& ); \ Self& operator=( const Self& ); \ } // ------------------------------------------------------------------------- #define cpPlugins_Interface_Code_ProcessObject( O ) \ cpPlugins::Interface::O::O( ) : Superclass( ) \ { \ this->m_ClassName = "cpPlugins::Interface::#O"; \ this->m_ClassCategory = "#O"; \ } \ 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< int >, D, I, O, r, f \ ); \ else cpPlugins_Image_Input_Demangle( \ itk::RGBPixel< long >, 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::RGBPixel< unsigned int >, D, I, O, r, f \ ); \ else cpPlugins_Image_Input_Demangle( \ itk::RGBPixel< unsigned long >, D, I, O, r, f \ ); \ else cpPlugins_Image_Input_Demangle( \ itk::RGBPixel< float >, D, I, O, r, f \ ); \ else cpPlugins_Image_Input_Demangle( \ itk::RGBPixel< double >, 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< int >, D, I, O, r, f \ ); \ else cpPlugins_Image_Input_Demangle( \ itk::RGBAPixel< long >, 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::RGBAPixel< unsigned int >, D, I, O, r, f \ ); \ else cpPlugins_Image_Input_Demangle( \ itk::RGBAPixel< unsigned long >, D, I, O, r, f \ ); \ else cpPlugins_Image_Input_Demangle( \ itk::RGBAPixel< float >, D, I, O, r, f \ ); \ else cpPlugins_Image_Input_Demangle( \ itk::RGBAPixel< double >, 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 { cpPlugins_Interface_Define_ProcessObject( SourceObject, ProcessObject ); cpPlugins_Interface_Define_ProcessObject( SinkObject, ProcessObject ); cpPlugins_Interface_Define_ProcessObject( FilterObject, ProcessObject ); cpPlugins_Interface_Define_ProcessObject( ImageSource, SourceObject ); cpPlugins_Interface_Define_ProcessObject( MeshSource, SourceObject ); cpPlugins_Interface_Define_ProcessObject( ImageSink, SinkObject ); cpPlugins_Interface_Define_ProcessObject( MeshSink, SinkObject ); 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 } // ecapseman #endif // __CPPLUGINS__INTERFACE__BASEPROCESSOBJECTS__H__ // eof - $RCSfile$