Program: bbtk
Module: $RCSfile: bbtkItkBlackBoxMacros.h,v $
Language: C++
- Date: $Date: 2008/05/07 06:31:37 $
- Version: $Revision: 1.1 $
+ Date: $Date: 2008/05/07 12:59:23 $
+ Version: $Revision: 1.3 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
//===========================================================================
//===========================================================================
+//===========================================================================
+#define BBTK_ITK_DELETE() \
+ void bbDelete() { \
+ itkParent::UnRegister(); \
+ }
+//===========================================================================
+
+//===========================================================================
+#define BBTK_ITK_BLACK_BOX_INTERFACE(CLASS,PARENTBLACKBOX,ITKPARENT) \
+ BBTK_BLACK_BOX_INTERFACE(CLASS,PARENTBLACKBOX); \
+ typedef ITKPARENT itkParent; \
+ BBTK_ITK_DELETE();
+//===========================================================================
//===========================================================================
/// Declares an itk-inherited AtomicBlackBox input
-#define BBTK_DECLARE_ITK_INPUT(PARENT,NAME,TYPE) \
+#define BBTK_DECLARE_ITK_INPUT(NAME,TYPE) \
public: \
TYPE bbGetInput##NAME () \
- { return PARENT::GetInput(); } \
+ { return itkParent::GetInput(); } \
void bbSetInput##NAME (TYPE d) \
- { PARENT::SetInput(d); \
+ { itkParent::SetInput(d); \
/*bbSetModifiedStatus();*/ }
//===========================================================================
//===========================================================================
-#define BBTK_DECLARE_ITK_OUTPUT(PARENT,NAME,TYPE) \
+#define BBTK_DECLARE_ITK_OUTPUT(NAME,TYPE) \
public: \
TYPE bbGetOutput##NAME () \
- { return PARENT::GetOutput(); } \
+ { return itkParent::GetOutput(); } \
void bbSetOutput##NAME (TYPE d) \
{ /*PARENT::GetOutput() = d;*/ }
//===========================================================================
/// Declares an AtomicBlackBox input corresponding to an inherited itk parameter
/// which was declared by itkSetMacro/itkGetMacro
/// The NAME **MUST** be the same than the itk parameter name
-#define BBTK_DECLARE_ITK_PARAM(PARENT,NAME,TYPE) \
+#define BBTK_DECLARE_ITK_PARAM(NAME,TYPE) \
public: \
TYPE bbGetInput##NAME () \
- { return PARENT::Get##NAME(); } \
+ { return itkParent::Get##NAME(); } \
void bbSetInput##NAME (TYPE d) \
- { PARENT::Set##NAME(d); \
+ { itkParent::Set##NAME(d); \
/*bbSetModifiedStatus();*/ }
//===========================================================================
+//============================================================================
+/// Defines the default bbUserProcess method for itk inherited black boxes
+/// (calls itkParent::Update)
+#define BBTK_ITK_PROCESS() \
+ public: \
+ inline void bbUserProcess() \
+ { \
+ bbtkDebugMessage("process",1,"**> Processing ["<<bbGetFullName() \
+ <<"]"<<std::endl); \
+ itkParent::Update(); \
+ bbtkDebugMessage("process",2,"<** Processing ["<<bbGetFullName() \
+ <<"]"<<std::endl); \
+ }
+//============================================================================
//===========================================================================
/// EOF