54 #ifndef vtkLookupTable_h
55 #define vtkLookupTable_h
57 #include "vtkCommonCoreModule.h"
62 #define VTK_RAMP_LINEAR 0
63 #define VTK_RAMP_SCURVE 1
64 #define VTK_RAMP_SQRT 2
65 #define VTK_SCALE_LINEAR 0
66 #define VTK_SCALE_LOG10 1
141 vtkSetMacro(Ramp,
int);
145 vtkGetMacro(Ramp,
int);
157 vtkGetMacro(Scale,
int);
171 vtkGetVectorMacro(TableRange,
double, 2);
179 vtkSetVector2Macro(HueRange,
double);
180 vtkGetVector2Macro(HueRange,
double);
188 vtkSetVector2Macro(SaturationRange,
double);
189 vtkGetVector2Macro(SaturationRange,
double);
197 vtkSetVector2Macro(ValueRange,
double);
198 vtkGetVector2Macro(ValueRange,
double);
206 vtkSetVector2Macro(AlphaRange,
double);
207 vtkGetVector2Macro(AlphaRange,
double);
215 vtkSetVector4Macro(NanColor,
double);
216 vtkGetVector4Macro(NanColor,
double);
235 vtkSetVector4Macro(BelowRangeColor,
double);
236 vtkGetVector4Macro(BelowRangeColor,
double);
253 vtkSetVector4Macro(AboveRangeColor,
double);
254 vtkGetVector4Macro(AboveRangeColor,
double);
344 unsigned char* WritePointer(
vtkIdType id,
int number);
352 void SetRange(
double min,
double max)
override { this->SetTableRange(min,
max); }
396 int numberOfValues,
int inputIncrement,
int outputIncrement)
override;
429 double TableRange[2];
431 double SaturationRange[2];
432 double ValueRange[2];
433 double AlphaRange[2];
435 double BelowRangeColor[4];
437 double AboveRangeColor[4];
445 unsigned char NanColorChar[4];
ValueType * WritePointer(vtkIdType valueIdx, vtkIdType numValues)
Get the address of a particular data index.
Abstract superclass for all arrays.
a simple class to control print indentation
map scalar values into colors via a lookup table
virtual void ForceBuild()
Force the lookup table to regenerate from hue, saturation, value, and alpha min/max values.
static const vtkIdType ABOVE_RANGE_COLOR_INDEX
double GetOpacity(double v) override
Map one value through the lookup table and return the alpha value (the opacity) as a double between 0...
vtkIdType GetNumberOfAvailableColors() override
Get the number of available colors for mapping to.
static vtkLookupTable * New()
Construct with range=[0,1]; and hsv ranges set up for rainbow color table (from red to blue).
static const vtkIdType NUMBER_OF_SPECIAL_COLORS
int UsingLogScale() override
This should return 1 if the subclass is using log scale for mapping scalars to colors.
void GetIndexedColor(vtkIdType idx, double rgba[4]) override
Return a color given an integer index.
void DeepCopy(vtkScalarsToColors *lut) override
Copy the contents from another LookupTable.
vtkTimeStamp OpaqueFlagBuildTime
int IsOpaque(vtkAbstractArray *scalars, int colorMode, int component) override
void ResizeTableForSpecialColors()
Resize the LookupTable to have enough room for the out-of-range colors.
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.
virtual void SetTableValue(vtkIdType indx, const double rgba[4])
Directly load color into lookup table.
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...
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.
static const vtkIdType BELOW_RANGE_COLOR_INDEX
void SetNumberOfTableValues(vtkIdType number)
Specify the number of values (i.e., colors) in the lookup table.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static const vtkIdType REPEATED_LAST_COLOR_INDEX
Constants for offsets of special colors (e.g., NanColor, BelowRangeColor, AboveRangeColor) from the m...
int Allocate(int sz=256, int ext=256)
Allocate a color table of specified size.
unsigned char * GetNanColorAsUnsignedChars()
Return the NanColor as a pointer to 4 unsigned chars.
void BuildSpecialColors()
Copies the "special" colors into the given table.
virtual void SetTableValue(vtkIdType indx, double r, double g, double b, double a=1.0)
Directly load color into lookup table.
void GetTableValue(vtkIdType id, double rgba[4])
Return an RGBA color value for the given index into the lookup table.
virtual vtkIdType GetIndex(double v)
Return the table index associated with a particular value.
virtual void SetTableRange(double min, double max)
void SetRange(const double rng[2]) override
vtkUnsignedCharArray * Table
double * GetRange() override
Sets/Gets the range of scalars which will be mapped.
void SetRange(double min, double max) override
unsigned char * WritePointer(vtkIdType id, int number)
Get pointer to data.
static void GetLogRange(const double range[2], double log_range[2])
Returns the log of range in log_range.
void SetTable(vtkUnsignedCharArray *)
Set/Get the internal table array that is used to map the scalars to colors.
const unsigned char * MapValue(double v) override
Map one value through the lookup table, returning an RBGA[4] color.
vtkLookupTable(int sze=256, int ext=256)
void SetScale(int scale)
Set the type of scale to use, linear or logarithmic.
vtkIdType GetNumberOfTableValues()
unsigned char * GetPointer(vtkIdType id)
Get pointer to color table data.
vtkTimeStamp SpecialColorsBuildTime
static double ApplyLogScale(double v, const double range[2], const double log_range[2])
Apply log to value, with appropriate constraints.
virtual void SetTableRange(const double r[2])
Set/Get the minimum/maximum scalar values for scalar mapping.
double * GetTableValue(vtkIdType id)
Return an RGBA color value for the given index into the lookup table.
~vtkLookupTable() override
void Build() override
Generate lookup table from hue, saturation, value, alpha min/max values.
vtkTypeBool UseAboveRangeColor
vtkTypeBool UseBelowRangeColor
int IsOpaque() override
Return true if all of the values defining the mapping have an opacity equal to 1.
static const vtkIdType NAN_COLOR_INDEX
Superclass for mapping scalar values to colors.
record modification and/or execution time
void Modified()
Set this objects time to the current time.
dynamic, self-adjusting array of unsigned char
#define VTK_SIZEHINT(...)