X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2Ffpa%2FConfig.h.in;h=831fb7217ce967e9f698fd48254deb60800ba23a;hb=34f4ff5d31c70f1127d43865c61e9f57a7071190;hp=470b31e8cf9e68b061b1e785c2b0ba55514bbd39;hpb=56b8bb48cc05a297a3faa264f8f2a88de21ef203;p=FrontAlgorithms.git diff --git a/lib/fpa/Config.h.in b/lib/fpa/Config.h.in index 470b31e..831fb72 100644 --- a/lib/fpa/Config.h.in +++ b/lib/fpa/Config.h.in @@ -1,39 +1,87 @@ -#ifndef __fpa__h__ -#define __fpa__h__ +// ========================================================================= +// @author Leonardo Florez Valencia +// @email florez-l@javeriana.edu.co +// ========================================================================= +#ifndef __fpa__Config__h__ +#define __fpa__Config__h__ -#include +#include -/* - * ========================================================================= - * Version numbers and strings - * ========================================================================= - */ -#define fpa_MAJOR_VERSION @prj_MAJ_VER@ -#define fpa_MINOR_VERSION @prj_MIN_VER@ -#define fpa_RELEASE_VERSION @prj_REL_VER@ -#define fpa_VERSION "@prj_VERSION@" -#define fpa_SHORT_VERSION "@prj_SHORT_VERSION@" +// ------------------------------------------------------------------------- +#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 -/* - * ========================================================================= - * Language related macros - * ========================================================================= - */ +// ------------------------------------------------------------------------- +#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 ); \ + } -#if __cplusplus >= 201103L -# define fpa_OVERRIDE override -# define fpa_DELETE_FUNCTION =delete -# define fpa_NULLPTR nullptr -# define fpa_NOEXCEPT noexcept -# define fpa_HAS_CXX11_STATIC_ASSERT -# define fpa_HAS_CXX11_RVREF -#else -# define fpa_OVERRIDE -# define fpa_DELETE_FUNCTION -# define fpa_NULLPTR NULL -# define fpa_NOEXCEPT throw() -#endif +// ------------------------------------------------------------------------- +#define fpaFilterInputConfigureMacro( __n__, __t__ ) \ + this->m_##__n__##Idx = this->GetNumberOfRequiredInputs( ); \ + this->itk::ProcessObject::SetNumberOfRequiredInputs( \ + this->m_##__n__##Idx + 1 \ + ) -#endif // __fpa__h__ +// ------------------------------------------------------------------------- +#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$