1 #ifndef GENESIS_TREE_DRAWING_LAYOUT_TREE_H_ 2 #define GENESIS_TREE_DRAWING_LAYOUT_TREE_H_ 104 static std::unique_ptr< LayoutNodeData >
create()
109 virtual std::unique_ptr< BaseNodeData >
recreate()
const override 114 virtual std::unique_ptr< BaseNodeData >
clone()
const override 116 return std::unique_ptr< LayoutNodeData >(
new LayoutNodeData( *
this ));
187 static std::unique_ptr< LayoutEdgeData >
create()
192 virtual std::unique_ptr< BaseEdgeData >
recreate()
const override 197 virtual std::unique_ptr< BaseEdgeData >
clone()
const override 199 return std::unique_ptr< LayoutEdgeData >(
new LayoutEdgeData( *
this ));
218 #endif // include guard double distance
Distance of the node to the root.
virtual std::unique_ptr< BaseNodeData > clone() const override
Polymorphically copy an instance of this class. Use instead of copy constructor.
LayoutNodeData & operator=(LayoutNodeData &&)=delete
static std::unique_ptr< LayoutNodeData > create()
utils::SvgStroke distance_stroke
static std::unique_ptr< LayoutEdgeData > create()
utils::SvgStroke spacer_stroke
virtual std::unique_ptr< BaseNodeData > recreate() const override
Polymorphically create a default-constructed instance of this class with the same derived type as it ...
Container namespace for all symbols of genesis in order to keep them separate when used as a library...
Data class for LayoutTreeEdges.
Class for representing phylogenetic trees.
utils::SvgStroke spreading_stroke
virtual ~LayoutNodeData() override=default
double spreading
Position of the node along the second axis.
Common class containing the commonly needed data for tree nodes.
Data class for LayoutTreeNodes.
Common class containing the commonly needed data for tree edges.
virtual std::unique_ptr< BaseEdgeData > recreate() const override
Polymorphically create a default-constructed instance of this class with the same derived type as it ...
virtual std::unique_ptr< BaseEdgeData > clone() const override
Polymorphically copy an instance of this class. Use instead of copy constructor.