vtkColorTransferFunction Class Reference

#include <vtkColorTransferFunction.h>

Inheritance diagram for vtkColorTransferFunction:

Inheritance graph
[legend]
Collaboration diagram for vtkColorTransferFunction:

Collaboration graph
[legend]

List of all members.


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 55 of file vtkColorTransferFunction.h.


Public Types

typedef vtkScalarsToColors Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void DeepCopy (vtkColorTransferFunction *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 ()
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)
double * GetColor (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 double * GetRange ()
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 double * GetNanColor ()
virtual void GetNanColor (double &, double &, double &)
virtual void GetNanColor (double[3])
double * GetDataPointer ()
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 (vtkObject *o)

Protected Member Functions

 vtkColorTransferFunction ()
 ~vtkColorTransferFunction ()
void SortAndUpdateRange ()
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]
double * Function
double Range [2]
unsigned char UnsignedCharRGBAValue [4]
int AllowDuplicateScalars
vtkTimeStamp BuildTime
unsigned char * Table
int TableSize

Member Typedef Documentation

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

Definition at line 59 of file vtkColorTransferFunction.h.


Constructor & Destructor Documentation

vtkColorTransferFunction::vtkColorTransferFunction (  )  [protected]

vtkColorTransferFunction::~vtkColorTransferFunction (  )  [protected]


Member Function Documentation

static vtkColorTransferFunction* vtkColorTransferFunction::New (  )  [static]

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

Reimplemented from vtkObject.

Reimplemented in vtkDiscretizableColorTransferFunction.

virtual const char* vtkColorTransferFunction::GetClassName (  )  [virtual]

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.

static vtkColorTransferFunction* vtkColorTransferFunction::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

void vtkColorTransferFunction::DeepCopy ( vtkColorTransferFunction f  ) 

void vtkColorTransferFunction::ShallowCopy ( vtkColorTransferFunction f  ) 

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

Print method for vtkColorTransferFunction

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

int vtkColorTransferFunction::GetSize (  ) 

How many points are there defining this function?

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

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.

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

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.

int vtkColorTransferFunction::RemovePoint ( double  x  ) 

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

void vtkColorTransferFunction::RemoveAllPoints (  ) 

Remove all points

double* vtkColorTransferFunction::GetColor ( double  x  )  [inline]

Returns an RGB color for the specified scalar value

Reimplemented from vtkScalarsToColors.

Definition at line 96 of file vtkColorTransferFunction.h.

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

Returns an RGB color for the specified scalar value

Implements vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

double vtkColorTransferFunction::GetRedValue ( double  x  ) 

Get the color components individually.

double vtkColorTransferFunction::GetGreenValue ( double  x  ) 

Get the color components individually.

double vtkColorTransferFunction::GetBlueValue ( double  x  ) 

Get the color components individually.

int vtkColorTransferFunction::GetNodeValue ( int  index,
double  val[6] 
)

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

int vtkColorTransferFunction::SetNodeValue ( int  index,
double  val[6] 
)

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.

Implements vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

virtual double* vtkColorTransferFunction::GetRange (  )  [virtual]

Returns min and max position of all function points.

Implements 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.

int vtkColorTransferFunction::AdjustRange ( double  range[2]  ) 

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

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

Fills in a table of n function values between x1 and x2

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

Fills in a table of n function values between x1 and x2

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.

virtual int vtkColorTransferFunction::GetClamping (  )  [virtual]

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.

void vtkColorTransferFunction::SetColorSpaceToRGB (  )  [inline]

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 156 of file vtkColorTransferFunction.h.

void vtkColorTransferFunction::SetColorSpaceToHSV (  )  [inline]

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 157 of file vtkColorTransferFunction.h.

void vtkColorTransferFunction::SetColorSpaceToLab (  )  [inline]

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.

void vtkColorTransferFunction::SetColorSpaceToDiverging (  )  [inline]

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.

virtual int vtkColorTransferFunction::GetColorSpace (  )  [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::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.

virtual int vtkColorTransferFunction::GetHSVWrap (  )  [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::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.

void vtkColorTransferFunction::SetScaleToLinear (  )  [inline]

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 171 of file vtkColorTransferFunction.h.

void vtkColorTransferFunction::SetScaleToLog10 (  )  [inline]

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 172 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.

virtual double* vtkColorTransferFunction::GetNanColor (  )  [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 &  ,
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].

double* vtkColorTransferFunction::GetDataPointer (  ) 

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

void vtkColorTransferFunction::FillFromDataPointer ( int  ,
double *   
)

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

Implements vtkScalarsToColors.

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

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

virtual int vtkColorTransferFunction::GetAllowDuplicateScalars (  )  [virtual]

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

virtual void vtkColorTransferFunction::AllowDuplicateScalarsOn (  )  [virtual]

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

virtual void vtkColorTransferFunction::AllowDuplicateScalarsOff (  )  [virtual]

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

virtual vtkIdType vtkColorTransferFunction::GetNumberOfAvailableColors (  )  [virtual]

Get the number of available colors for mapping to.

Implements vtkScalarsToColors.

Reimplemented in vtkDiscretizableColorTransferFunction.

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.

Implements vtkScalarsToColors.

Definition at line 249 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 250 of file vtkColorTransferFunction.h.

void vtkColorTransferFunction::SortAndUpdateRange (  )  [protected]

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 212 of file vtkColorTransferFunction.h.

Definition at line 218 of file vtkColorTransferFunction.h.

Definition at line 221 of file vtkColorTransferFunction.h.

Definition at line 224 of file vtkColorTransferFunction.h.

Definition at line 227 of file vtkColorTransferFunction.h.

double vtkColorTransferFunction::NanColor[3] [protected]

Definition at line 230 of file vtkColorTransferFunction.h.

Definition at line 232 of file vtkColorTransferFunction.h.

double vtkColorTransferFunction::Range[2] [protected]

Definition at line 235 of file vtkColorTransferFunction.h.

Definition at line 238 of file vtkColorTransferFunction.h.

Definition at line 240 of file vtkColorTransferFunction.h.

Reimplemented in vtkDiscretizableColorTransferFunction.

Definition at line 242 of file vtkColorTransferFunction.h.

unsigned char* vtkColorTransferFunction::Table [protected]

Definition at line 243 of file vtkColorTransferFunction.h.

Definition at line 244 of file vtkColorTransferFunction.h.


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

Generated on Wed Aug 24 11:31:34 2011 for VTK by  doxygen 1.5.6