32#ifndef vtkTanglegramItem_h
33#define vtkTanglegramItem_h
35#include "vtkViewsInfovisModule.h"
82 vtkSetStringMacro(Tree1Label);
90 vtkSetStringMacro(Tree2Label);
111 vtkGetMacro(MinimumVisibleFontSize,
int);
122 vtkGetMacro(LabelSizeDifference,
int);
130 vtkGetMacro(CorrespondenceLineWidth,
float);
217 double Tree1Bounds[4];
218 double Tree2Bounds[4];
227 int MinimumVisibleFontSize;
228 int LabelSizeDifference;
229 float CorrespondenceLineWidth;
Class for drawing 2D primitives to a graphical context.
base class for items that are part of a vtkContextScene.
data structure to represent mouse events.
A 2D graphics item for rendering a tree as a dendrogram.
a simple class to control print indentation
map scalar values into colors via a lookup table
a vtkAbstractArray subclass for strings
A table, which contains similar-typed columns of data.
Display two related trees.
void RefreshBuffers(vtkContext2D *painter)
Update the bounds of our two dendrograms.
void ReorderTree()
Reorder the children of tree #2 to minimize the amount of crossings in our tanglegram.
void SetTable(vtkTable *table)
int GetOrientation()
Get the current orientation.
void PaintTreeLabels(vtkContext2D *painter)
Draw the labels of our two dendrograms.
void ReorderTreeAtVertex(vtkIdType parent, vtkTree *tree)
Helper function used by ReorderTree.
void PositionTree2()
Calculate and set an appropriate position for our second dendrogram.
virtual bool Hit(const vtkContextMouseEvent &mouse)
Returns true if the transform is interactive, false otherwise.
void SetTreeLineWidth(float width)
static vtkTanglegramItem * New()
void GenerateLookupTable()
Initialize the lookup table used to color the lines between the two dendrograms.
void PaintCorrespondenceLines(vtkContext2D *painter)
Draw the lines between the corresponding vertices of our two dendrograms.
float GetTreeLineWidth()
Get/Set how wide the edges of the trees should be.
double GetPositionScoreForVertex(vtkIdType vertex, vtkTree *tree)
Helper function used by ReorderTreeAtVertex.
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void SetTree1(vtkTree *tree)
Set the first tree.
virtual bool MouseDoubleClickEvent(const vtkContextMouseEvent &event)
Propagate any double click onto the dendrograms to check if any subtrees should be collapsed or expan...
void SetOrientation(int orientation)
Set which way the tanglegram should face within the visualization.
vtkTable * GetTable()
Get/Set the table that describes the correspondences between the two trees.
virtual void SetTree2(vtkTree *tree)
Set the second tree.
virtual bool Paint(vtkContext2D *painter)
Paints the tree & associated table as a heatmap.
A rooted tree data structure.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.