-<?xml version="1.0" encoding="iso-8859-1"?>
-
+<!--==========================================================================
+ STARTS THE DESCRIPTION OF THE BLACK BOX -->
<blackbox name="__BLACKBOXNAME__">
+<!--=======================================================================-->
+ <!--========================================================================
+ THE BOX DOCUMENTATION -->
<author>__AUTHOR__</author>
<description>__DESCRIPTION__</description>
- <category>__CategoryBlackBox__</category>
+ <category>__CATEGORY__</category>
+ <!--=====================================================================-->
+
+ <!--========================================================================
+ #include directives to be put in the .h generated
+ There must be one tag per file to include
+ Here we include the standard header iostream.h -->
+ <include><PRE>
+ iostream.h
+ </PRE></include>
+ <!--=====================================================================-->
- <input name="In1" type="double" description="First number to add"/>
- <input name="In2" type="double" description="Second number to add"/>
- <output name="Out" type="double" description="Result"/>
+ <!--========================================================================
+ INPUTS/OUTPUTS DECLARATION -->
+ <!-- Declares an input with name 'In', type 'double'
+ and description 'First input' -->
+ <input name="In" type="double" description="First input"/>
+
+ <!-- Declares an output with name 'Out', type 'double'
+ and description 'First output' -->
+ <output name="Out" type="double" description="First output"/>
+ <!--=====================================================================-->
+ <!--========================================================================
+ THE PROCESSING METHOD BODY :
+ Here simpy copies the value of the input 'In' to the output 'Out'
+ And prints out the value
+ INPUT/OUTPUT ACCESSORS ARE OF THE FORM :
+ void bbSet{Input|Output}NAME(const TYPE&)
+ const TYPE& bbGet{Input|Output}NAME() const
+ Where :
+ * NAME is the name of the input/output
+ (the one provided in the attribute 'name' of the tag 'input')
+ * TYPE is the C++ type of the input/output
+ (the one provided in the attribute 'type' of the tag 'input') -->
<process><PRE>
- bbSetOutputOut( bbGetInputIn1() + bbGetInputIn2() );
+ bbSetOutputOut( bbGetInputIn() );
+ std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
</PRE></process>
-
+ <!--=====================================================================-->
+
+ <!--========================================================================
+ CONSTRUCTORS / DESTRUCTORS (OPTIONAL)
+ THE CONSTRUCTION METHOD BODY :
+ Here initializes the input 'In' to 0
+ This is also where you should allocate the output pointers -->
<constructor><PRE>
- bbSetInputIn1(0);
- bbSetInputIn2(0);
- bbSetOutputOut(0);
+ bbSetInputIn(0);
</PRE></constructor>
+ <!-- THE COPY-CONSTRUCTION METHOD BODY :
+ Here does nothing
+ But this is where you should allocate the output pointers if any
+ and copy the pointed values (to avoid bug caused by multiple references)-->
+ <copyconstructor><PRE>
+ </PRE></copyconstructor>
+ <!-- THE DESTRUCTION METHOD BODY :
+ Here does nothing
+ but this is where you should desallocate the output pointers if any -->
+ <destructor><PRE>
+ </PRE></destructor>
+ <!--=====================================================================-->
+<!--=======================================================================-->
+<!-- END OF BLACK BOX DESCRIPTION -->
</blackbox>
-
+<!--=======================================================================-->