1 /*=========================================================================
4 Module: $RCSfile: bbtkUserBlackBoxDescriptor.h,v $
6 Date: $Date: 2008/01/22 15:02:00 $
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::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 AddInputDescriptor(new bbtk::UserBlackBoxInputDescriptor("BoxProcessMode",
45 "Set the process mode of the box (Pipeline | Always | Reactive)",
46 new bbtk::UserBlackBoxTGetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbGetInputBoxProcessMode),
47 new bbtk::UserBlackBoxTSetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbSetInputBoxProcessMode) ) );
48 AddInputDescriptor(new bbtk::UserBlackBoxInputDescriptor("BoxExecute",
49 "Any change signal received by this input executes the box",
50 new bbtk::UserBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetInputBoxExecute),
51 new bbtk::UserBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetInputBoxExecute) ) );
53 AddOutputDescriptor(new bbtk::UserBlackBoxOutputDescriptor("BoxChange",
54 "Propagates modification of the box",
55 new bbtk::UserBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetOutputBoxChange),
56 new bbtk::UserBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetOutputBoxChange) ) );