21 #ifndef __ctkTransferFunction_h
22 #define __ctkTransferFunction_h
27 #include <QSharedPointer>
32 #include "ctkWidgetsExport.h"
34 class ctkTransferFunctionPrivate;
61 inline const qreal&
x()
const {
return this->P.X;}
62 inline const QVariant&
value()
const {
return this->P.Value;}
93 inline QVariant value(
int index)
const;
94 virtual QVariant value(qreal pos)
const = 0;
96 virtual int count()
const = 0;
97 virtual bool isDiscrete()
const = 0;
98 virtual bool isEditable()
const = 0;
100 inline void range(qreal rangeValues[2])
const;
101 virtual void range(qreal& minRange, qreal& maxRange)
const=0;
102 virtual QVariant minValue()
const = 0;
103 virtual QVariant maxValue()
const = 0;
104 inline void valueRange(QVariant range[2])
const;
107 virtual int insertControlPoint(qreal pos) = 0;
109 virtual void removeControlPoint( qreal pos ) = 0;
114 virtual void setControlPointPos(
int index, qreal pos)=0;
118 virtual void setControlPointValue(
int index,
const QVariant& value)=0;
124 QScopedPointer<ctkTransferFunctionPrivate>
d_ptr;
134 QSharedPointer<ctkControlPoint> cp(this->
controlPoint(index));
141 this->
range(rangeValues[0], rangeValues[1]);