00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCompositeTransferFunctionItem.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 =========================================================================*/ 00015 00016 #ifndef __vtkCompositeTransferFunctionItem_h 00017 #define __vtkCompositeTransferFunctionItem_h 00018 00019 #include "vtkColorTransferFunctionItem.h" 00020 00021 class vtkPiecewiseFunction; 00022 00023 // Description: 00024 // vtkPlot::Color and vtkPlot::Brush have no effect here. 00025 class VTK_CHARTS_EXPORT vtkCompositeTransferFunctionItem: public vtkColorTransferFunctionItem 00026 { 00027 public: 00028 static vtkCompositeTransferFunctionItem* New(); 00029 vtkTypeMacro(vtkCompositeTransferFunctionItem, vtkColorTransferFunctionItem); 00030 virtual void PrintSelf(ostream &os, vtkIndent indent); 00031 00032 // Description: 00033 // Reimplemented to return the range of the piecewise function 00034 virtual void GetBounds(double bounds[4]); 00035 00036 void SetOpacityFunction(vtkPiecewiseFunction* opacity); 00037 vtkGetObjectMacro(OpacityFunction, vtkPiecewiseFunction); 00038 00039 protected: 00040 vtkCompositeTransferFunctionItem(); 00041 virtual ~vtkCompositeTransferFunctionItem(); 00042 00043 virtual void ComputeTexture(); 00044 vtkPiecewiseFunction* OpacityFunction; 00045 00046 private: 00047 vtkCompositeTransferFunctionItem(const vtkCompositeTransferFunctionItem&); // Not implemented. 00048 void operator=(const vtkCompositeTransferFunctionItem&); // Not implemented 00049 }; 00050 00051 #endif