VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkColorTransferFunction Class Reference

Defines a transfer function for mapping a property to an RGB color value. More...

#include <vtkColorTransferFunction.h>

Inheritance diagram for vtkColorTransferFunction:
Inheritance graph
[legend]
Collaboration diagram for vtkColorTransferFunction:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkScalarsToColors Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkColorTransferFunctionNewInstance () const
void DeepCopy (vtkScalarsToColors *f)
void ShallowCopy (vtkColorTransferFunction *f)
void PrintSelf (ostream &os, vtkIndent indent)
int GetSize ()
void RemoveAllPoints ()
virtual unsigned char * MapValue (double v)
int AdjustRange (double range[2])
void BuildFunctionFromTable (double x1, double x2, int size, double *table)
virtual vtkIdType GetNumberOfAvailableColors ()
virtual void GetIndexedColor (vtkIdType idx, double rgba[4])
int AddRGBPoint (double x, double r, double g, double b)
int AddRGBPoint (double x, double r, double g, double b, double midpoint, double sharpness)
int AddHSVPoint (double x, double h, double s, double v)
int AddHSVPoint (double x, double h, double s, double v, double midpoint, double sharpness)
int RemovePoint (double x)
void AddRGBSegment (double x1, double r1, double g1, double b1, double x2, double r2, double g2, double b2)
void AddHSVSegment (double x1, double h1, double s1, double v1, double x2, double h2, double s2, double v2)
doubleGetColor (double x)
void GetColor (double x, double rgb[3])
double GetRedValue (double x)
double GetGreenValue (double x)
double GetBlueValue (double x)
int GetNodeValue (int index, double val[6])
int SetNodeValue (int index, double val[6])
virtual doubleGetRange ()
virtual void GetRange (double &, double &)
virtual void GetRange (double[2])
void GetTable (double x1, double x2, int n, double *table)
void GetTable (double x1, double x2, int n, float *table)
const unsigned char * GetTable (double x1, double x2, int n)
virtual void SetClamping (int)
virtual int GetClamping ()
virtual void ClampingOn ()
virtual void ClampingOff ()
virtual void SetColorSpace (int)
void SetColorSpaceToRGB ()
void SetColorSpaceToHSV ()
void SetColorSpaceToLab ()
void SetColorSpaceToDiverging ()
virtual int GetColorSpace ()
virtual void SetHSVWrap (int)
virtual int GetHSVWrap ()
virtual void HSVWrapOn ()
virtual void HSVWrapOff ()
virtual void SetScale (int)
void SetScaleToLinear ()
void SetScaleToLog10 ()
virtual int GetScale ()
virtual void SetNanColor (double, double, double)
virtual void SetNanColor (double[3])
virtual doubleGetNanColor ()
virtual void GetNanColor (double &, double &, double &)
virtual void GetNanColor (double[3])
doubleGetDataPointer ()
void FillFromDataPointer (int, double *)
virtual void MapScalarsThroughTable2 (void *input, unsigned char *output, int inputDataType, int numberOfValues, int inputIncrement, int outputIncrement)
virtual void SetAllowDuplicateScalars (int)
virtual int GetAllowDuplicateScalars ()
virtual void AllowDuplicateScalarsOn ()
virtual void AllowDuplicateScalarsOff ()

Static Public Member Functions

static vtkColorTransferFunctionNew ()
static int IsTypeOf (const char *type)
static vtkColorTransferFunctionSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkColorTransferFunction ()
 ~vtkColorTransferFunction ()
void SortAndUpdateRange ()
bool UpdateRange ()
void MovePoint (double oldX, double newX)
virtual void SetRange (double, double)
void SetRange (double rng[2])

Protected Attributes

vtkColorTransferFunctionInternals * Internal
int Clamping
int ColorSpace
int HSVWrap
int Scale
double NanColor [3]
doubleFunction
double Range [2]
unsigned char UnsignedCharRGBAValue [4]
int AllowDuplicateScalars
vtkTimeStamp BuildTime
unsigned char * Table
int TableSize

Detailed Description

Defines a transfer function for mapping a property to an RGB color value.

vtkColorTransferFunction is a color mapping in RGB or HSV space that uses piecewise hermite functions to allow interpolation that can be piecewise constant, piecewise linear, or somewhere in-between (a modified piecewise hermite function that squishes the function according to a sharpness parameter). The function also allows for the specification of the midpoint (the place where the function reaches the average of the two bounding nodes) as a normalize distance between nodes. See the description of class vtkPiecewiseFunction for an explanation of midpoint and sharpness.

See also:
vtkPiecewiseFunction
Examples:
vtkColorTransferFunction (Examples)
Tests:
vtkColorTransferFunction (Tests)

Definition at line 56 of file vtkColorTransferFunction.h.


Member Typedef Documentation

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

Definition at line 60 of file vtkColorTransferFunction.h.


Constructor & Destructor Documentation


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

static int vtkColorTransferFunction::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

virtual int vtkColorTransferFunction::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

virtual vtkObjectBase* vtkColorTransferFunction::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

Copy the contents from another object.

Reimplemented from vtkScalarsToColors.

void vtkColorTransferFunction::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Print method for vtkColorTransferFunction

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

How many points are there defining this function?

Add/Remove a point to/from the function defined in RGB or HSV Return the index of the point (0 based), or -1 on error. See the description of class vtkPiecewiseFunction for an explanation of midpoint and sharpness.

int vtkColorTransferFunction::AddRGBPoint ( double  x,
double  r,
double  g,
double  b,
double  midpoint,
double  sharpness 
)

Add/Remove a point to/from the function defined in RGB or HSV Return the index of the point (0 based), or -1 on error. See the description of class vtkPiecewiseFunction for an explanation of midpoint and sharpness.

Add/Remove a point to/from the function defined in RGB or HSV Return the index of the point (0 based), or -1 on error. See the description of class vtkPiecewiseFunction for an explanation of midpoint and sharpness.

int vtkColorTransferFunction::AddHSVPoint ( double  x,
double  h,
double  s,
double  v,
double  midpoint,
double  sharpness 
)

Add/Remove a point to/from the function defined in RGB or HSV Return the index of the point (0 based), or -1 on error. See the description of class vtkPiecewiseFunction for an explanation of midpoint and sharpness.

Add/Remove a point to/from the function defined in RGB or HSV Return the index of the point (0 based), or -1 on error. See the description of class vtkPiecewiseFunction for an explanation of midpoint and sharpness.

void vtkColorTransferFunction::AddRGBSegment ( double  x1,
double  r1,
double  g1,
double  b1,
double  x2,
double  r2,
double  g2,
double  b2 
)

Add two points to the function and remove all the points between them

void vtkColorTransferFunction::AddHSVSegment ( double  x1,
double  h1,
double  s1,
double  v1,
double  x2,
double  h2,
double  s2,
double  v2 
)

Add two points to the function and remove all the points between them

Remove all points

Returns an RGB color for the specified scalar value

Reimplemented from vtkScalarsToColors.

Definition at line 97 of file vtkColorTransferFunction.h.

void vtkColorTransferFunction::GetColor ( double  x,
double  rgb[3] 
) [virtual]

Returns an RGB color for the specified scalar value

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

Get the color components individually.

Get the color components individually.

Get the color components individually.

For the node specified by index, set/get the location (X), R, G, and B values, midpoint, and sharpness values at the node.

For the node specified by index, set/get the location (X), R, G, and B values, midpoint, and sharpness values at the node.

virtual unsigned char* vtkColorTransferFunction::MapValue ( double  v) [virtual]

Map one value through the lookup table.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

Returns min and max position of all function points.

Reimplemented from vtkScalarsToColors.

virtual void vtkColorTransferFunction::GetRange ( double ,
double  
) [virtual]

Returns min and max position of all function points.

virtual void vtkColorTransferFunction::GetRange ( double  [2]) [virtual]

Returns min and max position of all function points.

Remove all points out of the new range, and make sure there is a point at each end of that range. Return 1 on success, 0 otherwise.

void vtkColorTransferFunction::GetTable ( double  x1,
double  x2,
int  n,
double table 
)

Fills in a table of n function values between x1 and x2. Note that GetTable ignores IndexedLookup

void vtkColorTransferFunction::GetTable ( double  x1,
double  x2,
int  n,
float table 
)

Fills in a table of n function values between x1 and x2. Note that GetTable ignores IndexedLookup

const unsigned char* vtkColorTransferFunction::GetTable ( double  x1,
double  x2,
int  n 
)

Fills in a table of n function values between x1 and x2. Note that GetTable ignores IndexedLookup

void vtkColorTransferFunction::BuildFunctionFromTable ( double  x1,
double  x2,
int  size,
double table 
)

Construct a color transfer function from a table. Function range is is set to [x1, x2], each function size is set to size, and function points are regularly spaced between x1 and x2. Parameter "table" is assumed to be a block of memory of size [3*size]

virtual void vtkColorTransferFunction::SetClamping ( int  ) [virtual]

Sets and gets the clamping value for this transfer function.

Sets and gets the clamping value for this transfer function.

virtual void vtkColorTransferFunction::ClampingOn ( ) [virtual]

Sets and gets the clamping value for this transfer function.

virtual void vtkColorTransferFunction::ClampingOff ( ) [virtual]

Sets and gets the clamping value for this transfer function.

virtual void vtkColorTransferFunction::SetColorSpace ( int  ) [virtual]

Set/Get the color space used for interpolation: RGB, HSV, CIELAB, or Diverging. In HSV mode, if HSVWrap is on, it will take the shortest path in Hue (going back through 0 if that is the shortest way around the hue circle) whereas if HSVWrap is off it will not go through 0 (in order the match the current functionality of vtkLookupTable). Diverging is a special mode where colors will pass through white when interpolating between two saturated colors.

Set/Get the color space used for interpolation: RGB, HSV, CIELAB, or Diverging. In HSV mode, if HSVWrap is on, it will take the shortest path in Hue (going back through 0 if that is the shortest way around the hue circle) whereas if HSVWrap is off it will not go through 0 (in order the match the current functionality of vtkLookupTable). Diverging is a special mode where colors will pass through white when interpolating between two saturated colors.

Definition at line 158 of file vtkColorTransferFunction.h.

Set/Get the color space used for interpolation: RGB, HSV, CIELAB, or Diverging. In HSV mode, if HSVWrap is on, it will take the shortest path in Hue (going back through 0 if that is the shortest way around the hue circle) whereas if HSVWrap is off it will not go through 0 (in order the match the current functionality of vtkLookupTable). Diverging is a special mode where colors will pass through white when interpolating between two saturated colors.

Definition at line 159 of file vtkColorTransferFunction.h.

Set/Get the color space used for interpolation: RGB, HSV, CIELAB, or Diverging. In HSV mode, if HSVWrap is on, it will take the shortest path in Hue (going back through 0 if that is the shortest way around the hue circle) whereas if HSVWrap is off it will not go through 0 (in order the match the current functionality of vtkLookupTable). Diverging is a special mode where colors will pass through white when interpolating between two saturated colors.

Definition at line 160 of file vtkColorTransferFunction.h.

Set/Get the color space used for interpolation: RGB, HSV, CIELAB, or Diverging. In HSV mode, if HSVWrap is on, it will take the shortest path in Hue (going back through 0 if that is the shortest way around the hue circle) whereas if HSVWrap is off it will not go through 0 (in order the match the current functionality of vtkLookupTable). Diverging is a special mode where colors will pass through white when interpolating between two saturated colors.

Definition at line 161 of file vtkColorTransferFunction.h.

Set/Get the color space used for interpolation: RGB, HSV, CIELAB, or Diverging. In HSV mode, if HSVWrap is on, it will take the shortest path in Hue (going back through 0 if that is the shortest way around the hue circle) whereas if HSVWrap is off it will not go through 0 (in order the match the current functionality of vtkLookupTable). Diverging is a special mode where colors will pass through white when interpolating between two saturated colors.

virtual void vtkColorTransferFunction::SetHSVWrap ( int  ) [virtual]

Set/Get the color space used for interpolation: RGB, HSV, CIELAB, or Diverging. In HSV mode, if HSVWrap is on, it will take the shortest path in Hue (going back through 0 if that is the shortest way around the hue circle) whereas if HSVWrap is off it will not go through 0 (in order the match the current functionality of vtkLookupTable). Diverging is a special mode where colors will pass through white when interpolating between two saturated colors.

Set/Get the color space used for interpolation: RGB, HSV, CIELAB, or Diverging. In HSV mode, if HSVWrap is on, it will take the shortest path in Hue (going back through 0 if that is the shortest way around the hue circle) whereas if HSVWrap is off it will not go through 0 (in order the match the current functionality of vtkLookupTable). Diverging is a special mode where colors will pass through white when interpolating between two saturated colors.

virtual void vtkColorTransferFunction::HSVWrapOn ( ) [virtual]

Set/Get the color space used for interpolation: RGB, HSV, CIELAB, or Diverging. In HSV mode, if HSVWrap is on, it will take the shortest path in Hue (going back through 0 if that is the shortest way around the hue circle) whereas if HSVWrap is off it will not go through 0 (in order the match the current functionality of vtkLookupTable). Diverging is a special mode where colors will pass through white when interpolating between two saturated colors.

virtual void vtkColorTransferFunction::HSVWrapOff ( ) [virtual]

Set/Get the color space used for interpolation: RGB, HSV, CIELAB, or Diverging. In HSV mode, if HSVWrap is on, it will take the shortest path in Hue (going back through 0 if that is the shortest way around the hue circle) whereas if HSVWrap is off it will not go through 0 (in order the match the current functionality of vtkLookupTable). Diverging is a special mode where colors will pass through white when interpolating between two saturated colors.

virtual void vtkColorTransferFunction::SetScale ( int  ) [virtual]

Set the type of scale to use, linear or logarithmic. The default is linear. If the scale is logarithmic, and the range contains zero, the color mapping will be linear.

Set the type of scale to use, linear or logarithmic. The default is linear. If the scale is logarithmic, and the range contains zero, the color mapping will be linear.

Definition at line 173 of file vtkColorTransferFunction.h.

Set the type of scale to use, linear or logarithmic. The default is linear. If the scale is logarithmic, and the range contains zero, the color mapping will be linear.

Definition at line 174 of file vtkColorTransferFunction.h.

virtual int vtkColorTransferFunction::GetScale ( ) [virtual]

Set the type of scale to use, linear or logarithmic. The default is linear. If the scale is logarithmic, and the range contains zero, the color mapping will be linear.

virtual void vtkColorTransferFunction::SetNanColor ( double  ,
double  ,
double   
) [virtual]

Set the color to use when a NaN (not a number) is encountered. This is an RGB 3-tuple color of doubles in the range [0,1].

Reimplemented in vtkDiscretizableColorTransferFunction.

virtual void vtkColorTransferFunction::SetNanColor ( double  [3]) [virtual]

Set the color to use when a NaN (not a number) is encountered. This is an RGB 3-tuple color of doubles in the range [0,1].

Reimplemented in vtkDiscretizableColorTransferFunction.

Set the color to use when a NaN (not a number) is encountered. This is an RGB 3-tuple color of doubles in the range [0,1].

virtual void vtkColorTransferFunction::GetNanColor ( double ,
double ,
double  
) [virtual]

Set the color to use when a NaN (not a number) is encountered. This is an RGB 3-tuple color of doubles in the range [0,1].

virtual void vtkColorTransferFunction::GetNanColor ( double  [3]) [virtual]

Set the color to use when a NaN (not a number) is encountered. This is an RGB 3-tuple color of doubles in the range [0,1].

Returns a list of all nodes Fills from a pointer to data stored in a similar list of nodes.

Returns a list of all nodes Fills from a pointer to data stored in a similar list of nodes.

virtual void vtkColorTransferFunction::MapScalarsThroughTable2 ( void *  input,
unsigned char *  output,
int  inputDataType,
int  numberOfValues,
int  inputIncrement,
int  outputIncrement 
) [virtual]

map a set of scalars through the lookup table

Reimplemented from vtkScalarsToColors.

Toggle whether to allow duplicate scalar values in the color transfer function (off by default).

Toggle whether to allow duplicate scalar values in the color transfer function (off by default).

Toggle whether to allow duplicate scalar values in the color transfer function (off by default).

Toggle whether to allow duplicate scalar values in the color transfer function (off by default).

Get the number of available colors for mapping to.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

virtual void vtkColorTransferFunction::GetIndexedColor ( vtkIdType  idx,
double  rgba[4] 
) [virtual]

Return a color given an integer index. This is used to assign colors to annotations (given an offset into the list of annotations). If there are no control points or idx < 0, then NanColor is returned.

Reimplemented from vtkScalarsToColors.

virtual void vtkColorTransferFunction::SetRange ( double  ,
double   
) [inline, protected, virtual]

Set the range of scalars being mapped. The set has no functionality in this subclass of vtkScalarsToColors.

Reimplemented from vtkScalarsToColors.

Definition at line 256 of file vtkColorTransferFunction.h.

void vtkColorTransferFunction::SetRange ( double  rng[2]) [inline, protected]

Set the range of scalars being mapped. The set has no functionality in this subclass of vtkScalarsToColors.

Reimplemented from vtkScalarsToColors.

Definition at line 257 of file vtkColorTransferFunction.h.

void vtkColorTransferFunction::MovePoint ( double  oldX,
double  newX 
) [protected]

Moves point from oldX to newX. It removed the point from oldX. If any point existed at newX, it will also be removed.


Member Data Documentation

vtkColorTransferFunctionInternals* vtkColorTransferFunction::Internal [protected]

Definition at line 219 of file vtkColorTransferFunction.h.

Definition at line 225 of file vtkColorTransferFunction.h.

Definition at line 228 of file vtkColorTransferFunction.h.

Definition at line 231 of file vtkColorTransferFunction.h.

Definition at line 234 of file vtkColorTransferFunction.h.

Definition at line 237 of file vtkColorTransferFunction.h.

Definition at line 239 of file vtkColorTransferFunction.h.

Definition at line 242 of file vtkColorTransferFunction.h.

Definition at line 245 of file vtkColorTransferFunction.h.

Definition at line 247 of file vtkColorTransferFunction.h.

Reimplemented in vtkDiscretizableColorTransferFunction.

Definition at line 249 of file vtkColorTransferFunction.h.

unsigned char* vtkColorTransferFunction::Table [protected]

Definition at line 250 of file vtkColorTransferFunction.h.

Definition at line 251 of file vtkColorTransferFunction.h.


The documentation for this class was generated from the following file: