3 #ifndef vtkTransferFunctionBoxItem_h 4 #define vtkTransferFunctionBoxItem_h 15 class vtkTransferFunctionBoxItemInternals;
31 BoxAddEvent = vtkCommand::UserEvent + 100,
45 void SetBox(
double x,
double y,
double width,
double height);
55 void SetValidBounds(
double x0,
double x1,
double y0,
double y1)
override;
61 vtkSetMacro(Selected,
bool);
62 vtkGetMacro(Selected,
bool);
63 vtkBooleanMacro(Selected,
bool);
70 virtual void SetBoxColor(
double r,
double g,
double b,
double a);
72 double* GetBoxColor() VTK_SIZEHINT(4);
73 virtual void GetBoxColor(
double& r,
double& g,
double& b,
double& a);
133 void emitEvent(
unsigned long event,
void* params =
nullptr)
override;
137 void DragBox(
double deltaX,
double deltaY);
139 void DragCorner(
vtkIdType cornerId,
const double* delta);
168 virtual void SelectBox();
179 void ClampToValidPosition(
double pos[2]);
185 void UpdateBoxPoints();
198 bool BoxIsWithinBounds(
double deltaX,
double deltaY);
213 std::unique_ptr<vtkTransferFunctionBoxItemInternals> Internals;
215 bool Initialized =
false;
216 bool Selected =
false;
220 #endif // vtkTransferFunctionBoxItem_h
virtual void GetControlPoint(vtkIdType index, double *point) const=0
virtual bool Hit(const vtkContextMouseEvent &mouse)
#define VTKREMOTINGVIEWS_EXPORT
virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse)
virtual vtkMTimeType GetControlPointsMTime()=0
virtual void SetValidBounds(double, double, double, double)
virtual bool KeyReleaseEvent(const vtkContextKeyEvent &key)
virtual void GetBoxColor(double c[4])
Set/Get the color to be used for this box.
vtkTypeUInt64 vtkMTimeType
virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse)
virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse)
vtkIdType MovePoint(vtkIdType point, const vtkVector2f &translation)
virtual bool KeyPressEvent(const vtkContextKeyEvent &key)
virtual void PrintSelf(ostream &os, vtkIndent indent)
virtual bool Paint(vtkContext2D *painter)
virtual void SetBoxColor(const double c[4])
Set/Get the color to be used for this box.
virtual vtkIdType RemovePoint(double *pos)=0
virtual void SetControlPoint(vtkIdType index, double *point)=0
virtual vtkIdType AddPoint(double *newPos)=0
virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse)
virtual void emitEvent(unsigned long event, void *params=0)=0
BoxCorners
Box corners are ordered as follows: 3 --— 2 | | (4) 0 --— 1.
Shape that represents an individual control node in a 2D transfer function.
virtual vtkIdType GetNumberOfPoints() const=0