Go to the documentation of this file.
60 #ifndef vtkLookupTable_h
61 #define vtkLookupTable_h
63 #include "vtkCommonCoreModule.h"
68 #define VTK_RAMP_LINEAR 0
69 #define VTK_RAMP_SCURVE 1
70 #define VTK_RAMP_SQRT 2
71 #define VTK_SCALE_LINEAR 0
72 #define VTK_SCALE_LOG10 1
144 vtkSetMacro(Ramp,
int);
148 vtkGetMacro(Ramp,
int);
160 vtkGetMacro(Scale,
int);
174 vtkGetVectorMacro(TableRange,
double,2);
182 vtkSetVector2Macro(HueRange,
double);
183 vtkGetVector2Macro(HueRange,
double);
191 vtkSetVector2Macro(SaturationRange,
double);
192 vtkGetVector2Macro(SaturationRange,
double);
200 vtkSetVector2Macro(ValueRange,
double);
201 vtkGetVector2Macro(ValueRange,
double);
209 vtkSetVector2Macro(AlphaRange,
double);
210 vtkGetVector2Macro(AlphaRange,
double);
218 vtkSetVector4Macro(NanColor,
double);
219 vtkGetVector4Macro(NanColor,
double);
232 unsigned char colorOut[4]);
239 vtkSetVector4Macro(BelowRangeColor,
double);
240 vtkGetVector4Macro(BelowRangeColor,
double);
257 vtkSetVector4Macro(AboveRangeColor,
double);
258 vtkGetVector4Macro(AboveRangeColor,
double);
319 double r,
double g,
double b,
double a=1.0);
338 return this->Table->GetPointer(4*
id); }
350 unsigned char *WritePointer(
vtkIdType id,
int number);
358 {
return this->GetTableRange(); }
360 { this->SetTableRange(min,
max); }
376 const double log_range[2]);
405 unsigned char *output,
409 int outputIncrement)
override;
445 double TableRange[2];
447 double SaturationRange[2];
448 double ValueRange[2];
449 double AlphaRange[2];
451 double BelowRangeColor[4];
453 double AboveRangeColor[4];
461 unsigned char NanColorChar[4];
virtual void SetTableValue(vtkIdType indx, const double rgba[4])
Directly load color into lookup table.
void DeepCopy(vtkScalarsToColors *lut) override
Copy the contents from another LookupTable.
ValueType * WritePointer(vtkIdType valueIdx, vtkIdType numValues)
Get the address of a particular data index.
vtkTimeStamp OpaqueFlagBuildTime
vtkTypeBool UseAboveRangeColor
double * GetTableValue(vtkIdType id)
Return an RGBA color value for the given index into the lookup table.
vtkIdType GetNumberOfAvailableColors() override
Get the number of available colors for mapping to.
unsigned char * GetNanColorAsUnsignedChars()
Return the NanColor as a pointer to 4 unsigned chars.
void Build() override
Generate lookup table from hue, saturation, value, alpha min/max values.
static const vtkIdType NAN_COLOR_INDEX
static vtkLookupTable * New()
Construct with range=[0,1]; and hsv ranges set up for rainbow color table (from red to blue).
void BuildSpecialColors()
Copies the "special" colors into the given table.
vtkLookupTable(int sze=256, int ext=256)
static const vtkIdType ABOVE_RANGE_COLOR_INDEX
void ResizeTableForSpecialColors()
Resize the LookupTable to have enough room for the out-of-range colors.
static const vtkIdType BELOW_RANGE_COLOR_INDEX
record modification and/or execution time
static const vtkIdType REPEATED_LAST_COLOR_INDEX
Constants for offsets of special colors (e.g., NanColor, BelowRangeColor, AboveRangeColor) from the m...
dynamic, self-adjusting array of unsigned char
double GetOpacity(double v) override
Map one value through the lookup table and return the alpha value (the opacity) as a double between 0...
void GetIndexedColor(vtkIdType idx, double rgba[4]) override
Return a color given an integer index.
static void GetColorAsUnsignedChars(const double colorIn[4], unsigned char colorOut[4])
Given an RGBA[4] color in the [0,1] range, convert it to RGBA[4] in the [0,255] range.
static double ApplyLogScale(double v, const double range[2], const double log_range[2])
Apply log to value, with appropriate constraints.
void SetRange(const double rng[2]) override
unsigned char * WritePointer(vtkIdType id, int number)
Get pointer to data.
void SetTable(vtkUnsignedCharArray *)
Set/Get the internal table array that is used to map the scalars to colors.
virtual void ForceBuild()
Force the lookup table to regenerate from hue, saturation, value, and alpha min/max values.
static const vtkIdType NUMBER_OF_SPECIAL_COLORS
vtkTimeStamp SpecialColorsBuildTime
#define VTK_SIZEHINT(...)
void Modified()
Set this objects time to the current time.
virtual void SetTableRange(double min, double max)
virtual void SetTableRange(const double r[2])
Set/Get the minimum/maximum scalar values for scalar mapping.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
virtual void SetTableValue(vtkIdType indx, double r, double g, double b, double a=1.0)
Directly load color into lookup table.
Superclass for mapping scalar values to colors.
void GetTableValue(vtkIdType id, double rgba[4])
Return an RGBA color value for the given index into the lookup table.
void SetScale(int scale)
Set the type of scale to use, linear or logarithmic.
vtkIdType GetNumberOfTableValues()
const unsigned char * MapValue(double v) override
Map one value through the lookup table, returning an RBGA[4] color.
map scalar values into colors via a lookup table
~vtkLookupTable() override
int Allocate(int sz=256, int ext=256)
Allocate a color table of specified size.
void GetColor(double x, double rgb[3]) override
Map one value through the lookup table and return the color as an RGB[3] array of doubles between 0 a...
int UsingLogScale() override
This should return 1 if the subclass is using log scale for mapping scalars to colors.
static void GetLogRange(const double range[2], double log_range[2])
Returns the log of range in log_range.
void MapScalarsThroughTable2(void *input, unsigned char *output, int inputDataType, int numberOfValues, int inputIncrement, int outputIncrement) override
Map a set of scalars through the lookup table.
void SetNumberOfTableValues(vtkIdType number)
Specify the number of values (i.e., colors) in the lookup table.
vtkUnsignedCharArray * Table
unsigned char * GetPointer(vtkIdType id)
Get pointer to color table data.
vtkTypeBool UseBelowRangeColor
double * GetRange() override
Sets/Gets the range of scalars which will be mapped.
virtual vtkIdType GetIndex(double v)
Return the table index associated with a particular value.
int IsOpaque() override
Return true if all of the values defining the mapping have an opacity equal to 1.
void SetRange(double min, double max) override