21 #ifndef __ctkVTKScalarsToColorsView_h 22 #define __ctkVTKScalarsToColorsView_h 27 class ctkVTKScalarsToColorsViewPrivate;
30 #include <QVTKWidget.h> 31 #include <vtkChartXY.h> 33 class vtkColorTransferFunction;
34 class vtkControlPointsItem;
36 class vtkPiecewiseFunction;
46 Q_PROPERTY(
bool bordersVisible READ areBordersVisible WRITE setBordersVisible)
53 virtual void addPlot(vtkPlot* plot);
55 vtkPlot* addLookupTable(vtkLookupTable* lut);
56 vtkPlot* addColorTransferFunction(vtkColorTransferFunction* colorTF,
bool editable =
true);
57 vtkPlot* addOpacityFunction(vtkPiecewiseFunction* opacityTF,
bool editable =
true);
58 vtkPlot* addCompositeFunction(vtkColorTransferFunction* colorTF,
59 vtkPiecewiseFunction* opacityTF,
60 bool colorTFEditable =
true,
61 bool opacityTFEditable =
true);
62 vtkPlot* addPiecewiseFunction(vtkPiecewiseFunction* piecewiseTF,
bool editable =
true);
64 vtkPlot* addColorTransferFunctionControlPoints(vtkColorTransferFunction* colorTF);
65 vtkPlot* addOpacityFunctionControlPoints(vtkPiecewiseFunction* opacityTF);
66 vtkPlot* addCompositeFunctionControlPoints(vtkColorTransferFunction* colorTF,
67 vtkPiecewiseFunction* opacityTF);
68 vtkPlot* addPiecewiseFunctionControlPoints(vtkPiecewiseFunction* piecewiseTF);
77 QList<vtkPlot*> colorTransferFunctionPlots(vtkColorTransferFunction* colorTF)
const;
79 QList<vtkPlot*> opacityFunctionPlots(vtkPiecewiseFunction* opacityTF)
const;
81 void setLookuptTableToPlots(vtkLookupTable* lut);
82 void setColorTransferFunctionToPlots(vtkColorTransferFunction* colorTF);
83 void setOpacityFunctionToPlots(vtkPiecewiseFunction* opacityTF);
84 void setPiecewiseFunctionToPlots(vtkPiecewiseFunction* piecewiseTF);
86 bool areBordersVisible()
const;
87 void setBordersVisible(
bool show);
89 void validBounds(
double bounds[4])
const;
90 void setValidBounds(
double bounds[4]);
92 void setPlotsUserBounds(
double* bounds);
98 void editPoint(vtkObject* plot,
void * pointId);
102 void moveAllPoints(
double xOffset,
double yOffset = 0.,
103 bool dontMoveFirstAndLast =
false);
109 void spreadAllPoints(
double factor = 1.,
110 bool dontMoveFirstAndLast =
false);
113 void onBoundsChanged();
116 QScopedPointer<ctkVTKScalarsToColorsViewPrivate>
d_ptr;
128 const vtkIdType count = this->
chart()->GetNumberOfPlots();
129 for(vtkIdType i = 0; i < count; ++i)
131 vtkPlot* plot = this->
chart()->GetPlot(i);
132 if (T::SafeDownCast(plot) != 0)
134 res << T::SafeDownCast(plot);
QList< vtkPlot * > plots() const
virtual Q_INVOKABLE void addPlot(vtkPlot *plot)
Q_INVOKABLE vtkChartXY * chart() const
virtual void boundAxesToChartBounds()
#define QVTK_OBJECT
Define VTK/Qt event/slot connection utility methods. It is a convenient macro that declares and defin...
ctkVTKChartView Superclass
QScopedPointer< ctkVTKScalarsToColorsViewPrivate > d_ptr