From e64f1a51510b44580500fd9ec30b4c937255bf75 Mon Sep 17 00:00:00 2001 From: guigues Date: Wed, 7 May 2008 06:31:36 +0000 Subject: [PATCH] *** empty log message *** --- kernel/appli/bbfy/bbfy.cpp | 9 ++ kernel/src/bbtkAtomicBlackBoxMacros.h | 114 +----------------- kernel/src/bbtkItkBlackBoxMacros.h | 70 +++++++++++ kernel/src/bbtkVtkBlackBoxMacros.h | 108 +++++++++++++++++ .../itk/src/bbitkBinaryThresholdImageFilter.h | 1 + packages/itk/src/bbitkExtractImageFilter.h | 1 + packages/vtk/src/bbvtkMarchingCubes.h | 5 +- packages/vtk/src/bbvtkMetaImageReader.xml | 2 +- 8 files changed, 195 insertions(+), 115 deletions(-) create mode 100644 kernel/src/bbtkItkBlackBoxMacros.h create mode 100644 kernel/src/bbtkVtkBlackBoxMacros.h diff --git a/kernel/appli/bbfy/bbfy.cpp b/kernel/appli/bbfy/bbfy.cpp index a315ed9..e67bce9 100644 --- a/kernel/appli/bbfy/bbfy.cpp +++ b/kernel/appli/bbfy/bbfy.cpp @@ -492,6 +492,15 @@ void bbfy::CreateHeader() 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(); diff --git a/kernel/src/bbtkAtomicBlackBoxMacros.h b/kernel/src/bbtkAtomicBlackBoxMacros.h index 2162b4c..cdbf459 100644 --- a/kernel/src/bbtkAtomicBlackBoxMacros.h +++ b/kernel/src/bbtkAtomicBlackBoxMacros.h @@ -3,8 +3,8 @@ 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 @@ -715,119 +715,9 @@ -//=========================================================================== -//============================================================================ -// 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(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 diff --git a/kernel/src/bbtkItkBlackBoxMacros.h b/kernel/src/bbtkItkBlackBoxMacros.h new file mode 100644 index 0000000..52cd4f8 --- /dev/null +++ b/kernel/src/bbtkItkBlackBoxMacros.h @@ -0,0 +1,70 @@ +/*========================================================================= + + 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 diff --git a/kernel/src/bbtkVtkBlackBoxMacros.h b/kernel/src/bbtkVtkBlackBoxMacros.h new file mode 100644 index 0000000..4fce673 --- /dev/null +++ b/kernel/src/bbtkVtkBlackBoxMacros.h @@ -0,0 +1,108 @@ +/*========================================================================= + + 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(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 diff --git a/packages/itk/src/bbitkBinaryThresholdImageFilter.h b/packages/itk/src/bbitkBinaryThresholdImageFilter.h index 3e6e75e..aeea6b2 100644 --- a/packages/itk/src/bbitkBinaryThresholdImageFilter.h +++ b/packages/itk/src/bbitkBinaryThresholdImageFilter.h @@ -2,6 +2,7 @@ #include "bbtkAtomicBlackBox.h" #include "itkBinaryThresholdImageFilter.h" +#include "bbtkItkBlackBoxMacros.h" #include "bbitkImage.h" namespace bbitk diff --git a/packages/itk/src/bbitkExtractImageFilter.h b/packages/itk/src/bbitkExtractImageFilter.h index 12d07bf..b7ebbeb 100644 --- a/packages/itk/src/bbitkExtractImageFilter.h +++ b/packages/itk/src/bbitkExtractImageFilter.h @@ -2,6 +2,7 @@ #include "bbtkAtomicBlackBox.h" #include "itkExtractImageFilter.h" +#include "bbtkItkBlackBoxMacros.h" #include "bbitkImage.h" #include "bbitkImageRegion.h" diff --git a/packages/vtk/src/bbvtkMarchingCubes.h b/packages/vtk/src/bbvtkMarchingCubes.h index c02ffb7..bd4f552 100644 --- a/packages/vtk/src/bbvtkMarchingCubes.h +++ b/packages/vtk/src/bbvtkMarchingCubes.h @@ -3,8 +3,8 @@ 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 @@ -37,6 +37,7 @@ #include "bbtkAtomicBlackBox.h" +#include "bbtkVtkBlackBoxMacros.h" #include "vtkMarchingCubes.h" #include "vtkImageData.h" diff --git a/packages/vtk/src/bbvtkMetaImageReader.xml b/packages/vtk/src/bbvtkMetaImageReader.xml index 891912f..ff2fd33 100644 --- a/packages/vtk/src/bbvtkMetaImageReader.xml +++ b/packages/vtk/src/bbvtkMetaImageReader.xml @@ -18,7 +18,7 @@ Update(); -/* bbGetOutputOut()->SetSource(NULL);*/ +
 std::cout << "$$$$$$ constructing $$$$$"<     
-- 
2.45.1