vtkConeLayoutStrategy Class Reference

#include <vtkConeLayoutStrategy.h>

Inheritance diagram for vtkConeLayoutStrategy:

Inheritance graph
[legend]
Collaboration diagram for vtkConeLayoutStrategy:

Collaboration graph
[legend]

List of all members.


Detailed Description

produce a cone-tree layout for a forest

vtkConeLayoutStrategy positions the nodes of a tree(forest) in 3D space based on the cone-tree approach first described by Robertson, Mackinlay and Card in Proc. CHI'91. This implementation incorporates refinements to the layout developed by Carriere and Kazman, and by Auber.

The input graph must be a forest (i.e. a set of trees, or a single tree); in the case of a forest, the input will be converted to a single tree by introducing a new root node, and connecting each root in the input forest to the meta-root. The tree is then laid out, after which the meta-root is removed.

The cones are positioned so that children lie in planes parallel to the X-Y plane, with the axis of cones parallel to Z, and with Z coordinate increasing with distance of nodes from the root.

Thanks:
Thanks to David Duke from the University of Leeds for providing this implementation.
Tests:
vtkConeLayoutStrategy (Tests)

Definition at line 55 of file vtkConeLayoutStrategy.h.


Public Types

typedef vtkGraphLayoutStrategy Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void Layout ()
virtual void SetCompactness (float)
virtual float GetCompactness ()
virtual void SetCompression (int)
virtual int GetCompression ()
virtual void CompressionOn ()
virtual void CompressionOff ()
virtual void SetSpacing (float)
virtual float GetSpacing ()

Static Public Member Functions

static vtkConeLayoutStrategyNew ()
static int IsTypeOf (const char *type)
static vtkConeLayoutStrategySafeDownCast (vtkObject *o)

Protected Member Functions

 vtkConeLayoutStrategy ()
 ~vtkConeLayoutStrategy ()
double LocalPlacement (vtkIdType root, vtkPoints *points)
void GlobalPlacement (vtkIdType root, vtkPoints *points, double refX, double refY, double level)

Protected Attributes

float Compactness
int Compression
float Spacing
double MinRadius
double MaxRadius
int NrCones
double SumOfRadii

Member Typedef Documentation

Reimplemented from vtkGraphLayoutStrategy.

Definition at line 60 of file vtkConeLayoutStrategy.h.


Constructor & Destructor Documentation

vtkConeLayoutStrategy::vtkConeLayoutStrategy (  )  [protected]

vtkConeLayoutStrategy::~vtkConeLayoutStrategy (  )  [protected]


Member Function Documentation

static vtkConeLayoutStrategy* vtkConeLayoutStrategy::New (  )  [static]

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

Reimplemented from vtkObject.

virtual const char* vtkConeLayoutStrategy::GetClassName (  )  [virtual]

Reimplemented from vtkGraphLayoutStrategy.

static int vtkConeLayoutStrategy::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 vtkGraphLayoutStrategy.

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

static vtkConeLayoutStrategy* vtkConeLayoutStrategy::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkGraphLayoutStrategy.

void vtkConeLayoutStrategy::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 vtkGraphLayoutStrategy.

virtual void vtkConeLayoutStrategy::SetCompactness ( float   )  [virtual]

Determine the compactness, the ratio between the average width of a cone in the tree, and the height of the cone. The default setting is 0.75 which (empirically) seems reasonable, but this will need adapting depending on the data.

virtual float vtkConeLayoutStrategy::GetCompactness (  )  [virtual]

Determine the compactness, the ratio between the average width of a cone in the tree, and the height of the cone. The default setting is 0.75 which (empirically) seems reasonable, but this will need adapting depending on the data.

virtual void vtkConeLayoutStrategy::SetCompression ( int   )  [virtual]

Determine if layout should be compressed, i.e. the layout puts children closer together, possibly allowing sub-trees to overlap. This is useful if the tree is actually the spanning tree of a graph. For "real" trees, non-compressed layout is best, and is the default.

virtual int vtkConeLayoutStrategy::GetCompression (  )  [virtual]

Determine if layout should be compressed, i.e. the layout puts children closer together, possibly allowing sub-trees to overlap. This is useful if the tree is actually the spanning tree of a graph. For "real" trees, non-compressed layout is best, and is the default.

virtual void vtkConeLayoutStrategy::CompressionOn (  )  [virtual]

Determine if layout should be compressed, i.e. the layout puts children closer together, possibly allowing sub-trees to overlap. This is useful if the tree is actually the spanning tree of a graph. For "real" trees, non-compressed layout is best, and is the default.

virtual void vtkConeLayoutStrategy::CompressionOff (  )  [virtual]

Determine if layout should be compressed, i.e. the layout puts children closer together, possibly allowing sub-trees to overlap. This is useful if the tree is actually the spanning tree of a graph. For "real" trees, non-compressed layout is best, and is the default.

virtual void vtkConeLayoutStrategy::SetSpacing ( float   )  [virtual]

Set the spacing parameter that affects space between layers of the tree. If compression is on, Spacing is the actual distance between layers. If compression is off, actual distance also includes a factor of the compactness and maximum cone radius.

virtual float vtkConeLayoutStrategy::GetSpacing (  )  [virtual]

Set the spacing parameter that affects space between layers of the tree. If compression is on, Spacing is the actual distance between layers. If compression is off, actual distance also includes a factor of the compactness and maximum cone radius.

void vtkConeLayoutStrategy::Layout (  )  [virtual]

Perform the layout.

Implements vtkGraphLayoutStrategy.

double vtkConeLayoutStrategy::LocalPlacement ( vtkIdType  root,
vtkPoints points 
) [protected]

Helper operations for tree layout. Layout is performed in two traversals of the tree. The first traversal finds the position of child nodes relative to their parent. The second traversal positions each node absolutely, working from the initial position of the root node.

void vtkConeLayoutStrategy::GlobalPlacement ( vtkIdType  root,
vtkPoints points,
double  refX,
double  refY,
double  level 
) [protected]


Member Data Documentation

Definition at line 114 of file vtkConeLayoutStrategy.h.

Definition at line 115 of file vtkConeLayoutStrategy.h.

float vtkConeLayoutStrategy::Spacing [protected]

Definition at line 116 of file vtkConeLayoutStrategy.h.

Definition at line 119 of file vtkConeLayoutStrategy.h.

Definition at line 120 of file vtkConeLayoutStrategy.h.

Definition at line 121 of file vtkConeLayoutStrategy.h.

Definition at line 122 of file vtkConeLayoutStrategy.h.


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

Generated on Wed Aug 24 11:32:00 2011 for VTK by  doxygen 1.5.6