00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCompositeControlPointsItem.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 00031 #ifndef __vtkCompositeControlPointsItem_h 00032 #define __vtkCompositeControlPointsItem_h 00033 00034 #include "vtkColorTransferControlPointsItem.h" 00035 00036 class vtkPiecewiseFunction; 00037 00038 class VTK_CHARTS_EXPORT vtkCompositeControlPointsItem: 00039 public vtkColorTransferControlPointsItem 00040 { 00041 public: 00042 vtkTypeMacro(vtkCompositeControlPointsItem, vtkColorTransferControlPointsItem); 00043 virtual void PrintSelf(ostream &os, vtkIndent indent); 00044 00046 static vtkCompositeControlPointsItem* New(); 00047 00049 virtual void SetColorTransferFunction(vtkColorTransferFunction* function); 00050 00052 00053 void SetOpacityFunction(vtkPiecewiseFunction* opacity); 00054 vtkGetObjectMacro(OpacityFunction, vtkPiecewiseFunction); 00056 00060 virtual vtkIdType AddPoint(double* newPos); 00061 00065 virtual vtkIdType RemovePoint(double* pos); 00066 00067 protected: 00068 vtkCompositeControlPointsItem(); 00069 virtual ~vtkCompositeControlPointsItem(); 00070 00071 virtual unsigned long int GetControlPointsMTime(); 00072 virtual void ComputePoints(); 00073 00074 virtual void GetControlPoint(vtkIdType index, double* pos); 00075 virtual void SetControlPoint(vtkIdType index, double *point); 00076 virtual void EditPoint(float tX, float tY); 00077 00078 void MergeColorTransferFunction(); 00079 00080 vtkPiecewiseFunction* OpacityFunction; 00081 bool Updating; 00082 private: 00083 vtkCompositeControlPointsItem(const vtkCompositeControlPointsItem &); // Not implemented. 00084 void operator=(const vtkCompositeControlPointsItem &); // Not implemented. 00085 }; 00086 00087 #endif