48 #ifndef vtkLookupTable_h
49 #define vtkLookupTable_h
51 #include "vtkCommonCoreModule.h"
56 #define VTK_RAMP_LINEAR 0
57 #define VTK_RAMP_SCURVE 1
58 #define VTK_RAMP_SQRT 2
59 #define VTK_SCALE_LINEAR 0
60 #define VTK_SCALE_LOG10 1
62 VTK_ABI_NAMESPACE_BEGIN
103 int Allocate(
int sz = 256,
int ext = 256);
109 void Build()
override;
118 virtual void ForceBuild();
123 void BuildSpecialColors();
138 vtkSetMacro(Ramp,
int);
142 vtkGetMacro(Ramp,
int);
151 void SetScale(
int scale);
154 vtkGetMacro(Scale,
int);
166 virtual void SetTableRange(
const double r[2]);
167 virtual void SetTableRange(
double min,
double max);
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);
220 unsigned char* GetNanColorAsUnsignedChars();
225 static void GetColorAsUnsignedChars(
const double colorIn[4],
unsigned char colorOut[4]);
232 vtkSetVector4Macro(BelowRangeColor,
double);
233 vtkGetVector4Macro(BelowRangeColor,
double);
250 vtkSetVector4Macro(AboveRangeColor,
double);
251 vtkGetVector4Macro(AboveRangeColor,
double);
266 const unsigned char*
MapValue(
double v)
override;
272 void GetColor(
double v,
double rgb[3])
override;
295 void SetNumberOfTableValues(
vtkIdType number);
305 virtual void SetTableValue(
vtkIdType indx,
const double rgba[4]);
311 virtual void SetTableValue(
vtkIdType indx,
double r,
double g,
double b,
double a = 1.0);
323 void GetTableValue(
vtkIdType indx,
double rgba[4]);
341 unsigned char* WritePointer(
vtkIdType id,
int number);
349 void SetRange(
double min,
double max)
override { this->SetTableRange(min, max); }
359 static void GetLogRange(
const double range[2],
double log_range[2]);
364 static double ApplyLogScale(
double v,
const double range[2],
const double log_range[2]);
393 int numberOfValues,
int inputIncrement,
int outputFormat)
override;
426 double TableRange[2];
428 double SaturationRange[2];
429 double ValueRange[2];
430 double AlphaRange[2];
432 double BelowRangeColor[4];
434 double AboveRangeColor[4];
442 unsigned char NanColorChar[4];
451 void ResizeTableForSpecialColors();
465 VTK_ABI_NAMESPACE_END
void SetRampToLinear()
Set the shape of the table ramp to either S-curve, linear, or sqrt.
virtual vtkTypeBool IsOpaque()
Return true if all of the values defining the mapping have an opacity equal to 1. ...
ValueType * WritePointer(vtkIdType valueIdx, vtkIdType numValues)
Get the address of a particular data index.
vtkTimeStamp OpaqueFlagBuildTime
Abstract superclass for all arrays.
vtkTimeStamp SpecialColorsBuildTime
vtkTypeBool UseBelowRangeColor
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...
map scalar values into colors via a lookup table
void Modified()
Set this objects time to the current time.
virtual void MapScalarsThroughTable2(void *input, unsigned char *output, int inputDataType, int numberOfValues, int inputIncrement, int outputFormat)
An internal method typically not used in applications.
unsigned char * WritePointer(vtkIdType id, int number)
Get pointer to data.
void SetRange(double min, double max) override
Sets/Gets the range of scalars which will be mapped.
static const vtkIdType NUMBER_OF_SPECIAL_COLORS
Constants for offsets of special colors (e.g., NanColor, BelowRangeColor, AboveRangeColor) from the m...
double * GetRange() override
Sets/Gets the range of scalars which will be mapped.
void SetScaleToLog10()
Set the type of scale to use, linear or logarithmic.
virtual const unsigned char * MapValue(double v)
Map one value through the lookup table and return a color defined as an RGBA unsigned char tuple (4 b...
void SetRampToSCurve()
Set the shape of the table ramp to either S-curve, linear, or sqrt.
Superclass for mapping scalar values to colors.
vtkTypeBool UseAboveRangeColor
virtual double GetOpacity(double v)
Map one value through the lookup table and return the alpha value (the opacity) as a double between 0...
static vtkScalarsToColors * New()
void SetScaleToLinear()
Set the type of scale to use, linear or logarithmic.
void SetRange(const double rng[2]) override
Sets/Gets the range of scalars which will be mapped.
a simple class to control print indentation
unsigned char * GetPointer(vtkIdType id)
Get pointer to color table data.
virtual void GetColor(double v, double rgb[3])
Map one value through the lookup table and store the color as an RGB array of doubles between 0 and 1...
vtkTypeBool UsingLogScale() override
This should return 1 if the subclass is using log scale for mapping scalars to colors.
vtkIdType GetNumberOfTableValues()
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.
#define VTK_SIZEHINT(...)
static const vtkIdType NAN_COLOR_INDEX
Constants for offsets of special colors (e.g., NanColor, BelowRangeColor, AboveRangeColor) from the m...
dynamic, self-adjusting array of unsigned char
vtkUnsignedCharArray * Table
virtual void GetIndexedColor(vtkIdType i, double rgba[4])
Get the "indexed color" assigned to an index.
void SetRampToSQRT()
Set the shape of the table ramp to either S-curve, linear, or sqrt.
virtual void Build()
Perform any processing required (if any) before processing scalars.
static const vtkIdType BELOW_RANGE_COLOR_INDEX
Constants for offsets of special colors (e.g., NanColor, BelowRangeColor, AboveRangeColor) from the m...
virtual void DeepCopy(vtkScalarsToColors *o)
Copy the contents from another object.
static const vtkIdType ABOVE_RANGE_COLOR_INDEX
Constants for offsets of special colors (e.g., NanColor, BelowRangeColor, AboveRangeColor) from the m...
virtual vtkIdType GetNumberOfAvailableColors()
Get the number of available colors for mapping to.