VTK
dox/Charts/vtkCompositeControlPointsItem.h
Go to the documentation of this file.
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