/usr/include/vtk-7.1/vtkCompositeControlPointsItem.h is in libvtk7-dev 7.1.1+dfsg1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkCompositeControlPointsItem.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkCompositeControlPointsItem
* @brief Control points for
* vtkCompositeFunction.
*
* vtkCompositeControlPointsItem draws the control points of a vtkPiecewiseFunction
* and a vtkColorTransferFunction.
* @sa
* vtkControlPointsItem
* vtkColorTransferControlPointsItem
* vtkCompositeTransferFunctionItem
* vtkPiecewisePointHandleItem
*/
#ifndef vtkCompositeControlPointsItem_h
#define vtkCompositeControlPointsItem_h
#include "vtkChartsCoreModule.h" // For export macro
#include "vtkColorTransferControlPointsItem.h"
class vtkPiecewiseFunction;
class vtkPiecewisePointHandleItem;
class VTKCHARTSCORE_EXPORT vtkCompositeControlPointsItem:
public vtkColorTransferControlPointsItem
{
public:
vtkTypeMacro(vtkCompositeControlPointsItem, vtkColorTransferControlPointsItem);
virtual void PrintSelf(ostream &os, vtkIndent indent);
/**
* Creates a piecewise control points object
*/
static vtkCompositeControlPointsItem* New();
/**
* Set the color transfer function to draw its points
*/
virtual void SetColorTransferFunction(vtkColorTransferFunction* function);
//@{
/**
* Utility function that calls SetPiecewiseFunction()
*/
void SetOpacityFunction(vtkPiecewiseFunction* opacity);
vtkGetObjectMacro(OpacityFunction, vtkPiecewiseFunction);
//@}
enum PointsFunctionType{
ColorPointsFunction = 1,
OpacityPointsFunction = 2,
ColorAndOpacityPointsFunction = 3
};
//@{
/**
* PointsFunction controls wether the points represent the
* ColorTransferFunction, OpacityTransferFunction or both.
* If ColorPointsFunction, only the points of the ColorTransfer function are
* used.
* If OpacityPointsFunction, only the points of the Opacity function are used
* If ColorAndOpacityPointsFunction, the points of both functions are shared
* by both functions.
* ColorAndOpacityPointsFunction by default.
* Note: Set the mode before the functions are set. ColorPointsFunction is
* not fully supported.
*/
vtkSetMacro(PointsFunction, int);
vtkGetMacro(PointsFunction, int);
//@}
/**
* Add a point to the function. Returns the index of the point (0 based),
* or -1 on error.
* Subclasses should reimplement this function to do the actual work.
*/
virtual vtkIdType AddPoint(double* newPos);
/**
* Remove a point of the function. Returns the index of the point (0 based),
* or -1 on error.
* Subclasses should reimplement this function to do the actual work.
*/
virtual vtkIdType RemovePoint(double* pos);
//@{
/**
* If UseOpacityPointHandles is true, when the current point is
* double clicked, a vtkPiecewisePointHandleItem will show up so
* that the sharpness and mid point can be adjusted in the scene
* with those handles
* False by default.
*/
vtkSetMacro(UseOpacityPointHandles, bool);
vtkGetMacro(UseOpacityPointHandles, bool);
//@}
//@{
/**
* Mouse move event. To take care of some special Key stroke
*/
virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse);
virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse);
virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse);
//@}
protected:
vtkCompositeControlPointsItem();
virtual ~vtkCompositeControlPointsItem();
/**
* Returns true if control points are to be rendered in log-space. This is
* true when vtkScalarsToColors is using log-scale, for example.
*/
virtual bool UsingLogScale();
virtual void emitEvent(unsigned long event, void* params);
virtual vtkMTimeType GetControlPointsMTime();
virtual vtkIdType GetNumberOfPoints()const;
virtual void DrawPoint(vtkContext2D* painter, vtkIdType index);
virtual void GetControlPoint(vtkIdType index, double* pos)const;
virtual void SetControlPoint(vtkIdType index, double *point);
virtual void EditPoint(float tX, float tY);
virtual void EditPointCurve(vtkIdType idx);
void MergeTransferFunctions();
void SilentMergeTransferFunctions();
int PointsFunction;
vtkPiecewiseFunction* OpacityFunction;
vtkPiecewisePointHandleItem* OpacityPointHandle;
bool UseOpacityPointHandles;
private:
vtkCompositeControlPointsItem(const vtkCompositeControlPointsItem &) VTK_DELETE_FUNCTION;
void operator=(const vtkCompositeControlPointsItem &) VTK_DELETE_FUNCTION;
};
#endif
|