ctkVTKCompositeFunction.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Library:   CTK
00004 
00005   Copyright (c) 2010  Kitware Inc.
00006 
00007   Licensed under the Apache License, Version 2.0 (the "License");
00008   you may not use this file except in compliance with the License.
00009   You may obtain a copy of the License at
00010 
00011       http://www.commontk.org/LICENSE
00012 
00013   Unless required by applicable law or agreed to in writing, software
00014   distributed under the License is distributed on an "AS IS" BASIS,
00015   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00016   See the License for the specific language governing permissions and
00017   limitations under the License.
00018 
00019 =========================================================================*/
00020 
00021 #ifndef __ctkVTKCompositeFunction_h
00022 #define __ctkVTKCompositeFunction_h
00023 
00024 // CTK includes
00025 #include "ctkTransferFunction.h"
00026 #include "ctkPimpl.h"
00027 #include "CTKVisualizationVTKCoreExport.h"
00028 #include "ctkVTKObject.h"
00029 
00030 class vtkPiecewiseFunction;
00031 class vtkColorTransferFunction;
00032 class ctkVTKCompositeFunctionPrivate;
00033 
00036 
00037 class CTK_VISUALIZATION_VTK_CORE_EXPORT ctkVTKCompositeFunction: public ctkTransferFunction
00038 {
00039   Q_OBJECT;
00040   QVTK_OBJECT;
00041 public:
00042   ctkVTKCompositeFunction(vtkPiecewiseFunction*     piecewiserFunction,
00043                           vtkColorTransferFunction* colorTransferFunction,
00044                           QObject* parent = 0);
00045   virtual ~ctkVTKCompositeFunction();
00046 
00047   virtual ctkControlPoint* controlPoint(int index)const;
00048   virtual QVariant value(qreal pos)const;
00049   // ADD color here
00050   // value = color in piecewise and colortransfer
00051   virtual int count()const;
00052   virtual bool isDiscrete()const;
00053   virtual bool isEditable()const;
00054 
00055   virtual void range(qreal& minRange, qreal& maxRange)const;
00056   virtual QVariant minValue()const;
00057   virtual QVariant maxValue()const;
00058 
00059   virtual int insertControlPoint(const ctkControlPoint& cp);
00060   virtual int insertControlPoint(qreal pos);
00061 
00062   virtual void setControlPointPos(int index, qreal pos);
00063   virtual void setControlPointValue(int index, const QVariant& value);
00064 
00065   void setPiecewiseFunction(vtkPiecewiseFunction* piecewiseFunction);
00066   void setColorTransferFunction(vtkColorTransferFunction* colorTansferFunction);
00067 
00068   vtkPiecewiseFunction*     piecewiseFunction()const;
00069   vtkColorTransferFunction* colorTransferFunction()const;
00070 private:
00071   CTK_DECLARE_PRIVATE(ctkVTKCompositeFunction);
00072 };
00073 
00074 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated on 21 May 2010 for CTK by  doxygen 1.6.1