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
106 int Allocate(
int sz=256,
int ext=256);
112 void Build() VTK_OVERRIDE;
121 virtual
void ForceBuild();
126 void BuildSpecialColors();
142 vtkGetMacro(Ramp,
int);
154 vtkGetMacro(Scale,
int);
168 vtkGetVectorMacro(TableRange,
double,2);
176 vtkSetVector2Macro(HueRange,
double);
177 vtkGetVector2Macro(HueRange,
double);
185 vtkSetVector2Macro(SaturationRange,
double);
186 vtkGetVector2Macro(SaturationRange,
double);
194 vtkSetVector2Macro(ValueRange,
double);
195 vtkGetVector2Macro(ValueRange,
double);
203 vtkSetVector2Macro(AlphaRange,
double);
204 vtkGetVector2Macro(AlphaRange,
double);
212 vtkSetVector4Macro(NanColor,
double);
213 vtkGetVector4Macro(NanColor,
double);
227 unsigned char colorOut[4]);
234 vtkSetVector4Macro(BelowRangeColor,
double);
235 vtkGetVector4Macro(BelowRangeColor,
double);
243 vtkGetMacro(UseBelowRangeColor,
int);
252 vtkSetVector4Macro(AboveRangeColor,
double);
253 vtkGetVector4Macro(AboveRangeColor,
double);
261 vtkGetMacro(UseAboveRangeColor,
int);
274 void GetColor(
double x,
double rgb[3]) VTK_OVERRIDE;
314 double r,
double g,
double b,
double a=1.0);
333 return this->Table->GetPointer(4*
id); };
345 unsigned char *WritePointer(
const vtkIdType id,
const int number);
353 {
return this->GetTableRange(); };
355 { this->SetTableRange(min,
max); };
371 const double log_range[2]);
400 unsigned char *output,
404 int outputIncrement) VTK_OVERRIDE;
432 void GetIndexedColor(
vtkIdType idx,
double rgba[4]) VTK_OVERRIDE;
440 double TableRange[2];
442 double SaturationRange[2];
443 double ValueRange[2];
444 double AlphaRange[2];
446 double BelowRangeColor[4];
447 int UseBelowRangeColor;
448 double AboveRangeColor[4];
449 int UseAboveRangeColor;
456 unsigned char NanColorChar[4];
464 void ResizeTableForSpecialColors();
476 return this->Table->WritePointer(4*
id,4*number);
void DeepCopy(vtkScalarsToColors *lut) override
Copy the contents from another LookupTable.
double * GetTableValue(vtkIdType id)
Return a 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.
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).
virtual void SetTableValue(vtkIdType indx, double rgba[4])
Directly load color into lookup table.
static const vtkIdType ABOVE_RANGE_COLOR_INDEX
static const vtkIdType BELOW_RANGE_COLOR_INDEX
Constants for offsets of special colors (e.g., NanColor, BelowRangeColor, AboveRangeColor) from the m...
record modification and/or execution time
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 SetTableRange(double r[2])
Set/Get the minimum/maximum scalar values for scalar mapping.
unsigned char * GetPointer(const vtkIdType id)
Get pointer to color table data.
static void GetColorAsUnsignedChars(const double colorIn[4], unsigned char colorOut[4])
Cast a double color in a type T color.
static double ApplyLogScale(double v, const double range[2], const double log_range[2])
Apply log to value, with appropriate constraints.
void SetTable(vtkUnsignedCharArray *)
Set/Get the internal table array that is used to map the scalars to colors.
static const vtkIdType NUMBER_OF_SPECIAL_COLORS
void Modified()
Set this objects time to the current time.
virtual void SetTableRange(double min, double max)
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 a rgba color value for the given index into the lookup table.
unsigned char * MapValue(double v) override
Map one value through the lookup table.
void SetScale(int scale)
Set the type of scale to use, linear or logarithmic.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkIdType GetNumberOfTableValues()
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
map scalar values into colors via a lookup table
void GetColor(double x, double rgb[3]) override
Map one value through the lookup table and return the color as an RGB array of doubles between 0 and ...
int UsingLogScale() override
This should return 1 is 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.
void SetRange(double rng[2])
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
vtkTimeStamp BuildTime
Updates the extensions string.