40 #ifndef __vtkColorTransferFunction_h
41 #define __vtkColorTransferFunction_h
43 #include "vtkRenderingCoreModule.h"
46 class vtkColorTransferFunctionInternals;
51 #define VTK_CTF_DIVERGING 3
53 #define VTK_CTF_LINEAR 0
54 #define VTK_CTF_LOG10 1
75 int AddRGBPoint(
double x,
double r,
double g,
double b );
76 int AddRGBPoint(
double x,
double r,
double g,
double b,
77 double midpoint,
double sharpness );
78 int AddHSVPoint(
double x,
double h,
double s,
double v );
79 int AddHSVPoint(
double x,
double h,
double s,
double v,
80 double midpoint,
double sharpness );
81 int RemovePoint(
double x );
86 void AddRGBSegment(
double x1,
double r1,
double g1,
double b1,
87 double x2,
double r2,
double g2,
double b2 );
88 void AddHSVSegment(
double x1,
double h1,
double s1,
double v1,
89 double x2,
double h2,
double s2,
double v2 );
93 void RemoveAllPoints();
99 void GetColor(
double x,
double rgb[3]);
104 double GetRedValue(
double x );
105 double GetGreenValue(
double x );
106 double GetBlueValue(
double x );
112 int GetNodeValue(
int index,
double val[6] );
113 int SetNodeValue(
int index,
double val[6] );
117 virtual unsigned char *
MapValue(
double v);
121 vtkGetVector2Macro( Range,
double );
126 int AdjustRange(
double range[2]);
130 void GetTable(
double x1,
double x2,
int n,
double* table );
131 void GetTable(
double x1,
double x2,
int n,
float* table );
132 const unsigned char *GetTable(
double x1,
double x2,
int n);
139 void BuildFunctionFromTable(
double x1,
double x2,
int size,
double *table);
143 vtkSetClampMacro( Clamping,
int, 0, 1 );
144 vtkGetMacro( Clamping,
int );
145 vtkBooleanMacro( Clamping,
int );
161 vtkGetMacro( ColorSpace,
int );
162 vtkSetMacro(HSVWrap,
int);
163 vtkGetMacro(HSVWrap,
int);
164 vtkBooleanMacro(HSVWrap,
int);
171 vtkSetMacro(Scale,
int);
174 vtkGetMacro(Scale,
int);
180 vtkSetVector3Macro(NanColor,
double);
181 vtkGetVector3Macro(NanColor,
double);
187 double *GetDataPointer();
188 void FillFromDataPointer(
int,
double*);
194 int inputDataType,
int numberOfValues,
195 int inputIncrement,
int outputIncrement);
201 vtkSetMacro(AllowDuplicateScalars,
int);
202 vtkGetMacro(AllowDuplicateScalars,
int);
203 vtkBooleanMacro(AllowDuplicateScalars,
int);
239 unsigned char UnsignedCharRGBAValue[4];
257 void SortAndUpdateRange();
263 void MovePoint(
double oldX,
double newX);