if (mGeneric) mFile << "#include \"bbitkImage.h\"\n";
mFile << "\n";
+ if (mType == itkImageToImageFilter )
+ {
+ mFile << "#include \"bbtkItkBlackBoxMacros.h\"\n";
+ }
+ else if ( (mType == vtkImageAlgorithm) ||
+ (mType == vtkPolyDataAlgorithm) )
+ {
+ mFile << "#include \"bbtkVtkBlackBoxMacros.h\"\n";
+ }
// Namespace
BeginNamespace();
Program: bbtk
Module: $RCSfile: bbtkAtomicBlackBoxMacros.h,v $
Language: C++
- Date: $Date: 2008/05/06 07:36:42 $
- Version: $Revision: 1.8 $
+ Date: $Date: 2008/05/07 06:31:37 $
+ Version: $Revision: 1.9 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
-//===========================================================================
-//============================================================================
-// ITK Specific macros
-//===========================================================================
-//===========================================================================
-
-
-//===========================================================================
-/// Declares an itk-inherited AtomicBlackBox input
-#define BBTK_DECLARE_ITK_INPUT(PARENT,NAME,TYPE) \
- public: \
- TYPE bbGetInput##NAME () \
- { return PARENT::GetInput(); } \
- void bbSetInput##NAME (TYPE d) \
- { PARENT::SetInput(d); \
- /*bbSetModifiedStatus();*/ }
-//===========================================================================
-
-//===========================================================================
-#define BBTK_DECLARE_ITK_OUTPUT(PARENT,NAME,TYPE) \
- public: \
- TYPE bbGetOutput##NAME () \
- { return PARENT::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) \
- public: \
- TYPE bbGetInput##NAME () \
- { return PARENT::Get##NAME(); } \
- void bbSetInput##NAME (TYPE d) \
- { PARENT::Set##NAME(d); \
- /*bbSetModifiedStatus();*/ }
-//===========================================================================
-
-//===========================================================================
-//============================================================================
-// VTK Specific macros
-//===========================================================================
-//===========================================================================
-
-
-//===========================================================================
-
-// EED sept 04 \
-// { return GetInput(); /*PARENT::GetInput();*/ } \
-// { PARENT::SetInput( /*(vtkDataObject*)*/ d); \
-
-
-
-/// Declares a vtkImageAlgorithm-inherited AtomicBlackBox input
-#define BBTK_DECLARE_VTK_IMAGE_ALGORITHM_INPUT(PARENT,NAME,TYPE) \
- public: \
- TYPE bbGetInput##NAME () \
- { return GetImageDataInput(0); /*PARENT::GetInput();*/ } \
- void bbSetInput##NAME (TYPE d) \
- { PARENT::SetInput( (vtkDataObject*) d); \
- /*bbSetModifiedStatus();*/ }
-//===========================================================================
-/// Declares a vtkPolyDataAlgorithm-inherited AtomicBlackBox input
-#define BBTK_DECLARE_VTK_POLY_DATA_ALGORITHM_INPUT(PARENT,NAME,TYPE) \
- public: \
- TYPE bbGetInput##NAME () \
- { return GetPolyDataInput(0); /*PARENT::GetInput();*/ } \
- void bbSetInput##NAME (TYPE d) \
- { PARENT::SetInput( (vtkDataObject*) d); \
- /*bbSetModifiedStatus();*/ }
-//===========================================================================
-
-//===========================================================================
-/// Declares a vtkImageAlgorithm-inherited AtomicBlackBox output
-#define BBTK_DECLARE_VTK_OUTPUT(PARENT,NAME,TYPE) \
- public: \
- TYPE bbGetOutput##NAME () \
- { return PARENT::GetOutput(); } \
- void bbSetOutput##NAME (TYPE d) \
- { /*PARENT::GetOutput() = d;*/ }
-//===========================================================================
-
-//===========================================================================
-/// Declares a vtkAlgorithm-inherited AtomicBlackBox input
-#define BBTK_DECLARE_VTK_INPUT(PARENT,NAME,TYPE) \
- public: \
- TYPE bbGetInput##NAME () \
- { return dynamic_cast<TYPE>(PARENT::GetInput()); } \
- void bbSetInput##NAME (TYPE d) \
- { PARENT::SetInput( (vtkDataObject*) d); /*PARENT::GetOutput() = d;*/ }
-
-//===========================================================================
-
-//===========================================================================
-/// Declares an AtomicBlackBox input corresponding to an inherited vtk parameter
-/// which was declared by vtkSetMacro/vtkGetMacro
-/// The NAME **MUST** be the same than the vtk parameter name
-#define BBTK_DECLARE_VTK_PARAM(PARENT,NAME,TYPE) \
- public: \
- TYPE bbGetInput##NAME () \
- { return PARENT::Get##NAME(); } \
- void bbSetInput##NAME (TYPE d) \
- { PARENT::Set##NAME(d); \
- /*bbSetModifiedStatus();*/ }
-//===========================================================================
-
-#define BBTK_VTK_DELETE(VTKPARENT) \
- void bbDelete() { VTKPARENT::Delete(); }
//===========================================================================
/// EOF
--- /dev/null
+/*=========================================================================
+
+ Program: bbtk
+ Module: $RCSfile: bbtkItkBlackBoxMacros.h,v $
+ Language: C++
+ Date: $Date: 2008/05/07 06:31:37 $
+ Version: $Revision: 1.1 $
+
+ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
+ l'Image). All rights reserved. See Doc/License.txt or
+ http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+
+
+/**
+ * \file
+ * \brief Defines macros for the creation of itk object inherited black boxes
+ */
+#ifndef __bbtkItkBlackBoxMacros_h__
+#define __bbtkItkBlackBoxMacros_h__
+//===========================================================================
+//============================================================================
+// ITK Specific macros
+//===========================================================================
+//===========================================================================
+
+
+//===========================================================================
+/// Declares an itk-inherited AtomicBlackBox input
+#define BBTK_DECLARE_ITK_INPUT(PARENT,NAME,TYPE) \
+ public: \
+ TYPE bbGetInput##NAME () \
+ { return PARENT::GetInput(); } \
+ void bbSetInput##NAME (TYPE d) \
+ { PARENT::SetInput(d); \
+ /*bbSetModifiedStatus();*/ }
+//===========================================================================
+
+//===========================================================================
+#define BBTK_DECLARE_ITK_OUTPUT(PARENT,NAME,TYPE) \
+ public: \
+ TYPE bbGetOutput##NAME () \
+ { return PARENT::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) \
+ public: \
+ TYPE bbGetInput##NAME () \
+ { return PARENT::Get##NAME(); } \
+ void bbSetInput##NAME (TYPE d) \
+ { PARENT::Set##NAME(d); \
+ /*bbSetModifiedStatus();*/ }
+//===========================================================================
+
+
+//===========================================================================
+/// EOF
+//===========================================================================
+#endif
--- /dev/null
+/*=========================================================================
+
+ Program: bbtk
+ Module: $RCSfile: bbtkVtkBlackBoxMacros.h,v $
+ Language: C++
+ Date: $Date: 2008/05/07 06:31:37 $
+ Version: $Revision: 1.1 $
+
+ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
+ l'Image). All rights reserved. See Doc/License.txt or
+ http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+
+
+/**
+ * \file
+ * \brief Defines macros for the creation of vtk object inherited black boxes
+ */
+#ifndef __bbtkVtkBlackBoxMacros_h__
+#define __bbtkVtkBlackBoxMacros_h__
+
+//===========================================================================
+//============================================================================
+// VTK Specific macros
+//===========================================================================
+//===========================================================================
+
+
+//===========================================================================
+
+// EED sept 04 \
+// { return GetInput(); /*PARENT::GetInput();*/ } \
+// { PARENT::SetInput( /*(vtkDataObject*)*/ d); \
+
+
+
+/// Declares a vtkImageAlgorithm-inherited AtomicBlackBox input
+#define BBTK_DECLARE_VTK_IMAGE_ALGORITHM_INPUT(PARENT,NAME,TYPE) \
+ public: \
+ TYPE bbGetInput##NAME () \
+ { return GetImageDataInput(0); /*PARENT::GetInput();*/ } \
+ void bbSetInput##NAME (TYPE d) \
+ { PARENT::SetInput( (vtkDataObject*) d); \
+ /*bbSetModifiedStatus();*/ }
+//===========================================================================
+/// Declares a vtkPolyDataAlgorithm-inherited AtomicBlackBox input
+#define BBTK_DECLARE_VTK_POLY_DATA_ALGORITHM_INPUT(PARENT,NAME,TYPE) \
+ public: \
+ TYPE bbGetInput##NAME () \
+ { return GetPolyDataInput(0); /*PARENT::GetInput();*/ } \
+ void bbSetInput##NAME (TYPE d) \
+ { PARENT::SetInput( (vtkDataObject*) d); \
+ /*bbSetModifiedStatus();*/ }
+//===========================================================================
+
+//===========================================================================
+/// Declares a vtkImageAlgorithm-inherited AtomicBlackBox output
+#define BBTK_DECLARE_VTK_OUTPUT(PARENT,NAME,TYPE) \
+ public: \
+ TYPE bbGetOutput##NAME () \
+ { return PARENT::GetOutput(); } \
+ void bbSetOutput##NAME (TYPE d) \
+ { /*PARENT::GetOutput() = d;*/ }
+//===========================================================================
+
+//===========================================================================
+/// Declares a vtkAlgorithm-inherited AtomicBlackBox input
+#define BBTK_DECLARE_VTK_INPUT(PARENT,NAME,TYPE) \
+ public: \
+ TYPE bbGetInput##NAME () \
+ { return dynamic_cast<TYPE>(PARENT::GetInput()); } \
+ void bbSetInput##NAME (TYPE d) \
+ { PARENT::SetInput( (vtkDataObject*) d); /*PARENT::GetOutput() = d;*/ }
+
+//===========================================================================
+
+//===========================================================================
+/// Declares an AtomicBlackBox input corresponding to an
+/// inherited vtk parameter
+/// which was declared by vtkSetMacro/vtkGetMacro
+/// The NAME **MUST** be the same than the vtk parameter name
+#define BBTK_DECLARE_VTK_PARAM(PARENT,NAME,TYPE) \
+ public: \
+ TYPE bbGetInput##NAME () \
+ { return PARENT::Get##NAME(); } \
+ void bbSetInput##NAME (TYPE d) \
+ { PARENT::Set##NAME(d); \
+ /*bbSetModifiedStatus();*/ }
+//===========================================================================
+
+
+//===========================================================================
+#define BBTK_VTK_DELETE(VTKPARENT) \
+ void bbDelete() { \
+ bbGetOutputOut()->SetSource(NULL); \
+ VTKPARENT::Delete(); }
+//===========================================================================
+
+
+//===========================================================================
+/// EOF
+//===========================================================================
+#endif
#include "bbtkAtomicBlackBox.h"
#include "itkBinaryThresholdImageFilter.h"
+#include "bbtkItkBlackBoxMacros.h"
#include "bbitkImage.h"
namespace bbitk
#include "bbtkAtomicBlackBox.h"
#include "itkExtractImageFilter.h"
+#include "bbtkItkBlackBoxMacros.h"
#include "bbitkImage.h"
#include "bbitkImageRegion.h"
Program: bbtk
Module: $RCSfile: bbvtkMarchingCubes.h,v $
Language: C++
- Date: $Date: 2008/05/06 07:36:42 $
- Version: $Revision: 1.4 $
+ Date: $Date: 2008/05/07 06:31:37 $
+ Version: $Revision: 1.5 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "bbtkAtomicBlackBox.h"
+#include "bbtkVtkBlackBoxMacros.h"
#include "vtkMarchingCubes.h"
#include "vtkImageData.h"
Update();
</PRE></process>
-/* bbGetOutputOut()->SetSource(NULL);*/
+
<serconstructor><PRE>
std::cout << "$$$$$$ constructing $$$$$"<<std::endl;
</PRE></serconstructor>