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-------------------------------------------------------------------------*/
37#ifndef vtkInteractorStyleAreaSelectHover_h
38#define vtkInteractorStyleAreaSelectHover_h
39
41#include "vtkViewsInfovisModule.h" // For export macro
42
43class vtkAreaLayout;
45class vtkPoints;
46class vtkRenderer;
47class vtkTree;
49class vtkPolyData;
50
51class VTKVIEWSINFOVIS_EXPORT vtkInteractorStyleAreaSelectHover
53{
54public:
57 void PrintSelf(ostream& os, vtkIndent indent) override;
58
60
64 void SetLayout(vtkAreaLayout* layout);
65 vtkGetObjectMacro(Layout, vtkAreaLayout);
67
69
72 vtkSetStringMacro(LabelField);
73 vtkGetStringMacro(LabelField);
75
77
81 vtkSetMacro(UseRectangularCoordinates, bool);
82 vtkGetMacro(UseRectangularCoordinates, bool);
83 vtkBooleanMacro(UseRectangularCoordinates, bool);
85
90 void OnMouseMove() override;
91
96
100 void SetHighLightColor(double r, double g, double b);
101
103
106 void SetHighLightWidth(double lw);
109
113 vtkIdType GetIdAtPos(int x, int y);
114
115protected:
118
119private:
121 void operator=(const vtkInteractorStyleAreaSelectHover&) = delete;
122
123 // These methods are used internally
124 void GetBoundingAreaForItem(vtkIdType id, float* sinfo);
125
126 vtkWorldPointPicker* Picker;
128 vtkPolyData* HighlightData;
129 vtkActor* HighlightActor;
130 vtkAreaLayout* Layout;
131 char* LabelField;
132 bool UseRectangularCoordinates;
133};
134
135#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:182
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