VTK  9.1.0
vtkInteractorStyleAreaSelectHover.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkInteractorStyleAreaSelectHover.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/*-------------------------------------------------------------------------
16 Copyright 2008 Sandia Corporation.
17 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18 the U.S. Government retains certain rights in this software.
19-------------------------------------------------------------------------*/
34#ifndef vtkInteractorStyleAreaSelectHover_h
35#define vtkInteractorStyleAreaSelectHover_h
36
38#include "vtkViewsInfovisModule.h" // For export macro
39
40class vtkAreaLayout;
42class vtkPoints;
43class vtkRenderer;
44class vtkTree;
46class vtkPolyData;
47
48class VTKVIEWSINFOVIS_EXPORT vtkInteractorStyleAreaSelectHover
50{
51public:
54 void PrintSelf(ostream& os, vtkIndent indent) override;
55
57
61 void SetLayout(vtkAreaLayout* layout);
62 vtkGetObjectMacro(Layout, vtkAreaLayout);
64
66
69 vtkSetStringMacro(LabelField);
70 vtkGetStringMacro(LabelField);
72
74
78 vtkSetMacro(UseRectangularCoordinates, bool);
79 vtkGetMacro(UseRectangularCoordinates, bool);
80 vtkBooleanMacro(UseRectangularCoordinates, bool);
82
87 void OnMouseMove() override;
88
93
97 void SetHighLightColor(double r, double g, double b);
98
100
103 void SetHighLightWidth(double lw);
106
110 vtkIdType GetIdAtPos(int x, int y);
111
112protected:
115
116private:
118 void operator=(const vtkInteractorStyleAreaSelectHover&) = delete;
119
120 // These methods are used internally
121 void GetBoundingAreaForItem(vtkIdType id, float* sinfo);
122
123 vtkWorldPointPicker* Picker;
125 vtkPolyData* HighlightData;
126 vtkActor* HighlightActor;
127 vtkAreaLayout* Layout;
128 char* LabelField;
129 bool UseRectangularCoordinates;
130};
131
132#endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:155
layout a vtkTree into a tree map
Definition: vtkAreaLayout.h:47
represent the vtkBalloonWidget
a simple class to control print indentation
Definition: vtkIndent.h:113
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:143
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:195
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers
Definition: vtkRenderer.h:173
A rooted tree data structure.
Definition: vtkTree.h:164
find world x,y,z corresponding to display x,y,z
int vtkIdType
Definition: vtkType.h:332