1 /*=========================================================================
2 
3   Program:   Visualization Toolkit
4   Module:    vtkColorTransferFunctionItem.h
5 
6   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7   All rights reserved.
8   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10      This software is distributed WITHOUT ANY WARRANTY; without even
11      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12      PURPOSE.  See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
16 #ifndef vtkColorTransferFunctionItem_h
17 #define vtkColorTransferFunctionItem_h
18 
19 #include "vtkChartsCoreModule.h" // For export macro
20 #include "vtkScalarsToColorsItem.h"
21 
22 class vtkColorTransferFunction;
23 class vtkImageData;
24 
25 // Description:
26 // vtkPlot::Color, vtkPlot::Brush, vtkScalarsToColors::DrawPolyLine,
27 // vtkScalarsToColors::MaskAboveCurve have no effect here.
28 class VTKCHARTSCORE_EXPORT vtkColorTransferFunctionItem: public vtkScalarsToColorsItem
29 {
30 public:
31   static vtkColorTransferFunctionItem* New();
32   vtkTypeMacro(vtkColorTransferFunctionItem, vtkScalarsToColorsItem);
33   virtual void PrintSelf(ostream &os, vtkIndent indent);
34 
35   void SetColorTransferFunction(vtkColorTransferFunction* t);
36   vtkGetObjectMacro(ColorTransferFunction, vtkColorTransferFunction);
37 
38 protected:
39   vtkColorTransferFunctionItem();
40   virtual ~vtkColorTransferFunctionItem();
41 
42   // Description:
43   // Returns true if we are rendering in log space.
44   virtual bool UsingLogScale();
45 
46 
47   // Description:
48   // Reimplemented to return the range of the lookup table
49   virtual void ComputeBounds(double bounds[4]);
50 
51   virtual void ComputeTexture();
52   vtkColorTransferFunction* ColorTransferFunction;
53 private:
54   vtkColorTransferFunctionItem(const vtkColorTransferFunctionItem&); // Not implemented
55   void operator=(const vtkColorTransferFunctionItem&); // Not implemented
56 };
57 
58 #endif
59