// =========================================================================
-// @author Leonardo Florez Valencia
-// @email florez-l@javeriana.edu.co
+// @author Leonardo Florez Valencia (florez-l@javeriana.edu.co)
// =========================================================================
#ifndef __fpa__Config__h__
#define __fpa__Config__h__
+#include <fpa/fpa_export.h>
#include <itkMacro.h>
-#define VTK_FOUND @VTK_FOUND@
-#if VTK_FOUND == 1
-# define USE_VTK
-#else
-# undef USE_VTK
-#endif
+#if @Eigen3_FOUND@ == 1
+# define USE_Eigen3
+#endif // @Eigen3_FOUND@ == 1
// -------------------------------------------------------------------------
-#define fpaTraitsMacro( __p__, __t__ ) \
- typedef __p__ __t__::TFilter TFilter; \
- typedef __p__ __t__::TMarksInterface TMarksInterface; \
- typedef __p__ __t__::TSeedsInterface TSeedsInterface; \
- typedef __p__ __t__::TInternalTraits::TInputValue TInputValue; \
- typedef __p__ __t__::TInternalTraits::TMark TMark; \
- typedef __p__ __t__::TInternalTraits::TNeighborhood TNeighborhood; \
- typedef __p__ __t__::TInternalTraits::TNode TNode; \
- typedef __p__ __t__::TInternalTraits::TNodes TNodes; \
- typedef __p__ __t__::TInternalTraits::TOutputValue TOutputValue; \
- typedef __p__ __t__::TInternalTraits::TPoint TPoint; \
- typedef __p__ __t__::TInternalTraits::TSeed TSeed; \
- typedef __p__ __t__::TInternalTraits::TSeeds TSeeds; \
- typedef __p__ __t__::TInternalTraits::TVertex TVertex; \
- itkStaticConstMacro( \
- Dimension, unsigned int, __t__::TInternalTraits::Dimension \
- )
-
-// -------------------------------------------------------------------------
-#define fpaInternalTraitsMacro( __p__, __t__ ) \
- typedef __p__ __t__::TInputValue TInputValue; \
- typedef __p__ __t__::TMark TMark; \
- typedef __p__ __t__::TNeighborhood TNeighborhood; \
- typedef __p__ __t__::TNode TNode; \
- typedef __p__ __t__::TNodes TNodes; \
- typedef __p__ __t__::TOutputValue TOutputValue; \
- typedef __p__ __t__::TPoint TPoint; \
- typedef __p__ __t__::TSeed TSeed; \
- typedef __p__ __t__::TSeeds TSeeds; \
- typedef __p__ __t__::TVertex TVertex; \
- itkStaticConstMacro( Dimension, unsigned int, __t__::Dimension )
+#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__ ) \
- __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 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__( const __t__* i ) \
+ { \
+ this->itk::ProcessObject::SetNthInput( \
+ this->m_##__n__##Idx, \
+ const_cast< __t__* >( i ) \
+ ); \
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
#define fpaFilterOutputMacro( __n__, __t__ ) \
+ private: \
+ unsigned int m_##__n__##Idx; \
+ public: \
__t__* Get##__n__( ) \
{ \
return( \