1 /*=========================================================================
4 Module: $RCSfile: bbtkUserBlackBoxDescriptor.h,v $
6 Date: $Date: 2008/02/06 14:58:41 $
7 Version: $Revision: 1.3 $
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::UserBlackBoxDescriptor : structure containing the description of a UserBlackBox input (name, description, type, functor)
24 * \class bbtk::UserBlackBoxDescriptor
25 * \brief Structure containing the description of a UserBlackBox input (name, description, type, functor)
28 #ifndef __bbtkUserBlackBoxDescriptor_h__
29 #define __bbtkUserBlackBoxDescriptor_h__
31 #include "bbtkBlackBoxDescriptor.h"
32 #include "bbtkUserBlackBoxInputDescriptor.h"
33 #include "bbtkUserBlackBoxOutputDescriptor.h"
39 class BBTK_EXPORT UserBlackBoxDescriptor : public bbtk::BlackBoxDescriptor
42 UserBlackBoxDescriptor()
44 // Creates the input 'BoxProcessMode'
47 bbtk::UserBlackBoxInputDescriptor
48 (typeid(UserBlackBoxDescriptor),
50 "Sets the processing mode of the box (Pipeline | Always | Reactive)",
51 new bbtk::UserBlackBoxTGetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbGetInputBoxProcessMode),
52 new bbtk::UserBlackBoxTSetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbSetInputBoxProcessMode) ) );
53 // Creates the input 'BoxExecute'
56 bbtk::UserBlackBoxInputDescriptor
57 (typeid(UserBlackBoxDescriptor),
59 "Any signal received by this input executes the box",
60 new bbtk::UserBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetInputBoxExecute),
61 new bbtk::UserBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetInputBoxExecute) ) );
62 // Creates the output 'BoxChange'
65 bbtk::UserBlackBoxOutputDescriptor
66 (typeid(UserBlackBoxDescriptor),
68 "Signal modifications of the box",
69 new bbtk::UserBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetOutputBoxChange),
70 new bbtk::UserBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetOutputBoxChange) ) );
72 AddToCategory("atomic box");