]> Creatis software - bbtk.git/blob - kernel/appli/bbCreateBlackBox/xml-templates/std-template.xml
54aa42743d158a6415622e856c7da190bee7fe86
[bbtk.git] / kernel / appli / bbCreateBlackBox / xml-templates / std-template.xml
1 <!--==========================================================================
2    STARTS THE DESCRIPTION OF THE BLACK BOX -->
3 <blackbox name="__BLACKBOXNAME__">
4 <!--=======================================================================-->
5
6   <!--========================================================================
7     THE BOX DOCUMENTATION -->
8   <author>__AUTHOR__</author>
9   <description>__DESCRIPTION__</description>
10   <category>__CATEGORY__</category>
11   <!--=====================================================================-->
12
13   <!--========================================================================
14     #include directives to be put in the .h generated
15     There must be one tag per file to include
16     Here we include the standard header iostream.h -->
17   <include><PRE>
18     iostream.h
19   </PRE></include>
20   <!--=====================================================================-->
21
22   <!--========================================================================
23     INPUTS/OUTPUTS DECLARATION -->
24   <!-- Declares an input with name 'In', type 'double' 
25       and description 'First input' -->
26   <input name="In" type="double" description="First input"/>
27   
28   <!-- Declares an output with name 'Out', type 'double' 
29       and description 'First output' -->
30   <output name="Out" type="double" description="First output"/>
31   <!--=====================================================================-->
32
33   <!--========================================================================
34     THE PROCESSING METHOD BODY :
35     Here simpy copies the value of the input 'In' to the output 'Out'
36     And prints out the value
37     INPUT/OUTPUT ACCESSORS ARE OF THE FORM :
38       void bbSet{Input|Output}NAME(const TYPE&)
39       const TYPE& bbGet{Input|Output}NAME() const 
40     Where :
41     * NAME is the name of the input/output
42       (the one provided in the attribute 'name' of the tag 'input')
43     * TYPE is the C++ type of the input/output
44       (the one provided in the attribute 'type' of the tag 'input') -->
45   <process><PRE>
46     bbSetOutputOut( bbGetInputIn() );
47     std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
48   </PRE></process>
49   <!--=====================================================================-->
50
51   <!--========================================================================
52     CONSTRUCTORS / DESTRUCTORS (OPTIONAL) 
53     THE CONSTRUCTION METHOD BODY :
54     Here initializes the input 'In' to 0
55     This is also where you should allocate the output pointers -->
56   <constructor><PRE>
57     bbSetInputIn(0);
58   </PRE></constructor>    
59   <!-- THE COPY-CONSTRUCTION METHOD BODY :
60     Here does nothing 
61     But this is where you should allocate the output pointers if any
62     and copy the pointed values (to avoid bug caused by multiple references)-->
63   <copyconstructor><PRE>
64   </PRE></copyconstructor>    
65   <!-- THE DESTRUCTION METHOD BODY :
66     Here does nothing 
67     but this is where you should desallocate the output pointers if any -->
68   <destructor><PRE>
69   </PRE></destructor>    
70   <!--=====================================================================-->
71
72 <!--=======================================================================-->
73 <!-- END OF BLACK BOX DESCRIPTION -->
74 </blackbox>
75 <!--=======================================================================-->