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);
a simple class to control print indentation
map scalar values into colors via a lookup table
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 const vtkIdType NUMBER_OF_SPECIAL_COLORS
int UsingLogScale() override
This should return 1 is the subclass is using log scale for mapping scalars to colors.
void DeepCopy(vtkScalarsToColors *lut) override
Copy the contents from another LookupTable.
static vtkLookupTable * New()
Construct with range=[0,1]; and hsv ranges set up for rainbow color table (from red to blue).
static void GetColorAsUnsignedChars(const double colorIn[4], unsigned char colorOut[4])
Cast a double color in a type T color.
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 ...
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
Constants for offsets of special colors (e.g., NanColor, BelowRangeColor, AboveRangeColor) from the m...
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.
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 a rgba color value for the given index into the lookup table.
unsigned char * GetPointer(const vtkIdType id)
Get pointer to color table data.
double * GetTableValue(vtkIdType id)
Return a 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.
unsigned char * MapValue(double v) override
Map one value through the lookup table.
virtual void SetTableRange(double min, double max)
void SetTableRange(double r[2])
Set/Get the minimum/maximum scalar values for scalar mapping.
void SetRange(double rng[2])
void SetRange(double min, double max) override
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.
virtual void SetTableValue(vtkIdType indx, double rgba[4])
Directly load color into lookup table.
void SetScale(int scale)
Set the type of scale to use, linear or logarithmic.
vtkIdType GetNumberOfTableValues()
static double ApplyLogScale(double v, const double range[2], const double log_range[2])
Apply log to value, with appropriate constraints.
unsigned char * GetNanColorAsUnsignedChars()
Return the NanColor as a pointer to 4 unsigned chars.
double * GetRange() override
Sets/Gets the range of scalars which will be mapped.
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
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkTimeStamp BuildTime
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.