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 ));
186 static std::unique_ptr< LayoutEdgeData >
create()
191 virtual std::unique_ptr< BaseEdgeData >
recreate()
const override
196 virtual std::unique_ptr< BaseEdgeData >
clone()
const override
198 return std::unique_ptr< LayoutEdgeData >(
new LayoutEdgeData( *
this ));
217 #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()
Default class containing the commonly needed data for tree nodes.
virtual std::unique_ptr< BaseNodeData > recreate() const override
Polymorphically create a default-constructed instance of this class with the same derived type as it ...
Default class containing the commonly needed data for tree edges.
Data class for LayoutTreeEdges.
virtual ~LayoutNodeData()=default
Class for representing phylogenetic trees.
utils::SvgStroke spreading_stroke
LayoutEdgeData & operator=(LayoutEdgeData &&)=delete
double spreading
Position of the node along the second axis.
Data class for LayoutTreeNodes.
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 ~LayoutEdgeData()=default
virtual std::unique_ptr< BaseEdgeData > clone() const override
Polymorphically copy an instance of this class. Use instead of copy constructor.