VTK  9.0.2
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 
43 class vtkAreaLayout;
45 class vtkPoints;
46 class vtkRenderer;
47 class vtkTree;
49 class vtkPolyData;
50 
51 class VTKVIEWSINFOVIS_EXPORT vtkInteractorStyleAreaSelectHover
53 {
54 public:
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 
115 protected:
118 
119 private:
121  void operator=(const vtkInteractorStyleAreaSelectHover&) = delete;
122 
123  // These methods are used internally
124  void GetBoundingAreaForItem(vtkIdType id, float* sinfo);
125 
126  vtkWorldPointPicker* Picker;
127  vtkBalloonRepresentation* Balloon;
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:46
layout a vtkTree into a tree map
Definition: vtkAreaLayout.h:47
represent the vtkBalloonWidget
a simple class to control print indentation
Definition: vtkIndent.h:34
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.
static vtkInteractorStyleAreaSelectHover * New()
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.
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:34
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers
Definition: vtkRenderer.h:68
A rooted tree data structure.
Definition: vtkTree.h:55
find world x,y,z corresponding to display x,y,z
int vtkIdType
Definition: vtkType.h:338