A toolkit for working with phylogenetic data.
v0.20.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LayoutNodeData Class Reference

#include <genesis/tree/drawing/layout_tree.hpp>

Inherits DefaultNodeData.

Detailed Description

Data class for LayoutTreeNodes.

It is derived from tree::DefaultNodeData, 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 ()=default
 
virtual std::unique_ptr
< BaseNodeData
clone () const override
 Polymorphically copy an instance of this class. Use instead of copy constructor. More...
 
LayoutNodeDataoperator= (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 DefaultNodeData
 DefaultNodeData (DefaultNodeData &&)=delete
 
virtual ~DefaultNodeData ()=default
 
DefaultNodeDataoperator= (DefaultNodeData &&)=delete
 
- Public Member Functions inherited from BaseNodeData
 BaseNodeData (BaseNodeData &&)=delete
 Deleted move constructor. More...
 
virtual ~BaseNodeData ()=default
 Virtual destructor. Needed for polymorphism. More...
 
BaseNodeDataoperator= (BaseNodeData &&)=delete
 Deleted move assignment. More...
 

Static Public Member Functions

static std::unique_ptr
< LayoutNodeData
create ()
 
- Static Public Member Functions inherited from DefaultNodeData
static std::unique_ptr
< DefaultNodeData
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...
 
int parent_index = -1
 
utils::SvgGroup shape
 
double spreading = -1.0
 Position of the node along the second axis. More...
 
- Public Attributes inherited from DefaultNodeData
std::string name
 Name of the node. More...
 

Protected Member Functions

 LayoutNodeData ()=default
 
 LayoutNodeData (LayoutNodeData const &)=default
 
LayoutNodeDataoperator= (LayoutNodeData const &)=default
 
- Protected Member Functions inherited from DefaultNodeData
 DefaultNodeData ()=default
 
 DefaultNodeData (DefaultNodeData const &)=default
 
DefaultNodeDataoperator= (DefaultNodeData 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...
 
BaseNodeDataoperator= (BaseNodeData const &)=default
 Protected copy assignment. Not used right now. More...
 

Constructor & Destructor Documentation

virtual ~LayoutNodeData ( )
virtualdefault
LayoutNodeData ( LayoutNodeData &&  )
delete
LayoutNodeData ( )
protecteddefault
LayoutNodeData ( LayoutNodeData const &  )
protecteddefault

Member Function Documentation

virtual std::unique_ptr< BaseNodeData > clone ( ) const
inlineoverridevirtual

Polymorphically copy an instance of this class. Use instead of copy constructor.

Reimplemented from DefaultNodeData.

Definition at line 114 of file layout_tree.hpp.

static std::unique_ptr< LayoutNodeData > create ( )
inlinestatic

Definition at line 104 of file layout_tree.hpp.

LayoutNodeData& operator= ( LayoutNodeData &&  )
delete
LayoutNodeData& operator= ( LayoutNodeData const &  )
protecteddefault
virtual std::unique_ptr< BaseNodeData > recreate ( ) const
inlineoverridevirtual

Polymorphically create a default-constructed instance of this class with the same derived type as it was called on.

Reimplemented from DefaultNodeData.

Definition at line 109 of file layout_tree.hpp.

Member Data Documentation

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.

int parent_index = -1

Definition at line 146 of file layout_tree.hpp.

Definition at line 148 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.


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