VTK
vtkTanglegramItem.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: TestDiagram.cxx
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 =========================================================================*/
31 #ifndef vtkTanglegramItem_h
32 #define vtkTanglegramItem_h
33 
34 #include "vtkViewsInfovisModule.h" // For export macro
35 
36 #include "vtkContextItem.h"
37 #include "vtkSmartPointer.h" // For SmartPointer ivars
38 #include "vtkTable.h" // For get/set
39 
40 class vtkDendrogramItem;
41 class vtkLookupTable;
42 class vtkStringArray;
43 class vtkTree;
44 
46 {
47 public:
50  virtual void PrintSelf(ostream &os, vtkIndent indent);
51 
53  virtual void SetTree1(vtkTree *tree);
54 
56  virtual void SetTree2(vtkTree *tree);
57 
59 
68 
70 
71  vtkGetStringMacro(Tree1Label);
72  vtkSetStringMacro(Tree1Label);
74 
76 
77  vtkGetStringMacro(Tree2Label);
78  vtkSetStringMacro(Tree2Label);
80 
84 
87 
89 
93  vtkGetMacro(MinimumVisibleFontSize, int);
94  vtkSetMacro(MinimumVisibleFontSize, int);
96 
98 
102  vtkGetMacro(LabelSizeDifference, int);
103  vtkSetMacro(LabelSizeDifference, int);
105 
107 
109  vtkGetMacro(CorrespondenceLineWidth, float);
110  vtkSetMacro(CorrespondenceLineWidth, float);
112 
114 
117  void SetTreeLineWidth(float width);
119 
120  // BTX
121 
123  virtual bool Hit(const vtkContextMouseEvent &mouse);
124 
128 
129  //ETX
130 
131 protected:
134 
136  void RefreshBuffers(vtkContext2D *painter);
137 
140 
144 
147 
150  void ReorderTree();
151 
154  void ReorderTreeAtVertex(vtkIdType parent, vtkTree *tree);
155 
161 
165 
167  virtual bool Paint(vtkContext2D *painter);
168 
169 private:
174  vtkStringArray *Tree1Names;
175  vtkStringArray *Tree2Names;
176  vtkStringArray *SourceNames;
177  double Tree1Bounds[4];
178  double Tree2Bounds[4];
179  double Spacing;
180  double LabelWidth1;
181  double LabelWidth2;
182  bool PositionSet;
183  bool TreeReordered;
184  char* Tree1Label;
185  char* Tree2Label;
186  int Orientation;
187  int MinimumVisibleFontSize;
188  int LabelSizeDifference;
189  float CorrespondenceLineWidth;
190 
191  vtkTanglegramItem(const vtkTanglegramItem&); // Not implemented
192  void operator=(const vtkTanglegramItem&); // Not implemented
193 
194 };
195 
196 #endif
vtkTanglegramItem::PaintTreeLabels
void PaintTreeLabels(vtkContext2D *painter)
vtkContextMouseEvent
data structure to represent mouse events.
Definition: vtkContextMouseEvent.h:40
vtkViewsInfovisModule.h
vtkTanglegramItem
Display two related trees.
Definition: vtkTanglegramItem.h:46
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkTanglegramItem::PaintCorrespondenceLines
void PaintCorrespondenceLines(vtkContext2D *painter)
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:68
vtkTanglegramItem::SetOrientation
void SetOrientation(int orientation)
VTKVIEWSINFOVIS_EXPORT
#define VTKVIEWSINFOVIS_EXPORT
Definition: vtkViewsInfovisModule.h:15
vtkTanglegramItem::MouseDoubleClickEvent
virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &event)
vtkTanglegramItem::Hit
virtual bool Hit(const vtkContextMouseEvent &mouse)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkTanglegramItem::~vtkTanglegramItem
~vtkTanglegramItem()
vtkSmartPointer< vtkDendrogramItem >
vtkTanglegramItem::ReorderTreeAtVertex
void ReorderTreeAtVertex(vtkIdType parent, vtkTree *tree)
vtkTanglegramItem::GetOrientation
int GetOrientation()
vtkgl::table
GLenum GLsizei GLenum GLenum const GLvoid * table
Definition: vtkgl.h:11332
vtkTanglegramItem::RefreshBuffers
void RefreshBuffers(vtkContext2D *painter)
vtkContext2D
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:57
vtkContextItem.h
vtkTanglegramItem::GetTable
vtkTable * GetTable()
vtkgl::event
struct _cl_event * event
Definition: vtkgl.h:14387
vtkTanglegramItem::New
static vtkTanglegramItem * New()
vtkTanglegramItem::SetTable
void SetTable(vtkTable *table)
vtkTree
A rooted tree data structure.
Definition: vtkTree.h:60
vtkTanglegramItem::GetPositionScoreForVertex
double GetPositionScoreForVertex(vtkIdType vertex, vtkTree *tree)
vtkTanglegramItem::SetTree1
virtual void SetTree1(vtkTree *tree)
vtkTanglegramItem::vtkTanglegramItem
vtkTanglegramItem()
vtkTanglegramItem::ReorderTree
void ReorderTree()
vtkTanglegramItem::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSetStringMacro
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:104
vtkSmartPointer.h
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkTanglegramItem::PositionTree2
void PositionTree2()
vtkTanglegramItem::SetTreeLineWidth
void SetTreeLineWidth(float width)
vtkgl::width
GLint GLint GLsizei width
Definition: vtkgl.h:11316
vtkContextItem
base class for items that are part of a vtkContextScene.
Definition: vtkContextItem.h:34
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:74
vtkTanglegramItem::GenerateLookupTable
void GenerateLookupTable()
vtkTanglegramItem::GetTreeLineWidth
float GetTreeLineWidth()
vtkX3D::orientation
@ orientation
Definition: vtkX3D.h:262
vtkTanglegramItem::SetTree2
virtual void SetTree2(vtkTree *tree)
vtkDendrogramItem
A 2D graphics item for rendering a tree as a dendrogram.
Definition: vtkDendrogramItem.h:57
vtkTable.h
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:45
vtkTanglegramItem::Paint
virtual bool Paint(vtkContext2D *painter)