VTKFIG  0.20.20181114
Easy VTK based in situ visualization
vtkSmartPointer<vtkLookupTable> vtkfig::BuildLookupTable ( std::vector< RGBPoint > &  xrgb,
size_t  size 
)

Definition at line 56 of file vtkfigTools.cxx.

57  {
58  vtkSmartPointer<vtkColorTransferFunction> ctf = vtkSmartPointer<vtkColorTransferFunction>::New();
59  vtkSmartPointer<vtkLookupTable> lut = vtkSmartPointer<vtkLookupTable>::New();
60 
61  for (size_t i=0;i<xrgb.size(); i++)
62  {
63  if (xrgb[i].x<-1.0e-10)
64  {
65  lut->SetBelowRangeColor(xrgb[i].r,xrgb[i].g, xrgb[i].b,1);
66  lut->UseBelowRangeColorOn();
67  }
68  else if (xrgb[i].x>1.0+1.0e-10)
69  {
70  lut->SetAboveRangeColor(xrgb[i].r,xrgb[i].g, xrgb[i].b,1);
71  lut->UseAboveRangeColorOn();
72  }
73  else
74  ctf->AddRGBPoint(xrgb[i].x,xrgb[i].r,xrgb[i].g, xrgb[i].b);
75  }
76 
77  lut->SetNumberOfTableValues(size);
78  lut->Build();
79  for(size_t i = 0; i < size; ++i)
80  {
81  double rgb[3];
82  ctf->GetColor(static_cast<double>(i)/(double)size,rgb);
83  lut->SetTableValue(i,rgb[0],rgb[1],rgb[2]);
84  }
85  return lut;
86  }