// std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
-printf("EED ScalarsToColors::Process Start\n");
-
- if (firsttime==true)
- {
- firsttime=false;
+// if (firsttime==true)
+// {
+// firsttime=false;
// Create the color map
- if (bbGetInputType()==0)
+ if ((bbGetInputType()==0) || (bbGetInputType()==100) )
{
vtkLookupTable *colorLookupTable = vtkLookupTable::New();
if (bbGetInputRange().size()==2)
{
colorLookupTable->SetRange( bbGetInputRange()[0],bbGetInputRange()[1]);
// colorLookupTable->SetTableRange( bbGetInputRange()[0],bbGetInputRange()[1]);
- } else {
+ } else if (bbGetInputWindowColorLevel().size()==2) {
+ double w = bbGetInputWindowColorLevel()[0] / 2;
+ double c = bbGetInputWindowColorLevel()[1];
+ colorLookupTable->SetRange( c-w , c+w );
+ }else {
colorLookupTable->SetRange(0,255);
}
- colorLookupTable->SetNumberOfTableValues(1000);
+
+ colorLookupTable->UseBelowRangeColorOn();
+ colorLookupTable->UseAboveRangeColorOn();
+
+ int NumberOfColors=1000;
+ int NumberOfColorsHalf=NumberOfColors/2;
+ colorLookupTable->SetNumberOfTableValues( NumberOfColors );
colorLookupTable->Build();
double rgba1[4];
double rgba2[4];
int iLookTable;
- for (iLookTable = 0; iLookTable<500; iLookTable++)
+ for (iLookTable = 0; iLookTable<NumberOfColorsHalf; iLookTable++)
{
- colorLookupTable->GetTableValue( iLookTable, rgba1);
- colorLookupTable->GetTableValue(1000-1-iLookTable, rgba2);
- colorLookupTable->SetTableValue(1000-1-iLookTable , rgba1[0],rgba1[1],rgba1[2],rgba1[3]);
- colorLookupTable->SetTableValue( iLookTable , rgba2[0],rgba2[1],rgba2[2],rgba2[3]);
+ colorLookupTable->GetTableValue( iLookTable, rgba1 );
+ colorLookupTable->GetTableValue(NumberOfColors-1-iLookTable, rgba2 );
+ colorLookupTable->SetTableValue(NumberOfColors-1-iLookTable, rgba1[0],rgba1[1],rgba1[2],rgba1[3] );
+ colorLookupTable->SetTableValue( iLookTable, rgba2[0],rgba2[1],rgba2[2],rgba2[3] );
} // for iLookTable
- double rgba[4];
- colorLookupTable->GetTableValue(0,rgba);
- rgba[3]=0;
- colorLookupTable->SetTableValue(0,rgba);
- int i,iMax;
- iMax=(1000/16)*4;
- for (i=0;i<iMax;i++)
+
+ // Transparency
+ if (bbGetInputType()==0)
{
- colorLookupTable->GetTableValue(500+i, rgba);
- rgba[3]=(double)i/(double)iMax;
- colorLookupTable->SetTableValue(500+i,rgba);
- colorLookupTable->GetTableValue(500-i, rgba);
- rgba[3]=(double)i/(double)iMax;
- colorLookupTable->SetTableValue(500-i,rgba);
- } // for
-/*
- iMax=100;
- for (i=0;i<iMax;i++)
- {
-
- _colorLookupTable->GetTableValue(500+100+i, rgba);
- rgba[3]=(double)i/(double)iMax;
- _colorLookupTable->SetTableValue(500+100+i,rgba);
- _colorLookupTable->GetTableValue(500-100-i, rgba);
- rgba[3]=(double)i/(double)iMax;
- _colorLookupTable->SetTableValue(500-100-i,rgba);
-
- } // for
-
- iMax=200;
- for (i=0;i<iMax;i++)
- {
- _colorLookupTable->GetTableValue(500+i, rgba);
- rgba[3]=0;
- _colorLookupTable->SetTableValue(500+i,rgba);
- _colorLookupTable->GetTableValue(500-i, rgba);
+ // First Element
+ double rgba[4];
+ colorLookupTable->GetTableValue(0,rgba);
rgba[3]=0;
- _colorLookupTable->SetTableValue(500-i,rgba);
- } // for
-*/
+ colorLookupTable->SetTableValue(0,rgba);
+
+ colorLookupTable->UseBelowRangeColorOn();
+ colorLookupTable->UseAboveRangeColorOn();
+ if (bbGetInputBelowAboveRangeTransparence()==true)
+ {
+ colorLookupTable->SetBelowRangeColor(1,1,1,0); // White transparent
+ colorLookupTable->SetAboveRangeColor(1,1,1,0); // White transparent
+ } else {
+ colorLookupTable->SetBelowRangeColor(0,0,0,1); // White transparent
+ colorLookupTable->SetAboveRangeColor(1,1,1,1); // White transparent
+ }
+
+ // Middle range
+ int i,iMax=(NumberOfColors/16)*4;
+ for (i=0;i<iMax;i++)
+ {
+ colorLookupTable->GetTableValue(NumberOfColorsHalf+i, rgba);
+ rgba[3]=(double)i/(double)iMax;
+ colorLookupTable->SetTableValue(NumberOfColorsHalf+i,rgba);
+ colorLookupTable->GetTableValue(NumberOfColorsHalf-i, rgba);
+ rgba[3]=(double)i/(double)iMax;
+ colorLookupTable->SetTableValue(NumberOfColorsHalf-i,rgba);
+ } // for
+ } //if Type 0
+
+ colorLookupTable->Modified();
_scalarstocolors = colorLookupTable;
- } // if Type 0
+ } // if Type 0 || 100
//EED 2018-06-8 ***********************ARDS Projet***********************************************
- if (bbGetInputType()==1)
+ if ((bbGetInputType()==1) || (bbGetInputType()==101) )
{
vtkLookupTable *colorLookupTable = vtkLookupTable::New();
- if (bbGetInputRange().size()==2)
- {
- colorLookupTable->SetRange( bbGetInputRange()[0],bbGetInputRange()[1]);
-// colorLookupTable->SetTableRange( bbGetInputRange()[0],bbGetInputRange()[1]);
- } else {
- colorLookupTable->SetRange(0,255);
- }
+ if (bbGetInputRange().size()==2)
+ {
+ colorLookupTable->SetRange( bbGetInputRange()[0],bbGetInputRange()[1]);
+// colorLookupTable->SetTableRange( bbGetInputRange()[0],bbGetInputRange()[1]);
+ } else if (bbGetInputWindowColorLevel().size()==2) {
+ double w = bbGetInputWindowColorLevel()[0] / 2;
+ double c = bbGetInputWindowColorLevel()[1];
+ colorLookupTable->SetRange( c-w , c+w );
+ }else {
+ colorLookupTable->SetRange(0,255);
+ }
+
+ colorLookupTable->UseBelowRangeColorOn();
+ colorLookupTable->UseAboveRangeColorOn();
+ if (bbGetInputBelowAboveRangeTransparence()==true)
+ {
+ colorLookupTable->SetBelowRangeColor(1,1,1,0); // White transparent
+ colorLookupTable->SetAboveRangeColor(1,1,1,0); // White transparent
+ } else {
+ colorLookupTable->SetBelowRangeColor(0,0,0,1); // White transparent
+ colorLookupTable->SetAboveRangeColor(1,1,1,1); // White transparent
+ }
+
colorLookupTable->SetValueRange(0.0, 1.0); // from black to white
colorLookupTable->SetSaturationRange(0.0, 0.0); // no color saturation
colorLookupTable->SetRampToLinear();
colorLookupTable->Build();
- double rgba[4];
- colorLookupTable->GetTableValue(0,rgba);
- rgba[3]=0;
- colorLookupTable->SetTableValue(0,rgba);
+ // Transparency
+ if (bbGetInputType()==1)
+ {
+ // First Element
+ double rgba[4];
+ colorLookupTable->GetTableValue(0,rgba);
+ rgba[3]=0;
+ colorLookupTable->SetTableValue(0,rgba);
+ } // if Type 1
_scalarstocolors = colorLookupTable;
- } // If Type 1
+ } // If Type 1 || 101
if (bbGetInputType()==2) // Direction Color Vector
_scalarstocolors = _LutEED;
} // If Type 3
-
- } // firsttime
+// } // firsttime
double rgb[3];
std::vector<double>colorRGB;
_scalarstocolors->GetColor( bbGetInputScalarValue() , rgb );
colorRGB.push_back( rgb[2] );
bbSetOutputColor( colorRGB );
bbSetOutputLookupTable( _scalarstocolors );
-
-printf("EED ScalarsToColors::Process End\n");
-
-
}
+
//=====
// 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);
+// std::vector<double>range;
+// range.push_back( 0 );
+// range.push_back( 1 );
+// bbSetInputRange(range);
bbSetInputScalarValue(0);
- firsttime = true;
+ bbSetInputBelowAboveRangeTransparence(true);
+// firsttime = true;
_scalarstocolors = 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
-
-
+// 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
+
+}// EO namespace bbcreaVtk