VTK  9.0.1
vtkInteractorStyleTreeMapHover.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleTreeMapHover.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 vtkInteractorStyleTreeMapHover_h
35 #define vtkInteractorStyleTreeMapHover_h
36 
38 #include "vtkViewsInfovisModule.h" // For export macro
39 
41 class vtkPoints;
42 class vtkRenderer;
43 class vtkTree;
44 class vtkTreeMapLayout;
47 
48 class VTKVIEWSINFOVIS_EXPORT vtkInteractorStyleTreeMapHover : public vtkInteractorStyleImage
49 {
50 public:
53  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
56 
60  void SetLayout(vtkTreeMapLayout* layout);
61  vtkGetObjectMacro(Layout, vtkTreeMapLayout);
63 
65 
70  vtkGetObjectMacro(TreeMapToPolyData, vtkTreeMapToPolyData);
72 
74 
77  vtkSetStringMacro(LabelField);
78  vtkGetStringMacro(LabelField);
80 
82 
86  void OnMouseMove() override;
87  void OnLeftButtonUp() override;
89 
91 
97 
99 
103  void SetHighLightColor(double r, double g, double b);
104 
108  void SetSelectionLightColor(double r, double g, double b);
109 
111 
114  void SetHighLightWidth(double lw);
117 
119 
122  void SetSelectionWidth(double lw);
125 
126 protected:
129 
130 private:
132  void operator=(const vtkInteractorStyleTreeMapHover&) = delete;
133 
134  // These methods are used internally
135  vtkIdType GetTreeMapIdAtPos(int x, int y);
136  void GetBoundingBoxForTreeMapItem(vtkIdType id, float* binfo);
137 
138  vtkWorldPointPicker* Picker;
139  vtkBalloonRepresentation* Balloon;
140  vtkActor* HighlightActor;
141  vtkActor* SelectionActor;
142  vtkPoints* HighlightPoints;
143  vtkPoints* SelectionPoints;
144  vtkTreeMapLayout* Layout;
145  vtkTreeMapToPolyData* TreeMapToPolyData;
146  char* LabelField;
147  vtkIdType CurrentSelectedId;
148 };
149 
150 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:46
represent the vtkBalloonWidget
a simple class to control print indentation
Definition: vtkIndent.h:34
interactive manipulation of the camera specialized for images
An interactor style for a tree map view.
void SetSelectionWidth(double lw)
The width of the line around the selected vertex.
void SetSelectionLightColor(double r, double g, double b)
Set the color used to highlight the selected vertex.
void SetHighLightWidth(double lw)
The width of the line around the hovered vertex.
void OnMouseMove() override
Overridden from vtkInteractorStyleImage to provide the desired interaction behavior.
~vtkInteractorStyleTreeMapHover() override
void SetLayout(vtkTreeMapLayout *layout)
Must be set to the vtkTreeMapLayout used to compute the bounds of each vertex for the tree map.
void SetTreeMapToPolyData(vtkTreeMapToPolyData *filter)
Must be set to the vtkTreeMapToPolyData used to convert the tree map into polydata.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetHighLightColor(double r, double g, double b)
Set the color used to highlight the hovered vertex.
void SetInteractor(vtkRenderWindowInteractor *rwi) override
Set/Get the Interactor wrapper being controlled by this object.
void HighLightItem(vtkIdType id)
Highlights a specific vertex.
static vtkInteractorStyleTreeMapHover * New()
represent and manipulate 3D points
Definition: vtkPoints.h:34
platform-independent render window interaction including picking and frame rate control.
abstract specification for renderers
Definition: vtkRenderer.h:59
layout a vtkTree into a tree map
converts a tree to a polygonal data representing a tree map
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