21 #ifndef __ctkVTKScalarsToColorsView_h
22 #define __ctkVTKScalarsToColorsView_h
27 class ctkVTKScalarsToColorsViewPrivate;
30 #include <vtkChartXY.h>
32 class vtkColorTransferFunction;
33 class vtkControlPointsItem;
35 class vtkPiecewiseFunction;
45 Q_PROPERTY(
bool bordersVisible READ areBordersVisible WRITE setBordersVisible)
52 virtual void addPlot(vtkPlot* plot);
54 vtkPlot* addLookupTable(vtkLookupTable* lut);
55 Q_INVOKABLE vtkPlot* addColorTransferFunction(vtkColorTransferFunction* colorTF,
bool editable =
true);
56 vtkPlot* addOpacityFunction(vtkPiecewiseFunction* opacityTF,
bool editable =
true);
57 vtkPlot* addCompositeFunction(vtkColorTransferFunction* colorTF,
58 vtkPiecewiseFunction* opacityTF,
59 bool colorTFEditable =
true,
60 bool opacityTFEditable =
true);
61 vtkPlot* addPiecewiseFunction(vtkPiecewiseFunction* piecewiseTF,
bool editable =
true);
63 vtkPlot* addColorTransferFunctionControlPoints(vtkColorTransferFunction* colorTF);
64 vtkPlot* addOpacityFunctionControlPoints(vtkPiecewiseFunction* opacityTF);
65 vtkPlot* addCompositeFunctionControlPoints(vtkColorTransferFunction* colorTF,
66 vtkPiecewiseFunction* opacityTF);
67 vtkPlot* addPiecewiseFunctionControlPoints(vtkPiecewiseFunction* piecewiseTF);
76 QList<vtkPlot*> colorTransferFunctionPlots(vtkColorTransferFunction* colorTF)
const;
78 QList<vtkPlot*> opacityFunctionPlots(vtkPiecewiseFunction* opacityTF)
const;
80 void setLookuptTableToPlots(vtkLookupTable* lut);
81 void setColorTransferFunctionToPlots(vtkColorTransferFunction* colorTF);
82 void setOpacityFunctionToPlots(vtkPiecewiseFunction* opacityTF);
83 void setPiecewiseFunctionToPlots(vtkPiecewiseFunction* piecewiseTF);
85 bool areBordersVisible()
const;
86 void setBordersVisible(
bool show);
88 void validBounds(
double bounds[4])
const;
89 void setValidBounds(
double bounds[4]);
91 void setPlotsUserBounds(
double* bounds);
100 void functionChanged();
103 void editPoint(vtkObject* plot,
void * pointId);
107 void moveAllPoints(
double xOffset,
double yOffset = 0.,
108 bool dontMoveFirstAndLast =
false);
114 void spreadAllPoints(
double factor = 1.,
115 bool dontMoveFirstAndLast =
false);
118 void onBoundsChanged();
121 QScopedPointer<ctkVTKScalarsToColorsViewPrivate>
d_ptr;
133 const vtkIdType count = this->
chart()->GetNumberOfPlots();
134 for(vtkIdType i = 0; i < count; ++i)
136 vtkPlot* plot = this->
chart()->GetPlot(i);
137 if (T::SafeDownCast(plot) != 0)
139 res << T::SafeDownCast(plot);