VTK  9.1.0
vtkCompositeControlPointsItem.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkCompositeControlPointsItem.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
15
30#ifndef vtkCompositeControlPointsItem_h
31#define vtkCompositeControlPointsItem_h
32
33#include "vtkChartsCoreModule.h" // For export macro
35
38
40{
41public:
43 void PrintSelf(ostream& os, vtkIndent indent) override;
44
49
54
56
60 vtkGetObjectMacro(OpacityFunction, vtkPiecewiseFunction);
62
64 {
65 ColorPointsFunction = 1,
66 OpacityPointsFunction = 2,
67 ColorAndOpacityPointsFunction = 3
68 };
69
71
83 vtkSetMacro(PointsFunction, int);
84 vtkGetMacro(PointsFunction, int);
86
92 vtkIdType AddPoint(double* newPos) override;
93
94 using Superclass::RemovePoint;
100 vtkIdType RemovePoint(double* pos) override;
101
103
110 vtkSetMacro(UseOpacityPointHandles, bool);
111 vtkGetMacro(UseOpacityPointHandles, bool);
113
115
118 bool MouseMoveEvent(const vtkContextMouseEvent& mouse) override;
119 bool MouseDoubleClickEvent(const vtkContextMouseEvent& mouse) override;
120 bool MouseButtonPressEvent(const vtkContextMouseEvent& mouse) override;
122
128 vtkIdType GetNumberOfPoints() const override;
129
136 void GetControlPoint(vtkIdType index, double point[4]) const override;
137
144 void SetControlPoint(vtkIdType index, double* point) override;
145
146protected:
149
150 void emitEvent(unsigned long event, void* params) override;
151
153
154 void DrawPoint(vtkContext2D* painter, vtkIdType index) override;
155 void EditPoint(float tX, float tY) override;
156 virtual void EditPointCurve(vtkIdType idx);
157
160
162 vtkPiecewiseFunction* OpacityFunction = nullptr;
163 vtkPiecewisePointHandleItem* OpacityPointHandle = nullptr;
164 bool UseOpacityPointHandles = false;
165
166private:
168 void operator=(const vtkCompositeControlPointsItem&) = delete;
169};
170
171#endif
Control points for vtkColorTransferFunction.
Defines a transfer function for mapping a property to an RGB color value.
Control points for vtkCompositeFunction.
vtkMTimeType GetControlPointsMTime() override
Must be reimplemented by subclasses to calculate the points to draw.
vtkIdType RemovePoint(double *pos) override
Remove a point of the function.
~vtkCompositeControlPointsItem() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkIdType AddPoint(double *newPos) override
Add a point to the function.
virtual void EditPointCurve(vtkIdType idx)
static vtkCompositeControlPointsItem * New()
Creates a piecewise control points object.
virtual void SetColorTransferFunction(vtkColorTransferFunction *function)
Set the color transfer function to draw its points.
bool MouseMoveEvent(const vtkContextMouseEvent &mouse) override
Mouse move event.
void EditPoint(float tX, float tY) override
void SetOpacityFunction(vtkPiecewiseFunction *opacity)
Utility function that calls SetPiecewiseFunction()
void emitEvent(unsigned long event, void *params) override
bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) override
Mouse move event.
void SetControlPoint(vtkIdType index, double *point) override
Sets the x and y coordinates as well as the midpoint and sharpness, of the control point correspondin...
vtkIdType GetNumberOfPoints() const override
Returns the total number of points, either from using the superclass implementation or the opacity fu...
bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse) override
Mouse move event.
void DrawPoint(vtkContext2D *painter, vtkIdType index) override
Internal function that paints a collection of points and optionally excludes some.
void GetControlPoint(vtkIdType index, double point[4]) const override
Returns the x and y coordinates as well as the midpoint and sharpness of the control point correspond...
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:73
data structure to represent mouse events.
a simple class to control print indentation
Definition: vtkIndent.h:113
Defines a 1D piecewise function.
a vtkContextItem that draws handles around a point of a piecewise function
int vtkIdType
Definition: vtkType.h:332
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287