VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkTanglegramItem Class Reference

Display two related trees. More...

#include <vtkTanglegramItem.h>

Inheritance diagram for vtkTanglegramItem:
[legend]
Collaboration diagram for vtkTanglegramItem:
[legend]

Public Types

typedef vtkContextItem Superclass
 
- Public Types inherited from vtkContextItem
typedef vtkAbstractContextItem Superclass
 
- Public Types inherited from vtkAbstractContextItem
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkTanglegramItemNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void SetTree1 (vtkTree *tree)
 Set the first tree. More...
 
virtual void SetTree2 (vtkTree *tree)
 Set the second tree. More...
 
void SetOrientation (int orientation)
 Set which way the tanglegram should face within the visualization. More...
 
int GetOrientation ()
 Get the current orientation. More...
 
bool Hit (const vtkContextMouseEvent &mouse) override
 Returns true if the transform is interactive, false otherwise. More...
 
bool MouseDoubleClickEvent (const vtkContextMouseEvent &event) override
 Propagate any double click onto the dendrograms to check if any subtrees should be collapsed or expanded. More...
 
vtkTableGetTable ()
 Get/Set the table that describes the correspondences between the two trees. More...
 
void SetTable (vtkTable *table)
 Get/Set the table that describes the correspondences between the two trees. More...
 
virtual char * GetTree1Label ()
 Get/Set the label for tree #1. More...
 
virtual void SetTree1Label (const char *)
 Get/Set the label for tree #1. More...
 
virtual char * GetTree2Label ()
 Get/Set the label for tree #2. More...
 
virtual void SetTree2Label (const char *)
 Get/Set the label for tree #2. More...
 
virtual int GetMinimumVisibleFontSize ()
 Get/Set the smallest font size that is still considered legible. More...
 
virtual void SetMinimumVisibleFontSize (int)
 Get/Set the smallest font size that is still considered legible. More...
 
virtual int GetLabelSizeDifference ()
 Get/Set how much larger the dendrogram labels should be compared to the vertex labels. More...
 
virtual void SetLabelSizeDifference (int)
 Get/Set how much larger the dendrogram labels should be compared to the vertex labels. More...
 
virtual float GetCorrespondenceLineWidth ()
 Get/Set how wide the correspondence lines should be. More...
 
virtual void SetCorrespondenceLineWidth (float)
 Get/Set how wide the correspondence lines should be. More...
 
float GetTreeLineWidth ()
 Get/Set how wide the edges of the trees should be. More...
 
void SetTreeLineWidth (float width)
 Get/Set how wide the edges of the trees should be. More...
 
- Public Member Functions inherited from vtkContextItem
vtkContextItemNewInstance () const
 
virtual double GetOpacity ()
 Get the opacity of the item. More...
 
virtual void SetOpacity (double)
 Set the opacity of the item. More...
 
- Public Member Functions inherited from vtkAbstractContextItem
vtkAbstractContextItemNewInstance () const
 
virtual void Update ()
 Perform any updates to the item that may be necessary before rendering. More...
 
virtual bool PaintChildren (vtkContext2D *painter)
 Paint the children of the item, should be called whenever the children need to be rendered. More...
 
virtual void ReleaseGraphicsResources ()
 Release graphics resources hold by the item. More...
 
vtkIdType AddItem (vtkAbstractContextItem *item)
 Add child items to this item. More...
 
bool RemoveItem (vtkAbstractContextItem *item)
 Remove child item from this item. More...
 
bool RemoveItem (vtkIdType index)
 Remove child item from this item. More...
 
vtkAbstractContextItemGetItem (vtkIdType index)
 Get the item at the specified index. More...
 
vtkIdType GetItemIndex (vtkAbstractContextItem *item)
 Get the index of the specified item in itemIndex. More...
 
vtkIdType GetNumberOfItems ()
 Get the number of child items. More...
 
void ClearItems ()
 Remove all child items from this item. More...
 
vtkIdType Raise (vtkIdType index)
 Raises the child to the top of the item's stack. More...
 
virtual vtkIdType StackAbove (vtkIdType index, vtkIdType under)
 Raises the child above the under sibling. More...
 
vtkIdType Lower (vtkIdType index)
 Lowers the child to the bottom of the item's stack. More...
 
virtual vtkIdType StackUnder (vtkIdType child, vtkIdType above)
 Lowers the child under the above sibling. More...
 
virtual vtkAbstractContextItemGetPickedItem (const vtkContextMouseEvent &mouse)
 Return the item under the mouse. More...
 
virtual bool MouseEnterEvent (const vtkContextMouseEvent &mouse)
 Mouse enter event. More...
 
virtual bool MouseMoveEvent (const vtkContextMouseEvent &mouse)
 Mouse move event. More...
 
virtual bool MouseLeaveEvent (const vtkContextMouseEvent &mouse)
 Mouse leave event. More...
 
virtual bool MouseButtonPressEvent (const vtkContextMouseEvent &mouse)
 Mouse button down event Return true if the item holds the event, false if the event can be propagated to other items. More...
 
virtual bool MouseButtonReleaseEvent (const vtkContextMouseEvent &mouse)
 Mouse button release event. More...
 
virtual bool MouseWheelEvent (const vtkContextMouseEvent &mouse, int delta)
 Mouse wheel event, positive delta indicates forward movement of the wheel. More...
 
virtual bool KeyPressEvent (const vtkContextKeyEvent &key)
 Key press event. More...
 
virtual bool KeyReleaseEvent (const vtkContextKeyEvent &key)
 Key release event. More...
 
virtual void SetScene (vtkContextScene *scene)
 Set the vtkContextScene for the item, always set for an item in a scene. More...
 
vtkContextSceneGetScene ()
 Get the vtkContextScene for the item, always set for an item in a scene. More...
 
virtual void SetParent (vtkAbstractContextItem *parent)
 Set the parent item. More...
 
vtkAbstractContextItemGetParent ()
 Get the parent item. More...
 
virtual vtkVector2f MapToParent (const vtkVector2f &point)
 Maps the point to the parent coordinate system. More...
 
virtual vtkVector2f MapFromParent (const vtkVector2f &point)
 Maps the point from the parent coordinate system. More...
 
virtual vtkVector2f MapToScene (const vtkVector2f &point)
 Maps the point to the scene coordinate system. More...
 
virtual vtkVector2f MapFromScene (const vtkVector2f &point)
 Maps the point from the scene coordinate system. More...
 
virtual bool GetVisible ()
 Get the visibility of the item (should it be drawn). More...
 
virtual void SetVisible (bool)
 Set the visibility of the item (should it be drawn). More...
 
virtual bool GetInteractive ()
 Get if the item is interactive (should respond to mouse events). More...
 
virtual void SetInteractive (bool)
 Set if the item is interactive (should respond to mouse events). More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

Static Public Member Functions

static vtkTanglegramItemNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkTanglegramItemSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkContextItem
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkContextItemSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractContextItem
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAbstractContextItemSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkTanglegramItem ()
 
 ~vtkTanglegramItem () override
 
void RefreshBuffers (vtkContext2D *painter)
 Update the bounds of our two dendrograms. More...
 
void PositionTree2 ()
 Calculate and set an appropriate position for our second dendrogram. More...
 
void PaintCorrespondenceLines (vtkContext2D *painter)
 Draw the lines between the corresponding vertices of our two dendrograms. More...
 
void PaintTreeLabels (vtkContext2D *painter)
 Draw the labels of our two dendrograms. More...
 
void ReorderTree ()
 Reorder the children of tree #2 to minimize the amount of crossings in our tanglegram. More...
 
void ReorderTreeAtVertex (vtkIdType parent, vtkTree *tree)
 Helper function used by ReorderTree. More...
 
double GetPositionScoreForVertex (vtkIdType vertex, vtkTree *tree)
 Helper function used by ReorderTreeAtVertex. More...
 
void GenerateLookupTable ()
 Initialize the lookup table used to color the lines between the two dendrograms. More...
 
bool Paint (vtkContext2D *painter) override
 Paints the tree & associated table as a heatmap. More...
 
- Protected Member Functions inherited from vtkContextItem
 vtkContextItem ()
 
 ~vtkContextItem () override
 
- Protected Member Functions inherited from vtkAbstractContextItem
 vtkAbstractContextItem ()
 
 ~vtkAbstractContextItem () override
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events. More...
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Additional Inherited Members

- Protected Attributes inherited from vtkContextItem
double Opacity
 
- Protected Attributes inherited from vtkAbstractContextItem
vtkContextSceneScene
 Point to the scene the item is on - can be null. More...
 
vtkAbstractContextItemParent
 Point to the parent item - can be null. More...
 
vtkContextScenePrivateChildren
 This structure provides a list of children, along with convenience functions to paint the children etc. More...
 
bool Visible
 Store the visibility of the item (default is true). More...
 
bool Interactive
 Store whether the item should respond to interactions (default is true). More...
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

Display two related trees.

This item draws two trees with connections between their leaf nodes. Use SetTable() to specify what leaf nodes correspond to one another between the two trees. See the documentation for this function for more details on how this table should be formatted.

.SEE ALSO vtkTree vtkTable vtkDendrogramItem vtkNewickTreeReader

Tests:
vtkTanglegramItem (Tests)

Definition at line 46 of file vtkTanglegramItem.h.

Member Typedef Documentation

Definition at line 50 of file vtkTanglegramItem.h.

Constructor & Destructor Documentation

vtkTanglegramItem::vtkTanglegramItem ( )
protected
vtkTanglegramItem::~vtkTanglegramItem ( )
overrideprotected

Member Function Documentation

static vtkTanglegramItem* vtkTanglegramItem::New ( )
static
static vtkTypeBool vtkTanglegramItem::IsTypeOf ( const char *  type)
static
virtual vtkTypeBool vtkTanglegramItem::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkContextItem.

static vtkTanglegramItem* vtkTanglegramItem::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkTanglegramItem::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkContextItem.

vtkTanglegramItem* vtkTanglegramItem::NewInstance ( ) const
void vtkTanglegramItem::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkContextItem.

virtual void vtkTanglegramItem::SetTree1 ( vtkTree tree)
virtual

Set the first tree.

virtual void vtkTanglegramItem::SetTree2 ( vtkTree tree)
virtual

Set the second tree.

vtkTable* vtkTanglegramItem::GetTable ( )

Get/Set the table that describes the correspondences between the two trees.

The first column should contain the names of the leaf nodes from tree #1. The columns of this table should be named after the leaf nodes of tree #2. A non-zero cell should be used to create a connection between the two trees. Different numbers in the table will result in connections being drawn in different colors.

void vtkTanglegramItem::SetTable ( vtkTable table)

Get/Set the table that describes the correspondences between the two trees.

The first column should contain the names of the leaf nodes from tree #1. The columns of this table should be named after the leaf nodes of tree #2. A non-zero cell should be used to create a connection between the two trees. Different numbers in the table will result in connections being drawn in different colors.

virtual char* vtkTanglegramItem::GetTree1Label ( )
virtual

Get/Set the label for tree #1.

virtual void vtkTanglegramItem::SetTree1Label ( const char *  )
virtual

Get/Set the label for tree #1.

virtual char* vtkTanglegramItem::GetTree2Label ( )
virtual

Get/Set the label for tree #2.

virtual void vtkTanglegramItem::SetTree2Label ( const char *  )
virtual

Get/Set the label for tree #2.

void vtkTanglegramItem::SetOrientation ( int  orientation)

Set which way the tanglegram should face within the visualization.

The default is for tree #1 to be drawn left to right.

int vtkTanglegramItem::GetOrientation ( )

Get the current orientation.

virtual int vtkTanglegramItem::GetMinimumVisibleFontSize ( )
virtual

Get/Set the smallest font size that is still considered legible.

If the current zoom level requires our vertex labels to be smaller than this size the labels will not be drawn at all. Default value is 8 pt.

virtual void vtkTanglegramItem::SetMinimumVisibleFontSize ( int  )
virtual

Get/Set the smallest font size that is still considered legible.

If the current zoom level requires our vertex labels to be smaller than this size the labels will not be drawn at all. Default value is 8 pt.

virtual int vtkTanglegramItem::GetLabelSizeDifference ( )
virtual

Get/Set how much larger the dendrogram labels should be compared to the vertex labels.

Because the vertex labels automatically resize based on zoom levels, this is a relative (not absolute) size. Default value is 4 pts larger than the vertex labels.

virtual void vtkTanglegramItem::SetLabelSizeDifference ( int  )
virtual

Get/Set how much larger the dendrogram labels should be compared to the vertex labels.

Because the vertex labels automatically resize based on zoom levels, this is a relative (not absolute) size. Default value is 4 pts larger than the vertex labels.

virtual float vtkTanglegramItem::GetCorrespondenceLineWidth ( )
virtual

Get/Set how wide the correspondence lines should be.

Default is two pixels.

virtual void vtkTanglegramItem::SetCorrespondenceLineWidth ( float  )
virtual

Get/Set how wide the correspondence lines should be.

Default is two pixels.

float vtkTanglegramItem::GetTreeLineWidth ( )

Get/Set how wide the edges of the trees should be.

Default is one pixel.

void vtkTanglegramItem::SetTreeLineWidth ( float  width)

Get/Set how wide the edges of the trees should be.

Default is one pixel.

bool vtkTanglegramItem::Hit ( const vtkContextMouseEvent mouse)
overridevirtual

Returns true if the transform is interactive, false otherwise.

Reimplemented from vtkAbstractContextItem.

bool vtkTanglegramItem::MouseDoubleClickEvent ( const vtkContextMouseEvent event)
overridevirtual

Propagate any double click onto the dendrograms to check if any subtrees should be collapsed or expanded.

Reimplemented from vtkAbstractContextItem.

void vtkTanglegramItem::RefreshBuffers ( vtkContext2D painter)
protected

Update the bounds of our two dendrograms.

void vtkTanglegramItem::PositionTree2 ( )
protected

Calculate and set an appropriate position for our second dendrogram.

void vtkTanglegramItem::PaintCorrespondenceLines ( vtkContext2D painter)
protected

Draw the lines between the corresponding vertices of our two dendrograms.

void vtkTanglegramItem::PaintTreeLabels ( vtkContext2D painter)
protected

Draw the labels of our two dendrograms.

void vtkTanglegramItem::ReorderTree ( )
protected

Reorder the children of tree #2 to minimize the amount of crossings in our tanglegram.

void vtkTanglegramItem::ReorderTreeAtVertex ( vtkIdType  parent,
vtkTree tree 
)
protected

Helper function used by ReorderTree.

Rearrange the children of the specified parent vertex in order to minimize tanglegram crossings.

double vtkTanglegramItem::GetPositionScoreForVertex ( vtkIdType  vertex,
vtkTree tree 
)
protected

Helper function used by ReorderTreeAtVertex.

Get the average height of the vertices that correspond to the vertex parameter. This information is used to determine what order sibling vertices should have within the tree.

void vtkTanglegramItem::GenerateLookupTable ( )
protected

Initialize the lookup table used to color the lines between the two dendrograms.

bool vtkTanglegramItem::Paint ( vtkContext2D painter)
overrideprotectedvirtual

Paints the tree & associated table as a heatmap.

Reimplemented from vtkAbstractContextItem.


The documentation for this class was generated from the following file: