]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Config.h.in
...
[FrontAlgorithms.git] / lib / fpa / Config.h.in
diff --git a/lib/fpa/Config.h.in b/lib/fpa/Config.h.in
new file mode 100644 (file)
index 0000000..4ecc222
--- /dev/null
@@ -0,0 +1,108 @@
+// =========================================================================
+// @author Leonardo Florez Valencia
+// @email florez-l@javeriana.edu.co
+// =========================================================================
+#ifndef __fpa__Config__h__
+#define __fpa__Config__h__
+
+#include <itkMacro.h>
+
+#define VTK_FOUND @VTK_FOUND@
+#if VTK_FOUND == 1
+#  define USE_VTK
+#else
+#  undef USE_VTK
+#endif
+
+// -------------------------------------------------------------------------
+#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 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 fpaFilterInputConfigureMacro( __n__, __t__ )            \
+  this->m_##__n__##Idx = this->GetNumberOfRequiredInputs( );    \
+  this->itk::ProcessObject::SetNumberOfRequiredInputs(          \
+    this->m_##__n__##Idx + 1                                    \
+    )
+
+// -------------------------------------------------------------------------
+#define fpaFilterOutputMacro( __n__, __t__ )    \
+  __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$