VTK
vtkTreeHeatmapItem.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTreeHeatmapItem.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 =========================================================================*/
36 #ifndef vtkTreeHeatmapItem_h
37 #define vtkTreeHeatmapItem_h
38 
39 #include "vtkViewsInfovisModule.h" // For export macro
40 #include "vtkContextItem.h"
41 
42 #include "vtkNew.h" // For vtkNew ivars
43 #include "vtkSmartPointer.h" // For vtkSmartPointer ivars
44 #include <vector> // For lookup tables
45 #include <map> // For string lookup tables
46 
47 class vtkDendrogramItem;
48 class vtkHeatmapItem;
49 class vtkTable;
50 class vtkTree;
51 
52 class VTKVIEWSINFOVIS_EXPORT vtkTreeHeatmapItem : public vtkContextItem
53 {
54 public:
55  static vtkTreeHeatmapItem *New();
57  void PrintSelf(ostream &os, vtkIndent indent) override;
58 
66  virtual void SetTree(vtkTree *tree);
67 
71  vtkTree * GetTree();
72 
78  virtual void SetColumnTree(vtkTree *tree);
79 
84  vtkTree * GetColumnTree();
85 
91  virtual void SetTable(vtkTable *table);
92 
96  vtkTable * GetTable();
97 
99 
102  vtkDendrogramItem * GetDendrogram();
103  void SetDendrogram(vtkDendrogramItem *dendrogram);
105 
107 
110  vtkHeatmapItem * GetHeatmap();
111  void SetHeatmap(vtkHeatmapItem *heatmap);
113 
118  void ReorderTable();
119 
125  void ReverseTableRows();
126 
132  void ReverseTableColumns();
133 
138  void SetOrientation(int orientation);
139 
143  int GetOrientation();
144 
148  void GetBounds(double bounds[4]);
149 
153  void GetCenter(double center[2]);
154 
158  void GetSize(double size[2]);
159 
169  void CollapseToNumberOfLeafNodes(unsigned int n);
170 
172 
175  float GetTreeLineWidth();
176  void SetTreeLineWidth(float width);
178 
182  vtkTree * GetPrunedTree();
183 
188  void SetTreeColorArray(const char *arrayName);
189 
193  bool Hit(const vtkContextMouseEvent &mouse) override;
194 
199  bool MouseDoubleClickEvent(const vtkContextMouseEvent &event) override;
200 
201 protected:
203  ~vtkTreeHeatmapItem() override;
204 
208  bool Paint(vtkContext2D *painter) override;
209 
213  void CollapseHeatmapRows();
214 
218  void CollapseHeatmapColumns();
219 
224 
225 private:
226  vtkTreeHeatmapItem(const vtkTreeHeatmapItem&) = delete;
227  void operator=(const vtkTreeHeatmapItem&) = delete;
228 
229  vtkMTimeType TreeHeatmapBuildTime;
230 };
231 
232 #endif
vtkContextMouseEvent
data structure to represent mouse events.
Definition: vtkContextMouseEvent.h:34
vtkTreeHeatmapItem
A 2D graphics item for rendering a tree and an associated heatmap.
Definition: vtkTreeHeatmapItem.h:52
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:62
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkSmartPointer< vtkDendrogramItem >
vtkX3D::center
Definition: vtkX3D.h:230
vtkContext2D
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:52
vtkContextItem.h
vtkTreeHeatmapItem::Heatmap
vtkSmartPointer< vtkHeatmapItem > Heatmap
Definition: vtkTreeHeatmapItem.h:222
vtkTree
A rooted tree data structure.
Definition: vtkTree.h:54
vtkTreeHeatmapItem::Orientation
int Orientation
Definition: vtkTreeHeatmapItem.h:223
vtkTreeHeatmapItem::Dendrogram
vtkSmartPointer< vtkDendrogramItem > Dendrogram
Definition: vtkTreeHeatmapItem.h:220
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkAbstractContextItem::Hit
virtual bool Hit(const vtkContextMouseEvent &mouse)
Return true if the supplied x, y coordinate is inside the item.
vtkSmartPointer.h
vtkX3D::size
Definition: vtkX3D.h:253
vtkContextItem::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTreeHeatmapItem::ColumnDendrogram
vtkSmartPointer< vtkDendrogramItem > ColumnDendrogram
Definition: vtkTreeHeatmapItem.h:221
vtkContextItem
base class for items that are part of a vtkContextScene.
Definition: vtkContextItem.h:31
vtkX3D::orientation
Definition: vtkX3D.h:262
vtkNew.h
vtkAbstractContextItem::Paint
virtual bool Paint(vtkContext2D *painter)
Paint event for the item, called whenever the item needs to be drawn.
vtkDendrogramItem
A 2D graphics item for rendering a tree as a dendrogram.
Definition: vtkDendrogramItem.h:54
vtkAbstractContextItem::MouseDoubleClickEvent
virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &mouse)
Mouse button double click event.
vtkHeatmapItem
A 2D graphics item for rendering a heatmap.
Definition: vtkHeatmapItem.h:49
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302