--- /dev/null
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+#include "bbvtkCreateImage.h"
+#include "bbvtkPackage.h"
+namespace bbvtk
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,CreateImage)
+BBTK_BLACK_BOX_IMPLEMENTATION(CreateImage,bbtk::AtomicBlackBox);
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+void CreateImage::Process()
+{
+
+// THE MAIN PROCESSING METHOD BODY
+// Here we simply set the input 'In' value to the output 'Out'
+// And print out the output 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')
+
+
+ double spc[6];
+ int dim[3];
+ int outputformat = VTK_UNSIGNED_SHORT;
+
+ if (bbGetInputOutputFormat()=="VTK_BIT") outputformat = VTK_BIT;
+ else if (bbGetInputOutputFormat()=="VTK_CHAR") outputformat = VTK_CHAR;
+ else if (bbGetInputOutputFormat()=="VTK_SIGNED_CHAR") outputformat = VTK_SIGNED_CHAR;
+ else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_CHAR") outputformat = VTK_UNSIGNED_CHAR;
+ else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_SHORT") outputformat = VTK_UNSIGNED_SHORT;
+ else if (bbGetInputOutputFormat()=="VTK_INT") outputformat = VTK_INT;
+ else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_INT") outputformat = VTK_UNSIGNED_INT;
+ else if (bbGetInputOutputFormat()=="VTK_LONG") outputformat = VTK_LONG;
+ else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_LONG") outputformat = VTK_UNSIGNED_LONG;
+ else if (bbGetInputOutputFormat()=="VTK_FLOAT") outputformat = VTK_FLOAT;
+ else if (bbGetInputOutputFormat()=="VTK_DOUBLE") outputformat = VTK_DOUBLE;
+
+ spc[0] = bbGetInputSpacing()[0];
+ spc[1] = bbGetInputSpacing()[1];
+ spc[2] = bbGetInputSpacing()[2];
+
+ dim[0] = bbGetInputDimensions()[0];
+ dim[1] = bbGetInputDimensions()[1];
+ dim[2] = bbGetInputDimensions()[2];
+
+ imageoutput->Initialize();
+ imageoutput->SetScalarType( outputformat );
+ imageoutput->SetSpacing( spc );
+ imageoutput->SetDimensions( dim[0], dim[1], dim[2] );
+ imageoutput->AllocateScalars();
+
+
+ int i,j,k;
+ for (i=0; i<dim[0]; i++)
+ {
+ for (j=0; j<dim[1]; j++)
+ {
+ for (k=0; k<dim[2]; k++)
+ {
+ imageoutput->SetScalarComponentFromDouble(i,j,k, 0, bbGetInputInitialValue() );
+ } // for k
+ } // for j
+ } // for i
+
+ bbSetOutputOut(imageoutput);
+
+}
+
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+void CreateImage::bbUserSetDefaultValues()
+{
+ imageoutput=NULL;
+
+// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX
+ std::vector<int> dim;
+ dim.push_back(250);
+ dim.push_back(250);
+ dim.push_back(250);
+ std::vector<double> spc;
+ dim.push_back(1.0);
+ dim.push_back(1.0);
+ dim.push_back(1.0);
+
+ bbSetInputDimensions(dim);
+ bbSetInputSpacing(spc);
+ bbSetInputOutputFormat("VTK_UNSIGNED_SHORT");
+ bbSetInputInitialValue(0);
+}
+
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+void CreateImage::bbUserInitializeProcessing()
+{
+
+// THE INITIALIZATION METHOD BODY :
+// Here does nothing
+// but this is where you should allocate the internal/output pointers
+// if any
+
+ imageoutput = vtkImageData::New();
+
+}
+
+//=====
+// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
+//=====
+void CreateImage::bbUserFinalizeProcessing()
+{
+
+// THE FINALIZATION METHOD BODY :
+// Here does nothing
+// but this is where you should desallocate the internal/output pointers
+// if any
+ imageoutput->Delete();
+
+}
+}
+// EO namespace bbvtk
+
+