+//=====
+// 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 "bbcreaVtkScalarsToColors.h"
+#include "bbcreaVtkPackage.h"
+
+namespace bbcreaVtk
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,ScalarsToColors)
+BBTK_BLACK_BOX_IMPLEMENTATION(ScalarsToColors,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 ScalarsToColors::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')
+
+// bbSetOutputOut( bbGetInputIn() );
+// std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
+
+ if (firsttime==true)
+ {
+ firsttime=false;
+
+ // Create the color map
+ if (bbGetInputType()==0)
+ {
+ _colorLookupTable = vtkLookupTable::New();
+ _colorLookupTable->Build();
+ double rgba1[4];
+ double rgba2[4];
+ for (int iLookTable = 0; iLookTable<128; iLookTable++)
+ {
+ _colorLookupTable->GetTableValue( iLookTable, rgba1);
+ _colorLookupTable->GetTableValue(256-1-iLookTable, rgba2);
+
+ _colorLookupTable->SetTableValue(256-1-iLookTable , rgba1[0],rgba1[1],rgba1[2],rgba1[3]);
+ _colorLookupTable->SetTableValue( iLookTable , rgba2[0],rgba2[1],rgba2[2],rgba2[3]);
+ } // for iLookTable
+ } // if
+ } // firsttime
+
+ if (bbGetInputRange().size()==2)
+ {
+ _colorLookupTable->SetTableRange( bbGetInputRange()[0],bbGetInputRange()[1]);
+ } else {
+ _colorLookupTable->SetTableRange( 0,1 );
+ }
+
+ double rgb[3];
+ _colorLookupTable->GetColor( bbGetInputScalarValue() , rgb );
+ std::vector<double>colorRGB;
+ colorRGB.push_back( rgb[0] );
+ colorRGB.push_back( rgb[1] );
+ colorRGB.push_back( rgb[2] );
+
+ bbSetOutputColor( colorRGB );
+ bbSetOutputLookupTable(_colorLookupTable);
+
+}
+//=====
+// 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 ScalarsToColors::bbUserSetDefaultValues()
+{
+
+// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX
+// Here we initialize the input 'In' to 0
+ bbSetInputType(0);
+ std::vector<double>range;
+ range.push_back( 0 );
+ range.push_back( 1 );
+ bbSetInputRange(range);
+ bbSetInputScalarValue(0);
+ firsttime=true;
+
+ _colorLookupTable=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)
+//=====
+void ScalarsToColors::bbUserInitializeProcessing()
+{
+
+// THE INITIALIZATION METHOD BODY :
+// Here does nothing
+// but this is where you should allocate the internal/output pointers
+// if any
+
+
+}
+//=====
+// 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 ScalarsToColors::bbUserFinalizeProcessing()
+{
+
+// THE FINALIZATION METHOD BODY :
+// Here does nothing
+// but this is where you should desallocate the internal/output pointers
+// if any
+
+}
+}
+// EO namespace bbcreaVtk
+
+