#include <vtkConeLayoutStrategy.h>
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.
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 vtkConeLayoutStrategy * | New () |
static int | IsTypeOf (const char *type) |
static vtkConeLayoutStrategy * | SafeDownCast (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 |
vtkConeLayoutStrategy::vtkConeLayoutStrategy | ( | ) | [protected] |
vtkConeLayoutStrategy::~vtkConeLayoutStrategy | ( | ) | [protected] |
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.
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] |
float vtkConeLayoutStrategy::Compactness [protected] |
Definition at line 114 of file vtkConeLayoutStrategy.h.
int vtkConeLayoutStrategy::Compression [protected] |
Definition at line 115 of file vtkConeLayoutStrategy.h.
float vtkConeLayoutStrategy::Spacing [protected] |
Definition at line 116 of file vtkConeLayoutStrategy.h.
double vtkConeLayoutStrategy::MinRadius [protected] |
Definition at line 119 of file vtkConeLayoutStrategy.h.
double vtkConeLayoutStrategy::MaxRadius [protected] |
Definition at line 120 of file vtkConeLayoutStrategy.h.
int vtkConeLayoutStrategy::NrCones [protected] |
Definition at line 121 of file vtkConeLayoutStrategy.h.
double vtkConeLayoutStrategy::SumOfRadii [protected] |
Definition at line 122 of file vtkConeLayoutStrategy.h.