#include <genesis/tree/drawing/layout_tree.hpp>
Inherits CommonNodeData.
Data class for LayoutTreeNodes.
It is derived from tree::CommonNodeData, so that it already contains a name field.
Definition at line 80 of file layout_tree.hpp.
Public Member Functions | |
LayoutNodeData (LayoutNodeData &&)=delete | |
virtual | ~LayoutNodeData () override=default |
virtual std::unique_ptr< BaseNodeData > | clone () const override |
Polymorphically copy an instance of this class. Use instead of copy constructor. More... | |
LayoutNodeData & | operator= (LayoutNodeData &&)=delete |
virtual std::unique_ptr< BaseNodeData > | recreate () const override |
Polymorphically create a default-constructed instance of this class with the same derived type as it was called on. More... | |
Public Member Functions inherited from CommonNodeData | |
CommonNodeData (CommonNodeData &&)=delete | |
virtual | ~CommonNodeData () override=default |
CommonNodeData & | operator= (CommonNodeData &&)=delete |
Public Member Functions inherited from BaseNodeData | |
BaseNodeData (BaseNodeData &&)=delete | |
Deleted move constructor. More... | |
virtual | ~BaseNodeData ()=default |
Virtual destructor. Needed for polymorphism. More... | |
BaseNodeData & | operator= (BaseNodeData &&)=delete |
Deleted move assignment. More... | |
Static Public Member Functions | |
static std::unique_ptr< LayoutNodeData > | create () |
Static Public Member Functions inherited from CommonNodeData | |
static std::unique_ptr< CommonNodeData > | create () |
Static Public Member Functions inherited from BaseNodeData | |
static std::unique_ptr< BaseNodeData > | create () |
Create a new instance of this class. Use instead of default constructor. More... | |
Public Attributes | |
double | distance = -1.0 |
Distance of the node to the root. More... | |
long | parent_index = -1 |
utils::SvgGroup | shape |
utils::SvgStroke | spacer_stroke = utils::SvgStroke( utils::SvgStroke::Type::kNone ) |
double | spreading = -1.0 |
Position of the node along the second axis. More... | |
Public Attributes inherited from CommonNodeData | |
std::string | name |
Name of the node. More... | |
Protected Member Functions | |
LayoutNodeData ()=default | |
LayoutNodeData (LayoutNodeData const &)=default | |
LayoutNodeData & | operator= (LayoutNodeData const &)=default |
Protected Member Functions inherited from CommonNodeData | |
CommonNodeData ()=default | |
CommonNodeData (CommonNodeData const &)=default | |
CommonNodeData & | operator= (CommonNodeData const &)=default |
Protected Member Functions inherited from BaseNodeData | |
BaseNodeData ()=default | |
Protected default constructor. Called from the create() function. More... | |
BaseNodeData (BaseNodeData const &)=default | |
Protected copy constructor. Called from the clone() function. More... | |
BaseNodeData & | operator= (BaseNodeData const &)=default |
Protected copy assignment. Not used right now. More... | |
|
overridevirtualdefault |
|
delete |
|
protecteddefault |
|
protecteddefault |
|
inlineoverridevirtual |
Polymorphically copy an instance of this class. Use instead of copy constructor.
Reimplemented from CommonNodeData.
Definition at line 114 of file layout_tree.hpp.
|
inlinestatic |
Definition at line 104 of file layout_tree.hpp.
|
delete |
|
protecteddefault |
|
inlineoverridevirtual |
Polymorphically create a default-constructed instance of this class with the same derived type as it was called on.
Reimplemented from CommonNodeData.
Definition at line 109 of file layout_tree.hpp.
double distance = -1.0 |
Distance of the node to the root.
For rectangular trees, this is the x coordinate, while for circular trees, this is the radius. This is normalized so that the node furthest away from the root has a distance of 1.
Definition at line 132 of file layout_tree.hpp.
long parent_index = -1 |
Definition at line 146 of file layout_tree.hpp.
utils::SvgGroup shape |
Definition at line 148 of file layout_tree.hpp.
utils::SvgStroke spacer_stroke = utils::SvgStroke( utils::SvgStroke::Type::kNone ) |
Definition at line 149 of file layout_tree.hpp.
double spreading = -1.0 |
Position of the node along the second axis.
As phylogenies usually only need to display branch length, the second dimension is only necessary so that the lines of the branches are actually distinguishable from each other. This value is used for that purpose. That is, for rectangular trees, this is the y coordiante, while for circular trees, this is the angle. It is normalized so that the largest spreading (for the last node of the tree) is 1.
Definition at line 144 of file layout_tree.hpp.