VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkDiscretizableColorTransferFunction.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00029 #ifndef __vtkDiscretizableColorTransferFunction_h 00030 #define __vtkDiscretizableColorTransferFunction_h 00031 00032 #include "vtkColorTransferFunction.h" 00033 00034 class vtkLookupTable; 00035 class vtkColorTransferFunction; 00036 00037 class VTK_FILTERING_EXPORT vtkDiscretizableColorTransferFunction : public vtkColorTransferFunction 00038 { 00039 public: 00040 static vtkDiscretizableColorTransferFunction* New(); 00041 vtkTypeMacro(vtkDiscretizableColorTransferFunction, vtkColorTransferFunction); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00047 virtual void Build(); 00048 00050 00054 vtkSetMacro(Discretize, int); 00055 vtkGetMacro(Discretize, int); 00056 vtkBooleanMacro(Discretize, int); 00058 00060 00062 virtual void SetUseLogScale(int useLogScale); 00063 vtkGetMacro(UseLogScale, int); 00065 00067 00070 void SetNumberOfValues(vtkIdType number); 00071 vtkGetMacro(NumberOfValues, vtkIdType); 00073 00076 virtual unsigned char *MapValue(double v); 00077 00080 virtual void GetColor(double v, double rgb[3]); 00081 00083 00092 virtual vtkUnsignedCharArray *MapScalars(vtkDataArray *scalars, int colorMode, 00093 int component); 00095 00097 double* GetRGBPoints(); 00098 00103 virtual void SetAlpha(double alpha); 00104 00105 00107 00110 virtual void SetNanColor(double r, double g, double b); 00111 virtual void SetNanColor(double rgb[3]) { 00112 this->SetNanColor(rgb[0], rgb[1], rgb[2]); 00113 } 00115 00116 00118 00120 virtual int UsingLogScale() 00121 { return this->UseLogScale; } 00123 00125 virtual vtkIdType GetNumberOfAvailableColors(); 00126 00127 protected: 00128 vtkDiscretizableColorTransferFunction(); 00129 ~vtkDiscretizableColorTransferFunction(); 00130 00131 int Discretize; 00132 int UseLogScale; 00133 00134 vtkIdType NumberOfValues; 00135 vtkLookupTable* LookupTable; 00136 00137 vtkTimeStamp BuildTime; 00138 private: 00139 vtkDiscretizableColorTransferFunction(const vtkDiscretizableColorTransferFunction&); // Not implemented. 00140 void operator=(const vtkDiscretizableColorTransferFunction&); // Not implemented. 00141 00142 // Pointer used by GetRGBPoints(). 00143 double* Data; 00144 }; 00145 00146 #endif 00147