VTK  9.3.0
vtkInteractorStyleAreaSelectHover.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
18#ifndef vtkInteractorStyleAreaSelectHover_h
19#define vtkInteractorStyleAreaSelectHover_h
20
22#include "vtkViewsInfovisModule.h" // For export macro
23
24VTK_ABI_NAMESPACE_BEGIN
25class vtkAreaLayout;
27class vtkPoints;
28class vtkRenderer;
29class vtkTree;
31class vtkPolyData;
32
33class VTKVIEWSINFOVIS_EXPORT vtkInteractorStyleAreaSelectHover
35{
36public:
39 void PrintSelf(ostream& os, vtkIndent indent) override;
40
42
46 void SetLayout(vtkAreaLayout* layout);
47 vtkGetObjectMacro(Layout, vtkAreaLayout);
49
51
54 vtkSetStringMacro(LabelField);
55 vtkGetStringMacro(LabelField);
57
59
63 vtkSetMacro(UseRectangularCoordinates, bool);
64 vtkGetMacro(UseRectangularCoordinates, bool);
65 vtkBooleanMacro(UseRectangularCoordinates, bool);
67
72 void OnMouseMove() override;
73
78
82 void SetHighLightColor(double r, double g, double b);
83
85
88 void SetHighLightWidth(double lw);
91
95 vtkIdType GetIdAtPos(int x, int y);
96
97protected:
100
101private:
103 void operator=(const vtkInteractorStyleAreaSelectHover&) = delete;
104
105 // These methods are used internally
106 void GetBoundingAreaForItem(vtkIdType id, float* sinfo);
107
108 vtkWorldPointPicker* Picker;
110 vtkPolyData* HighlightData;
111 vtkActor* HighlightActor;
112 vtkAreaLayout* Layout;
113 char* LabelField;
114 bool UseRectangularCoordinates;
115};
116
117VTK_ABI_NAMESPACE_END
118#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:41
layout a vtkTree into a tree map
represent the vtkBalloonWidget
a simple class to control print indentation
Definition vtkIndent.h:29
An interactor style for an area tree view.
void OnMouseMove() override
Overridden from vtkInteractorStyleImage to provide the desired interaction behavior.
void SetHighLightWidth(double lw)
The width of the line around the hovered vertex.
vtkIdType GetIdAtPos(int x, int y)
Obtain the tree vertex id at the position specified.
double GetHighLightWidth()
The width of the line around the hovered vertex.
void SetInteractor(vtkRenderWindowInteractor *rwi) override
Set the interactor that this interactor style works with.
void SetHighLightColor(double r, double g, double b)
Set the color used to highlight the hovered vertex.
static vtkInteractorStyleAreaSelectHover * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetLayout(vtkAreaLayout *layout)
Must be set to the vtkAreaLayout used to compute the bounds of each vertex.
A rubber band interactor for a 2D view.
represent and manipulate 3D points
Definition vtkPoints.h:29
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition vtkPolyData.h:80
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers
Definition vtkRenderer.h:59
A rooted tree data structure.
Definition vtkTree.h:46
find world x,y,z corresponding to display x,y,z
int vtkIdType
Definition vtkType.h:315