VTK
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkDendrogramItem Class Reference

A 2D graphics item for rendering a tree as a dendrogram. More...

#include <vtkDendrogramItem.h>

Inheritance diagram for vtkDendrogramItem:
Inheritance graph
[legend]
Collaboration diagram for vtkDendrogramItem:
Collaboration graph
[legend]

List of all members.

Classes

class  CompareWeightedVertices
struct  WeightedVertex

Public Types

typedef vtkContextItem Superclass
enum  { LEFT_TO_RIGHT, UP_TO_DOWN, RIGHT_TO_LEFT, DOWN_TO_UP }

Public Member Functions

virtual int IsA (const char *type)
vtkDendrogramItemNewInstance () const
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetTree (vtkTree *tree)
vtkTreeGetTree ()
void CollapseToNumberOfLeafNodes (unsigned int n)
vtkTreeGetPrunedTree ()
void SetColorArray (const char *arrayName)
void SetOrientation (int orientation)
int GetOrientation ()
double GetAngleForOrientation (int orientation)
double GetTextAngleForOrientation (int orientation)
void PrepareToPaint (vtkContext2D *painter)
virtual void GetBounds (double bounds[4])
void ComputeLabelWidth (vtkContext2D *painter)
float GetLabelWidth ()
bool GetPositionOfVertex (std::string vertexName, double position[2])
virtual bool Paint (vtkContext2D *painter)
virtual bool Hit (const vtkContextMouseEvent &mouse)
virtual void SetExtendLeafNodes (bool)
virtual bool GetExtendLeafNodes ()
virtual void ExtendLeafNodesOn ()
virtual void ExtendLeafNodesOff ()
virtual void SetDrawLabels (bool)
virtual bool GetDrawLabels ()
virtual void DrawLabelsOn ()
virtual void DrawLabelsOff ()
virtual void SetPosition (float, float)
void SetPosition (float[2])
void SetPosition (const vtkVector2f &pos)
virtual floatGetPosition ()
virtual void GetPosition (float &, float &)
virtual void GetPosition (float[2])
vtkVector2f GetPositionVector ()
virtual double GetLeafSpacing ()
virtual void SetLeafSpacing (double)
virtual float GetLineWidth ()
virtual void SetLineWidth (float)
virtual void SetDisplayNumberOfCollapsedLeafNodes (bool)
virtual bool GetDisplayNumberOfCollapsedLeafNodes ()
virtual void DisplayNumberOfCollapsedLeafNodesOn ()
virtual void DisplayNumberOfCollapsedLeafNodesOff ()
virtual vtkStdString GetDistanceArrayName ()
virtual void SetDistanceArrayName (vtkStdString)
virtual vtkStdString GetVertexNameArrayName ()
virtual void SetVertexNameArrayName (vtkStdString)
virtual bool MouseDoubleClickEvent (const vtkContextMouseEvent &event)

Static Public Member Functions

static vtkDendrogramItemNew ()
static int IsTypeOf (const char *type)
static vtkDendrogramItemSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkDendrogramItem ()
 ~vtkDendrogramItem ()
virtual void RebuildBuffers ()
virtual void PaintBuffers (vtkContext2D *painter)
virtual bool IsDirty ()
void ComputeMultipliers ()
void ComputeBounds ()
void CountLeafNodes ()
int CountLeafNodes (vtkIdType vertex)
vtkIdType GetClosestVertex (double x, double y)
void CollapseSubTree (vtkIdType vertex)
void ExpandSubTree (vtkIdType vertex)
vtkIdType GetOriginalId (vtkIdType vertex)
vtkIdType GetPrunedIdForOriginalId (vtkIdType originalId)
vtkIdType GetClickedCollapsedSubTree (double x, double y)
void UpdateVisibleSceneExtent (vtkContext2D *painter)
bool LineIsVisible (double x0, double y0, double x1, double y1)
void SetOrientation (vtkTree *tree, int orientation)
void PositionColorLegend ()

Protected Attributes

vtkVector2f PositionVector
floatPosition
vtkSmartPointer< vtkTreeTree
vtkSmartPointer< vtkTreeLayoutTree

Detailed Description

A 2D graphics item for rendering a tree as a dendrogram.

Draw a tree as a dendrogram The input tree's vertex data must contain at least two arrays. The first required array is a vtkStringArray called "node name". This array is used to label the leaf nodes of the tree. The second required array is a scalar array called "node weight". This array is used by vtkTreeLayoutStrategy to set any particular node's distance from the root of the tree.

The vtkNewickTreeReader automatically initializes both of these required arrays in its output tree.

.SEE ALSO vtkTree vtkNewickTreeReader

Tests:
vtkDendrogramItem (Tests)

Definition at line 56 of file vtkDendrogramItem.h.


Member Typedef Documentation

Reimplemented from vtkContextItem.

Definition at line 60 of file vtkDendrogramItem.h.


Member Enumeration Documentation

anonymous enum

Enum for Orientation.

Enumerator:
LEFT_TO_RIGHT 
UP_TO_DOWN 
RIGHT_TO_LEFT 
DOWN_TO_UP 

Definition at line 222 of file vtkDendrogramItem.h.


Constructor & Destructor Documentation


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

static int vtkDendrogramItem::IsTypeOf ( const char *  name) [static]

Return 1 if this class type 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.

virtual int vtkDendrogramItem::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.

Reimplemented from vtkContextItem.

virtual vtkObjectBase* vtkDendrogramItem::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkContextItem.

Reimplemented from vtkContextItem.

virtual void vtkDendrogramItem::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

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 vtkDendrogramItem::SetTree ( vtkTree tree) [virtual]

Set the tree that this item draws. Note that this tree's vertex data must contain a vtkStringArray called "node name". The vtkNewickTreeReader automatically creates this required array for you.

Get the tree that this item draws.

Collapse subtrees until there are only n leaf nodes left in the tree. The leaf nodes that remain are those that are closest to the root. Any subtrees that were collapsed prior to this function being called may be re-expanded.

Get the collapsed tree

void vtkDendrogramItem::SetColorArray ( const char *  arrayName)

Indicate which array within the Tree's VertexData should be used to color the tree. The specified array must be a vtkDoubleArray. By default, the tree will be drawn in black.

virtual void vtkDendrogramItem::SetExtendLeafNodes ( bool  ) [virtual]

Get/set whether or not leaf nodes should be extended so that they all line up vertically. The default is to NOT extend leaf nodes. When extending leaf nodes, the extra length is drawn in grey so as to distinguish it from the actual length of the leaf node.

virtual bool vtkDendrogramItem::GetExtendLeafNodes ( ) [virtual]

Get/set whether or not leaf nodes should be extended so that they all line up vertically. The default is to NOT extend leaf nodes. When extending leaf nodes, the extra length is drawn in grey so as to distinguish it from the actual length of the leaf node.

virtual void vtkDendrogramItem::ExtendLeafNodesOn ( ) [virtual]

Get/set whether or not leaf nodes should be extended so that they all line up vertically. The default is to NOT extend leaf nodes. When extending leaf nodes, the extra length is drawn in grey so as to distinguish it from the actual length of the leaf node.

virtual void vtkDendrogramItem::ExtendLeafNodesOff ( ) [virtual]

Get/set whether or not leaf nodes should be extended so that they all line up vertically. The default is to NOT extend leaf nodes. When extending leaf nodes, the extra length is drawn in grey so as to distinguish it from the actual length of the leaf node.

void vtkDendrogramItem::SetOrientation ( int  orientation)

Set which way the tree should face within the visualization. The default is for the tree to be drawn left to right.

Get the current tree orientation.

Get the rotation angle (in degrees) that corresponds to the given tree orientation. For the default orientation (LEFT_TO_RIGHT), this is 90 degrees.

Get the angle that vertex labels should be rotated for the correponding tree orientation. For the default orientation (LEFT_TO_RIGHT), this is 0 degrees.

virtual void vtkDendrogramItem::SetDrawLabels ( bool  ) [virtual]

Get/Set whether or not leaf nodes should be labeled by this class. Default is true.

virtual bool vtkDendrogramItem::GetDrawLabels ( ) [virtual]

Get/Set whether or not leaf nodes should be labeled by this class. Default is true.

virtual void vtkDendrogramItem::DrawLabelsOn ( ) [virtual]

Get/Set whether or not leaf nodes should be labeled by this class. Default is true.

virtual void vtkDendrogramItem::DrawLabelsOff ( ) [virtual]

Get/Set whether or not leaf nodes should be labeled by this class. Default is true.

virtual void vtkDendrogramItem::SetPosition ( float  ,
float   
) [virtual]

Set the position of the dendrogram.

Set the position of the dendrogram.

Set the position of the dendrogram.

virtual float* vtkDendrogramItem::GetPosition ( ) [virtual]

Get position of the dendrogram.

virtual void vtkDendrogramItem::GetPosition ( float ,
float  
) [virtual]

Get position of the dendrogram.

virtual void vtkDendrogramItem::GetPosition ( float  [2]) [virtual]

Get position of the dendrogram.

Get position of the dendrogram.

Get/Set the spacing between the leaf nodes in our dendrogram. Default is 18 pixels.

virtual void vtkDendrogramItem::SetLeafSpacing ( double  ) [virtual]

Get/Set the spacing between the leaf nodes in our dendrogram. Default is 18 pixels.

This function calls RebuildBuffers() if necessary. Once PrepareToPaint() has been called, GetBounds() is guaranteed to provide useful information.

virtual void vtkDendrogramItem::GetBounds ( double  bounds[4]) [virtual]

Get the bounds for this item as (Xmin,Xmax,Ymin,Ymax). These bounds are only guaranteed to be accurate after Paint() or PrepareToPaint() has been called.

Compute the width of the longest leaf node label.

Get the width of the longest leaf node label.

bool vtkDendrogramItem::GetPositionOfVertex ( std::string  vertexName,
double  position[2] 
)

Find the position of the vertex with the specified name. Store this information in the passed array. Returns true if the vertex was found, false otherwise.

virtual bool vtkDendrogramItem::Paint ( vtkContext2D painter) [virtual]

Paints the input tree as a dendrogram.

Reimplemented from vtkAbstractContextItem.

virtual float vtkDendrogramItem::GetLineWidth ( ) [virtual]

Get/Set how wide the edges of this dendrogram should be. Default is one pixel.

virtual void vtkDendrogramItem::SetLineWidth ( float  ) [virtual]

Get/Set how wide the edges of this dendrogram should be. Default is one pixel.

Get/set whether or not the number of collapsed leaf nodes should be written inside the triangle representing a collapsed subtree. Default is true.

Get/set whether or not the number of collapsed leaf nodes should be written inside the triangle representing a collapsed subtree. Default is true.

Get/set whether or not the number of collapsed leaf nodes should be written inside the triangle representing a collapsed subtree. Default is true.

Get/set whether or not the number of collapsed leaf nodes should be written inside the triangle representing a collapsed subtree. Default is true.

Get/Set the name of the array that specifies the distance of each vertex from the root (NOT the vertex's parent). This array should be a part of the input tree's VertexData. By default, this value is "node weight", which is the name of the array created by vtkNewickTreeReader.

Get/Set the name of the array that specifies the distance of each vertex from the root (NOT the vertex's parent). This array should be a part of the input tree's VertexData. By default, this value is "node weight", which is the name of the array created by vtkNewickTreeReader.

Get/Set the name of a vtkStringArray that specifies the names of the vertices of the input tree. This array should be a part of the input tree's VertexData. By default, this value is "node name", which is the name of the array created by vtkNewickTreeReader.

Get/Set the name of a vtkStringArray that specifies the names of the vertices of the input tree. This array should be a part of the input tree's VertexData. By default, this value is "node name", which is the name of the array created by vtkNewickTreeReader.

virtual bool vtkDendrogramItem::Hit ( const vtkContextMouseEvent mouse) [virtual]

Returns true if the transform is interactive, false otherwise.

Reimplemented from vtkAbstractContextItem.

virtual bool vtkDendrogramItem::MouseDoubleClickEvent ( const vtkContextMouseEvent event) [virtual]

Collapse or expand a subtree when the user double clicks on an internal node.

Reimplemented from vtkAbstractContextItem.

virtual void vtkDendrogramItem::RebuildBuffers ( ) [protected, virtual]

Generate some data needed for painting. We cache this information as it only needs to be generated when the input data changes.

virtual void vtkDendrogramItem::PaintBuffers ( vtkContext2D painter) [protected, virtual]

This function does the bulk of the actual work in rendering our dendrogram

virtual bool vtkDendrogramItem::IsDirty ( ) [protected, virtual]

This function returns a bool indicating whether or not we need to rebuild our cached data before painting.

Compute how to scale our data so that text labels will fit within the bounds determined by the spacing between the leaf nodes of the tree.

void vtkDendrogramItem::ComputeBounds ( ) [protected]

Compute the bounds of our tree in pixel coordinates.

void vtkDendrogramItem::CountLeafNodes ( ) [protected]

Count the number of leaf nodes in the tree

Count the number of leaf nodes that descend from a given vertex.

Get the tree vertex closest to the specified coordinates.

void vtkDendrogramItem::CollapseSubTree ( vtkIdType  vertex) [protected]

Collapse the subtree rooted at vertex.

void vtkDendrogramItem::ExpandSubTree ( vtkIdType  vertex) [protected]

Expand the previously collapsed subtree rooted at vertex.

Look up the original ID of a vertex in the pruned tree.

Look up the ID of a vertex in the pruned tree from a vertex ID of the input tree.

Check if the click at (x, y) should be considered as a click on a collapsed subtree. Returns the vtkIdType of the pruned subtree if so, -1 otherwise.

Calculate the extent of the data that is visible within the window. This information is used to ensure that we only draw details that will be seen by the user. This improves rendering speed, particularly for larger data.

bool vtkDendrogramItem::LineIsVisible ( double  x0,
double  y0,
double  x1,
double  y1 
) [protected]

Returns true if any part of the line segment defined by endpoints (x0, y0), (x1, y1) falls within the extent of the currently visible scene. Returns false otherwise.

void vtkDendrogramItem::SetOrientation ( vtkTree tree,
int  orientation 
) [protected]

Internal function. Use SetOrientation(int orientation) instead.


Member Data Documentation

Definition at line 245 of file vtkDendrogramItem.h.

Definition at line 246 of file vtkDendrogramItem.h.

Definition at line 312 of file vtkDendrogramItem.h.

Definition at line 313 of file vtkDendrogramItem.h.


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