48 #ifndef vtkLookupTable_h
49 #define vtkLookupTable_h
51 #include "vtkCommonCoreModule.h"
57 #define VTK_RAMP_LINEAR 0
58 #define VTK_RAMP_SCURVE 1
59 #define VTK_RAMP_SQRT 2
60 #define VTK_SCALE_LINEAR 0
61 #define VTK_SCALE_LOG10 1
63 VTK_ABI_NAMESPACE_BEGIN
104 int Allocate(
int sz = 256,
int ext = 256);
110 void Build()
override;
119 virtual void ForceBuild();
124 void BuildSpecialColors();
139 vtkSetMacro(Ramp,
int);
143 vtkGetMacro(Ramp,
int);
152 void SetScale(
int scale);
155 vtkGetMacro(Scale,
int);
167 virtual void SetTableRange(
const double r[2]);
168 virtual void SetTableRange(
double min,
double max);
169 vtkGetVectorMacro(TableRange,
double, 2);
177 vtkSetVector2Macro(HueRange,
double);
178 vtkGetVector2Macro(HueRange,
double);
186 vtkSetVector2Macro(SaturationRange,
double);
187 vtkGetVector2Macro(SaturationRange,
double);
195 vtkSetVector2Macro(ValueRange,
double);
196 vtkGetVector2Macro(ValueRange,
double);
204 vtkSetVector2Macro(AlphaRange,
double);
205 vtkGetVector2Macro(AlphaRange,
double);
213 vtkSetVector4Macro(NanColor,
double);
214 vtkGetVector4Macro(NanColor,
double);
221 unsigned char* GetNanColorAsUnsignedChars();
226 static void GetColorAsUnsignedChars(
const double colorIn[4],
unsigned char colorOut[4]);
233 vtkSetVector4Macro(BelowRangeColor,
double);
234 vtkGetVector4Macro(BelowRangeColor,
double);
251 vtkSetVector4Macro(AboveRangeColor,
double);
252 vtkGetVector4Macro(AboveRangeColor,
double);
267 const unsigned char*
MapValue(
double v)
override;
273 void GetColor(
double v,
double rgb[3])
override;
297 void SetNumberOfTableValues(
vtkIdType number);
299 vtkIdType GetNumberOfTableValues() {
return this->NumberOfColors; }
309 virtual
void SetTableValue(
vtkIdType index, const
double rgba[4]);
316 virtual
void SetTableValue(
vtkIdType index,
double r,
double g,
double b,
double a = 1.0);
330 void GetTableValue(
vtkIdType index,
double rgba[4]);
336 unsigned char* GetPointer(
vtkIdType id) {
return this->Table->GetPointer(4 *
id); }
348 unsigned char* WritePointer(
vtkIdType id,
int number);
356 void SetRange(
double min,
double max)
override { this->SetTableRange(min, max); }
366 static void GetLogRange(
const double range[2],
double log_range[2]);
371 static double ApplyLogScale(
double v,
const double range[2],
const double log_range[2]);
401 int numberOfComponents,
int vectorComponent,
int outputFormat)
override;
436 double TableRange[2];
438 double SaturationRange[2];
439 double ValueRange[2];
440 double AlphaRange[2];
442 double BelowRangeColor[4];
444 double AboveRangeColor[4];
452 unsigned char NanColorChar[4];
461 void ResizeTableForSpecialColors();
475 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
#define VTK_MARSHAL_EXCLUDE_REASON_IS_REDUNDANT
void Modified()
Set this objects time to the current time.
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
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.
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
#define VTK_MARSHALEXCLUDE(reason)
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.
void MapScalarsThroughTable(vtkDataArray *scalars, unsigned char *output, int outputFormat)
Map a set of scalars through the lookup table in a single operation.