#include "bbvtkPackage.h"
#include <vtkPointData.h>
-
+#include <vtkMath.h>
namespace bbvtk
{
// bbSetOutputOut( bbGetInputIn() );
// std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
-printf("EED SurfaceTexture::Process Start\n");
int i;
double spc[3];
int ext[6];
bbGetInputImage()->GetSpacing(spc);
bbGetInputImage()->GetScalarRange(range);
+
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
bbGetInputImage()->GetWholeExtent(ext);
+#else
+ bbGetInputImage()->GetExtent(ext);
+#endif
+
int maxX = ext[1]-ext[0]+1;
int maxY = ext[3]-ext[2]+1;
int maxZ = ext[5]-ext[4]+1;
// Create the color map
if (bbGetInputColorType()==1)
{
- colorLookupTableWL = vtkWindowLevelLookupTable::New();
- colorLookupTable=colorLookupTableWL;
+ colorLookupTableWL = vtkWindowLevelLookupTable::New();
+ colorLookupTableWL->InverseVideoOn();
+ colorLookupTable = colorLookupTableWL;
} else {
colorLookupTable = vtkLookupTable::New();
}
+ colorLookupTable->SetTableRange(range[0],range[1]);
+ 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
+
+//EED 2018-06-8 ***********************ARDS Projet***********************************************
+ if (bbGetInputColorType()==2)
+ {
+ int tableSize=256;
+ colorLookupTable = vtkLookupTable::New();
+// colorLookupTable->SetNumberOfTableValues(tableSize);
+ colorLookupTable->SetTableRange(range[0],range[1]);
+// colorLookupTable->SetTableRange(0,11);
+ colorLookupTable->Build();
+
+/*
+ for (unsigned int i = 0; i < tableSize; ++i)
+ {
+ colorLookupTable->SetTableValue(i,
+ vtkMath::Random(.25, 1.0),
+ vtkMath::Random(.25, 1.0),
+ vtkMath::Random(.25, 1.0),
+ 1.0);
+ }
+*/
+
+ double rgba1[4];
+ double rgba2[4];
+ int i,j;
+ for (int iLookTable = 0; iLookTable<tableSize*3; iLookTable++)
+ {
+ i=rand() % tableSize;
+ j=rand() % tableSize;
+ colorLookupTable->GetTableValue(i, rgba1);
+ colorLookupTable->GetTableValue(j, rgba2);
+
+ colorLookupTable->SetTableValue(j, rgba1[0],rgba1[1],rgba1[2],rgba1[3]);
+ colorLookupTable->SetTableValue(i, rgba2[0],rgba2[1],rgba2[2],rgba2[3]);
+ } // for iLookTable
+
+ } // type 2
+
+
+ if (bbGetInputColorType()==3)
+ {
+ int tableSize=13;
+ colorLookupTable = vtkLookupTable::New();
+ colorLookupTable->SetNumberOfTableValues(tableSize);
+ colorLookupTable->SetTableRange(6,range[1]);
+ colorLookupTable->Build();
+
+ colorLookupTable->SetTableValue(0, 1 ,1 ,1 ,1);
+ colorLookupTable->SetTableValue(1, 1 ,0 ,0 ,1);
+ colorLookupTable->SetTableValue(2, 0 ,1 ,0 ,1);
+ colorLookupTable->SetTableValue(3, 0 ,0 ,1 ,1);
+ colorLookupTable->SetTableValue(4, 0 ,1 ,1 ,1);
+ colorLookupTable->SetTableValue(5, 1 ,1 ,0 ,1);
+ colorLookupTable->SetTableValue(6, 1 ,0 ,1 ,1);
+
+ colorLookupTable->SetTableValue(7, 0.5,1 ,1 ,1);
+ colorLookupTable->SetTableValue(8, 1 ,0.5,1 ,1);
+ colorLookupTable->SetTableValue(9, 1 ,1 ,0.5,1);
+
+ colorLookupTable->SetTableValue(10,1 ,0.5,0.5,1);
+ colorLookupTable->SetTableValue(11,0.5,0.5,1 ,1);
+
+ } // type 2
+
+
+
+
}
- colorLookupTable->SetTableRange(range[0],range[1]);
- colorLookupTable->Build();
+
bbGetInputMesh()->GetPointData()->SetScalars(colors);
if (bbGetInputColorType()==1)
bbGetInputTransform()->Update();
}
- unsigned short gl;
+ double gl;
double p1[3];
double p2[3];
double dcolor[3];
bbSetInputColorWindow(500);
bbSetInputTransform(NULL);
- firsttime = true;
- colors = NULL;
- colorLookupTable = NULL;
+ firsttime = true;
+ colors = NULL;
+ colorLookupTable = NULL;
colorLookupTableWL = NULL;
}
//=====