1 /*=========================================================================
4 Module: $RCSfile: bbtkAtomicBlackBoxDescriptor.h,v $
6 Date: $Date: 2008/02/07 11:06:37 $
7 Version: $Revision: 1.1 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*/
21 * \brief Class bbtk::AtomicBlackBoxDescriptor : structure containing the description of a AtomicBlackBox input (name, description, type, functor)
24 * \class bbtk::AtomicBlackBoxDescriptor
25 * \brief Structure containing the description of a AtomicBlackBox input (name, description, type, functor)
28 #ifndef __bbtkAtomicBlackBoxDescriptor_h__
29 #define __bbtkAtomicBlackBoxDescriptor_h__
31 #include "bbtkBlackBoxDescriptor.h"
32 #include "bbtkAtomicBlackBoxInputDescriptor.h"
33 #include "bbtkAtomicBlackBoxOutputDescriptor.h"
39 class BBTK_EXPORT AtomicBlackBoxDescriptor : public bbtk::BlackBoxDescriptor
42 AtomicBlackBoxDescriptor()
44 // Creates the input 'BoxProcessMode'
47 bbtk::AtomicBlackBoxInputDescriptor
48 (typeid(AtomicBlackBoxDescriptor),
50 "Sets the processing mode of the box (Pipeline | Always | Reactive)",
51 new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbGetInputBoxProcessMode),
52 new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbSetInputBoxProcessMode) ) );
53 // Creates the input 'BoxExecute'
56 bbtk::AtomicBlackBoxInputDescriptor
57 (typeid(AtomicBlackBoxDescriptor),
59 "Any signal received by this input executes the box",
60 new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetInputBoxExecute),
61 new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetInputBoxExecute) ) );
62 // Creates the output 'BoxChange'
65 bbtk::AtomicBlackBoxOutputDescriptor
66 (typeid(AtomicBlackBoxDescriptor),
68 "Signal modifications of the box",
69 new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetOutputBoxChange),
70 new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetOutputBoxChange) ) );
72 AddToCategory("atomic box");