|
A library for working with phylogenetic and population genetic data.
v0.32.0
|
|
Go to the documentation of this file. 1 #ifndef GENESIS_TREE_DRAWING_LAYOUT_BASE_H_
2 #define GENESIS_TREE_DRAWING_LAYOUT_BASE_H_
102 Tree const& orig_tree,
106 type( drawing_type );
224 void init_tree_(
Tree const& orig_tree );
227 void set_node_spreadings_leaves_();
229 void set_node_distances_phylogram_();
230 void set_node_distances_cladogram_();
243 bool align_labels_ =
false;
244 double extra_spacer_ = 10.0;
253 #endif // include guard
LayoutShape
Shape of the tree for drawing, either circular or rectangular.
void set_edge_distance_strokes(utils::SvgStroke const &stroke)
utils::SvgDocument to_svg_document() const
void set_edge_shapes(utils::SvgGroup const &shape)
void set_node_shapes(utils::SvgGroup const &shape)
LayoutType
Type of tree for drawing, either phylogram or cladogram.
double extra_spacer() const
virtual ~LayoutBase()=default
void set_edge_spreading_strokes(utils::SvgStroke const &stroke)
Tree const & tree() const
void set_label_spacer_strokes(utils::SvgStroke const &stroke, LayoutSpreading spreading=LayoutSpreading::kLeafNodesOnly)
void ladderize(Tree &tree, LadderizeOrder order)
Ladderize a Tree, that is, order its subtrees by size.
void set_edge_strokes(utils::SvgStroke const &stroke)
virtual utils::SvgDocument to_svg_document_() const =0
Class for representing phylogenetic trees.
LayoutSpreading inner_node_spreading() const
LayoutBase & operator=(LayoutBase const &)=default
LayoutBase(Tree const &orig_tree, LayoutType const drawing_type=LayoutType::kCladogram, bool ladderize=true)
Container namespace for all symbols of genesis in order to keep them separate when used as a library.
utils::SvgText & text_template()
bool align_labels() const
LayoutSpreading
Spreading of the nodes of a tree for drawing.