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 109 int Allocate(
int sz=256,
int ext=256);
115 void Build()
override;
124 virtual void ForceBuild();
129 void BuildSpecialColors();
144 vtkSetMacro(Ramp,
int);
148 vtkGetMacro(Ramp,
int);
157 void SetScale(
int scale);
160 vtkGetMacro(Scale,
int);
172 virtual void SetTableRange(
const double r[2]);
173 virtual void SetTableRange(
double min,
double max);
174 vtkGetVectorMacro(TableRange,
double,2);
182 vtkSetVector2Macro(HueRange,
double);
183 vtkGetVector2Macro(HueRange,
double);
191 vtkSetVector2Macro(SaturationRange,
double);
192 vtkGetVector2Macro(SaturationRange,
double);
200 vtkSetVector2Macro(ValueRange,
double);
201 vtkGetVector2Macro(ValueRange,
double);
209 vtkSetVector2Macro(AlphaRange,
double);
210 vtkGetVector2Macro(AlphaRange,
double);
218 vtkSetVector4Macro(NanColor,
double);
219 vtkGetVector4Macro(NanColor,
double);
226 unsigned char* GetNanColorAsUnsignedChars();
231 static void GetColorAsUnsignedChars(
const double colorIn[4],
232 unsigned char colorOut[4]);
239 vtkSetVector4Macro(BelowRangeColor,
double);
240 vtkGetVector4Macro(BelowRangeColor,
double);
257 vtkSetVector4Macro(AboveRangeColor,
double);
258 vtkGetVector4Macro(AboveRangeColor,
double);
273 const unsigned char*
MapValue(
double v)
override;
279 void GetColor(
double x,
double rgb[3])
override;
302 void SetNumberOfTableValues(
vtkIdType number);
312 virtual void SetTableValue(
vtkIdType indx,
const double rgba[4]);
318 virtual void SetTableValue(
vtkIdType indx,
319 double r,
double g,
double b,
double a=1.0);
331 void GetTableValue(
vtkIdType id,
double rgba[4]);
338 return this->Table->GetPointer(4*
id); }
350 unsigned char *WritePointer(
vtkIdType id,
int number);
358 {
return this->GetTableRange(); }
360 { this->SetTableRange(min, max); }
370 static void GetLogRange(
const double range[2],
double log_range[2]);
375 static double ApplyLogScale(
double v,
const double range[2],
376 const double log_range[2]);
405 unsigned char *output,
409 int outputIncrement)
override;
445 double TableRange[2];
447 double SaturationRange[2];
448 double ValueRange[2];
449 double AlphaRange[2];
451 double BelowRangeColor[4];
453 double AboveRangeColor[4];
461 unsigned char NanColorChar[4];
470 void ResizeTableForSpecialColors();
481 this->InsertTime.Modified();
482 return this->Table->WritePointer(4*
id, 4*number);
void SetRampToLinear()
Set the shape of the table ramp to either S-curve, linear, or sqrt.
vtkTimeStamp OpaqueFlagBuildTime
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
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.
int UsingLogScale() override
This should return 1 if the subclass is using log scale for mapping scalars to colors.
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()
virtual int IsOpaque()
Return true if all of the values defining the mapping have an opacity equal to 1. ...
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...
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.