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);
56 void SetValidBounds(
double x0,
double x1,
double y0,
double y1)
override;
62 vtkSetMacro(Selected,
bool);
63 vtkGetMacro(Selected,
bool);
64 vtkBooleanMacro(Selected,
bool);
71 virtual void SetBoxColor(
double r,
double g,
double b,
double a);
73 double* GetBoxColor() VTK_SIZEHINT(4);
74 virtual void GetBoxColor(
double& r,
double& g,
double& b,
double& a);
134 void emitEvent(
unsigned long event,
void* params =
nullptr)
override;
138 void DragBox(
double deltaX,
double deltaY);
140 void DragCorner(
vtkIdType cornerId,
const double* delta);
169 virtual void SelectBox();
180 void ClampToValidPosition(
double pos[2]);
186 void UpdateBoxPoints();
199 bool BoxIsWithinBounds(
double deltaX,
double deltaY);
214 std::unique_ptr<vtkTransferFunctionBoxItemInternals> Internals;
216 bool Initialized =
false;
217 bool Selected =
false;
221 #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