VTK
|
A 2D graphics item for rendering a tree as a dendrogram. More...
#include <vtkDendrogramItem.h>
Classes | |
class | CompareWeightedVertices |
struct | WeightedVertex |
Public Types | |
typedef vtkContextItem | Superclass |
enum | { LEFT_TO_RIGHT, UP_TO_DOWN, RIGHT_TO_LEFT, DOWN_TO_UP } |
Public Types inherited from vtkContextItem | |
typedef vtkAbstractContextItem | Superclass |
Public Types inherited from vtkAbstractContextItem | |
typedef vtkObject | Superclass |
Public Types inherited from vtkObject | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkDendrogramItem * | NewInstance () const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | SetTree (vtkTree *tree) |
vtkTree * | GetTree () |
void | CollapseToNumberOfLeafNodes (unsigned int n) |
vtkTree * | GetPrunedTree () |
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 float * | GetPosition () |
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) |
Public Member Functions inherited from vtkContextItem | |
vtkContextItem * | NewInstance () const |
virtual double | GetOpacity () |
virtual void | SetOpacity (double) |
Public Member Functions inherited from vtkAbstractContextItem | |
vtkAbstractContextItem * | NewInstance () const |
virtual void | Update () |
virtual bool | PaintChildren (vtkContext2D *painter) |
virtual void | ReleaseGraphicsResources () |
unsigned int | AddItem (vtkAbstractContextItem *item) |
bool | RemoveItem (vtkAbstractContextItem *item) |
bool | RemoveItem (unsigned int index) |
vtkAbstractContextItem * | GetItem (unsigned int index) |
unsigned int | GetItemIndex (vtkAbstractContextItem *item) |
unsigned int | GetNumberOfItems () |
void | ClearItems () |
unsigned int | Raise (unsigned int index) |
unsigned int | Lower (unsigned int index) |
virtual vtkAbstractContextItem * | GetPickedItem (const vtkContextMouseEvent &mouse) |
virtual bool | MouseEnterEvent (const vtkContextMouseEvent &mouse) |
virtual bool | MouseMoveEvent (const vtkContextMouseEvent &mouse) |
virtual bool | MouseLeaveEvent (const vtkContextMouseEvent &mouse) |
virtual bool | MouseButtonPressEvent (const vtkContextMouseEvent &mouse) |
virtual bool | MouseButtonReleaseEvent (const vtkContextMouseEvent &mouse) |
virtual bool | MouseWheelEvent (const vtkContextMouseEvent &mouse, int delta) |
virtual bool | KeyPressEvent (const vtkContextKeyEvent &key) |
virtual void | SetScene (vtkContextScene *scene) |
virtual void | SetParent (vtkAbstractContextItem *parent) |
virtual vtkVector2f | MapToParent (const vtkVector2f &point) |
virtual vtkVector2f | MapFromParent (const vtkVector2f &point) |
virtual vtkVector2f | MapToScene (const vtkVector2f &point) |
virtual vtkVector2f | MapFromScene (const vtkVector2f &point) |
virtual unsigned int | StackAbove (unsigned int index, unsigned int under) |
virtual unsigned int | StackUnder (unsigned int child, unsigned int above) |
virtual bool | KeyReleaseEvent (const vtkContextKeyEvent &key) |
vtkContextScene * | GetScene () |
vtkAbstractContextItem * | GetParent () |
virtual bool | GetVisible () |
virtual void | SetVisible (bool) |
virtual bool | GetInteractive () |
virtual void | SetInteractive (bool) |
Public Member Functions inherited from vtkObject | |
vtkObject * | NewInstance () const |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static vtkDendrogramItem * | New () |
static int | IsTypeOf (const char *type) |
static vtkDendrogramItem * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkContextItem | |
static int | IsTypeOf (const char *type) |
static vtkContextItem * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkAbstractContextItem | |
static int | IsTypeOf (const char *type) |
static vtkAbstractContextItem * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObjectBase *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Protected Attributes | |
vtkVector2f | PositionVector |
float * | Position |
vtkSmartPointer< vtkTree > | Tree |
vtkSmartPointer< vtkTree > | LayoutTree |
Protected Attributes inherited from vtkContextItem | |
double | Opacity |
Protected Attributes inherited from vtkAbstractContextItem | |
vtkContextScene * | Scene |
vtkAbstractContextItem * | Parent |
vtkContextScenePrivate * | Children |
bool | Visible |
bool | Interactive |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
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
Definition at line 56 of file vtkDendrogramItem.h.
Definition at line 60 of file vtkDendrogramItem.h.
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.
|
protected |
|
protected |
|
static |
|
static |
|
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 |
|
protectedvirtual |
Reimplemented from vtkContextItem.
vtkDendrogramItem* vtkDendrogramItem::NewInstance | ( | ) | const |
|
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 |
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.
vtkTree* vtkDendrogramItem::GetTree | ( | ) |
Get the tree that this item draws.
void vtkDendrogramItem::CollapseToNumberOfLeafNodes | ( | unsigned int | n | ) |
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.
vtkTree* vtkDendrogramItem::GetPrunedTree | ( | ) |
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 |
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 |
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 |
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 |
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.
int vtkDendrogramItem::GetOrientation | ( | ) |
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 |
Get/Set whether or not leaf nodes should be labeled by this class. Default is true.
|
virtual |
Get/Set whether or not leaf nodes should be labeled by this class. Default is true.
|
virtual |
Get/Set whether or not leaf nodes should be labeled by this class. Default is true.
|
virtual |
Get/Set whether or not leaf nodes should be labeled by this class. Default is true.
Set the position of the dendrogram.
void vtkDendrogramItem::SetPosition | ( | float | [2] | ) |
Set the position of the dendrogram.
void vtkDendrogramItem::SetPosition | ( | const vtkVector2f & | pos | ) |
Set the position of the dendrogram.
|
virtual |
Get position of the dendrogram.
Get position of the dendrogram.
|
virtual |
Get position of the dendrogram.
vtkVector2f vtkDendrogramItem::GetPositionVector | ( | ) |
Get position of the dendrogram.
|
virtual |
Get/Set the spacing between the leaf nodes in our dendrogram. Default is 18 pixels.
|
virtual |
Get/Set the spacing between the leaf nodes in our dendrogram. Default is 18 pixels.
void vtkDendrogramItem::PrepareToPaint | ( | vtkContext2D * | painter | ) |
This function calls RebuildBuffers() if necessary. Once PrepareToPaint() has been called, GetBounds() is guaranteed to provide useful information.
|
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.
void vtkDendrogramItem::ComputeLabelWidth | ( | vtkContext2D * | painter | ) |
Compute the width of the longest leaf node label.
float vtkDendrogramItem::GetLabelWidth | ( | ) |
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 |
Paints the input tree as a dendrogram.
Reimplemented from vtkAbstractContextItem.
|
virtual |
Get/Set how wide the edges of this dendrogram should be. Default is one pixel.
|
virtual |
Get/Set how wide the edges of this dendrogram should be. Default is one pixel.
|
virtual |
Get/set whether or not the number of collapsed leaf nodes should be written inside the triangle representing a collapsed subtree. Default is true.
|
virtual |
Get/set whether or not the number of collapsed leaf nodes should be written inside the triangle representing a collapsed subtree. Default is true.
|
virtual |
Get/set whether or not the number of collapsed leaf nodes should be written inside the triangle representing a collapsed subtree. Default is true.
|
virtual |
Get/set whether or not the number of collapsed leaf nodes should be written inside the triangle representing a collapsed subtree. Default is true.
|
virtual |
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.
|
virtual |
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.
|
virtual |
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 |
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 |
Returns true if the transform is interactive, false otherwise.
Reimplemented from vtkAbstractContextItem.
|
virtual |
Collapse or expand a subtree when the user double clicks on an internal node.
Reimplemented from vtkAbstractContextItem.
|
protectedvirtual |
Generate some data needed for painting. We cache this information as it only needs to be generated when the input data changes.
|
protectedvirtual |
This function does the bulk of the actual work in rendering our dendrogram
|
protectedvirtual |
This function returns a bool indicating whether or not we need to rebuild our cached data before painting.
|
protected |
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.
|
protected |
Compute the bounds of our tree in pixel coordinates.
|
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.
|
protected |
Collapse the subtree rooted at 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.
|
protected |
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.
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.
Internal function. Use SetOrientation(int orientation) instead.
|
protected |
|
protected |
Definition at line 245 of file vtkDendrogramItem.h.
|
protected |
Definition at line 246 of file vtkDendrogramItem.h.
|
protected |
Definition at line 312 of file vtkDendrogramItem.h.
|
protected |
Definition at line 313 of file vtkDendrogramItem.h.