1 /*=========================================================================
4 Module: $RCSfile: bbtkAtomicBlackBoxDescriptor.h,v $
6 Date: $Date: 2008/04/08 06:59:29 $
7 Version: $Revision: 1.2 $
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)",
52 new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbGetInputBoxProcessMode),
53 new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,std::string,std::string>(&BlackBox::bbSetInputBoxProcessMode) ) );
54 // Creates the input 'BoxExecute'
57 bbtk::AtomicBlackBoxInputDescriptor
58 (typeid(AtomicBlackBoxDescriptor),
60 "Any signal received by this input executes the box",
62 new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetInputBoxExecute),
63 new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetInputBoxExecute) ) );
64 // Creates the output 'BoxChange'
67 bbtk::AtomicBlackBoxOutputDescriptor
68 (typeid(AtomicBlackBoxDescriptor),
70 "Signal modifications of the box",
72 new bbtk::AtomicBlackBoxTGetFunctor<BlackBox,Void,Void>(&BlackBox::bbGetOutputBoxChange),
73 new bbtk::AtomicBlackBoxTSetFunctor<BlackBox,Void,Void>(&BlackBox::bbSetOutputBoxChange) ) );
75 AddToCategory("atomic box");