// ========================================================================= // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= #ifndef __fpa__Config__h__ #define __fpa__Config__h__ #include // ------------------------------------------------------------------------- #define fpaTraitsMacro( __t__ ) \ typedef __t__::TInternalTraits::TInputValue TInputValue; \ typedef __t__::TInternalTraits::TNeighborhood TNeighborhood; \ typedef __t__::TInternalTraits::TMark TMark; \ typedef __t__::TInternalTraits::TNode TNode; \ typedef __t__::TInternalTraits::TNodes TNodes; \ typedef __t__::TInternalTraits::TOutputValue TOutputValue; \ typedef __t__::TInternalTraits::TPoint TPoint; \ typedef __t__::TInternalTraits::TSeed TSeed; \ typedef __t__::TInternalTraits::TSeeds TSeeds; \ typedef __t__::TInternalTraits::TVertex TVertex // ------------------------------------------------------------------------- #define fpaFilterInputMacro( __n__, __t__ ) \ private: \ unsigned int m_##__n__##Idx; \ public: \ __t__* Get##__n__( ) \ { \ return( \ dynamic_cast< __t__* >( \ this->itk::ProcessObject::GetInput( \ this->m_##__n__##Idx \ ) ) ); \ } \ const __t__* Get##__n__( ) const \ { \ return( \ dynamic_cast< const __t__* >( \ this->itk::ProcessObject::GetInput( \ this->m_##__n__##Idx \ ) ) ); \ } \ void Set##__n__( __t__* i ) \ { \ this->itk::ProcessObject::SetNthInput( this->m_##__n__##Idx, i ); \ } // ------------------------------------------------------------------------- #define fpaFilterInputConfigureMacro( __n__, __t__ ) \ this->m_##__n__##Idx = this->GetNumberOfRequiredInputs( ); \ this->itk::ProcessObject::SetNumberOfRequiredInputs( \ this->m_##__n__##Idx + 1 \ ) // ------------------------------------------------------------------------- #define fpaFilterOutputMacro( __n__, __t__ ) \ private: \ unsigned int m_##__n__##Idx; \ public: \ __t__* Get##__n__( ) \ { \ return( \ dynamic_cast< __t__* >( \ this->itk::ProcessObject::GetOutput( \ this->m_##__n__##Idx \ ) ) ); \ } \ const __t__* Get##__n__( ) const \ { \ return( \ dynamic_cast< const __t__* >( \ this->itk::ProcessObject::GetOutput( \ this->m_##__n__##Idx \ ) ) ); \ } // ------------------------------------------------------------------------- #define fpaFilterOutputConfigureMacro( __n__, __t__ ) \ this->m_##__n__##Idx = this->GetNumberOfRequiredOutputs( ); \ this->itk::ProcessObject::SetNumberOfRequiredOutputs( \ this->m_##__n__##Idx + 1 \ ); \ this->SetNthOutput( this->m_##__n__##Idx, __t__::New( ) ) #endif // __fpa__Config__h__ // eof - $RCSfile$