X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FConfig.h.in;h=831fb7217ce967e9f698fd48254deb60800ba23a;hb=34f4ff5d31c70f1127d43865c61e9f57a7071190;hp=18294bf750c8374c4ca1f5dfe0ac272729ff0a3b;hpb=3a438326c6901fafd9be8b5446a828aa5f63a1cc;p=FrontAlgorithms.git diff --git a/lib/fpa/Config.h.in b/lib/fpa/Config.h.in index 18294bf..831fb72 100644 --- a/lib/fpa/Config.h.in +++ b/lib/fpa/Config.h.in @@ -2,17 +2,86 @@ // @author Leonardo Florez Valencia // @email florez-l@javeriana.edu.co // ========================================================================= - #ifndef __fpa__Config__h__ #define __fpa__Config__h__ -#define ivq_FOUND @ivq_FOUND@ -#if ivq_FOUND == 1 -# define USE_ivq -#else -# undef USE_ivq -#endif +#include -#endif // __fpa__Config__h__ +// ------------------------------------------------------------------------- +#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$