ARB
|
#include <TreeNode.h>
Public Member Functions | |
void | virtually_distribute_length (GBT_LEN len, TreeNode::LengthCollector &collect) const |
ARB_edge (TreeNode *From, TreeNode *To) | |
ARB_edge (TreeNode *From, TreeNode *To, ARB_edge_type Type) | |
ARB_edge (const ARB_edge &otherEdge) | |
DECLARE_ASSIGNMENT_OPERATOR (ARB_edge) | |
ARB_edge_type | get_type () const |
TreeNode * | source () const |
TreeNode * | dest () const |
TreeNode * | son () const |
TreeNode * | other () const |
GBT_LEN | length () const |
void | set_length (GBT_LEN len) |
GBT_LEN | eliminate () |
ARB_edge | inverse () const |
ARB_edge | next () const |
ARB_edge | previous () const |
ARB_edge | counter_next () const |
ARB_edge | counter_previous () const |
bool | operator== (const ARB_edge &otherEdge) const |
bool | operator!= (const ARB_edge &otherEdge) const |
bool | is_edge_to_leaf () const |
bool | is_edge_from_leaf () const |
bool | is_inner_edge () const |
void | set_root () |
void | multifurcate () |
Static Public Member Functions | |
static int | iteration_count (int leafs_in_tree) |
Definition at line 704 of file TreeNode.h.
Definition at line 744 of file TreeNode.h.
Referenced by counter_next(), counter_previous(), inverse(), next(), and previous().
|
inline |
Definition at line 749 of file TreeNode.h.
References rt_assert.
|
inline |
Definition at line 756 of file TreeNode.h.
References rt_assert.
void ARB_edge::virtually_distribute_length | ( | GBT_LEN | len, |
TreeNode::LengthCollector & | collect | ||
) | const |
distribute length to all adjacent edges. Longer edges receive more than shorter ones.
Edges with length zero will not be changed, instead both edges "beyond" the edge will be affected (they will be affected equally to direct edges, because edges at multifurcations are considered to BE direct edges).
Note: length will not be distributed to tree-struction itself (yet), but collected in 'collect'
Definition at line 520 of file TreeNode.cxx.
References inverse(), and is_normal().
Referenced by TreeNode::LengthCollector::independent_distribution().
ARB_edge::DECLARE_ASSIGNMENT_OPERATOR | ( | ARB_edge | ) |
|
inline |
Definition at line 766 of file TreeNode.h.
Referenced by GroupSearch::perform_search().
|
inline |
Definition at line 767 of file TreeNode.h.
Referenced by eliminate(), is_edge_from_leaf(), and GroupSearch::perform_search().
|
inline |
Definition at line 768 of file TreeNode.h.
Referenced by eliminate(), is_edge_to_leaf(), GroupIterator::node(), and GroupSearch::perform_search().
|
inline |
Definition at line 770 of file TreeNode.h.
References EDGE_TO_ROOT.
Referenced by eliminate(), length(), multifurcate(), randomMixTree(), set_length(), and set_root().
|
inline |
Definition at line 771 of file TreeNode.h.
References EDGE_TO_ROOT.
|
inline |
Definition at line 773 of file TreeNode.h.
References TreeNode::get_branchlength(), ROOT_EDGE, and son().
Referenced by TreeNode::LengthCollector::independent_distribution().
|
inline |
Definition at line 777 of file TreeNode.h.
References ROOT_EDGE, TreeNode::set_branchlength(), and son().
Referenced by TreeNode::LengthCollector::independent_distribution().
|
inline |
eliminates edge (zeroes length and bootstrap). returns eliminated length.
Definition at line 786 of file TreeNode.h.
References dest(), TreeNode::reset_length_and_bootstrap(), ROOT_EDGE, son(), and source().
Referenced by TreeNode::LengthCollector::eliminate_parent_edge().
|
inline |
Definition at line 794 of file TreeNode.h.
References ARB_edge(), EDGE_TO_LEAF, EDGE_TO_ROOT, and ROOT_EDGE.
Referenced by counter_next(), counter_previous(), leafEdge(), next(), previous(), and virtually_distribute_length().
|
inline |
Definition at line 804 of file TreeNode.h.
References ARB_edge(), EDGE_TO_LEAF, EDGE_TO_ROOT, TreeNode::get_brother(), inverse(), is_edge_to_leaf(), TreeNode::is_rightson(), TreeNode::is_root_node(), TreeNode::is_son_of(), ROOT_EDGE, and rt_assert.
Referenced by GroupSearch::perform_search().
|
inline |
Definition at line 815 of file TreeNode.h.
References ARB_edge(), EDGE_TO_LEAF, EDGE_TO_ROOT, TreeNode::get_brother(), inverse(), is_edge_from_leaf(), TreeNode::is_leftson(), TreeNode::is_root_node(), TreeNode::is_son_of(), ROOT_EDGE, and rt_assert.
|
inline |
Definition at line 827 of file TreeNode.h.
References ARB_edge(), EDGE_TO_LEAF, EDGE_TO_ROOT, TreeNode::get_brother(), inverse(), is_edge_to_leaf(), TreeNode::is_leftson(), TreeNode::is_root_node(), TreeNode::is_son_of(), ROOT_EDGE, and rt_assert.
|
inline |
Definition at line 838 of file TreeNode.h.
References ARB_edge(), EDGE_TO_LEAF, EDGE_TO_ROOT, TreeNode::get_brother(), inverse(), is_edge_from_leaf(), TreeNode::is_rightson(), TreeNode::is_root_node(), TreeNode::is_son_of(), ROOT_EDGE, and rt_assert.
returns number of different edges produced by next() / previous():
Definition at line 850 of file TreeNode.h.
References leafs_2_edges(), and UNROOTED.
Referenced by SearchedTree::get_edge_iteration_count().
|
inline |
Definition at line 857 of file TreeNode.h.
Referenced by operator!=().
|
inline |
Definition at line 860 of file TreeNode.h.
References operator==().
|
inline |
true if edge is leaf edge AND points towards the leaf
Definition at line 864 of file TreeNode.h.
References dest(), and TreeNode::is_leaf().
Referenced by counter_next(), is_inner_edge(), and next().
|
inline |
true if edge is leaf edge AND points away from the leaf
Definition at line 868 of file TreeNode.h.
References TreeNode::is_leaf(), and source().
Referenced by counter_previous(), is_inner_edge(), and previous().
|
inline |
true for inner edges
Definition at line 872 of file TreeNode.h.
References is_edge_from_leaf(), and is_edge_to_leaf().
|
inline |
Definition at line 877 of file TreeNode.h.
References TreeNode::set_root(), and son().
Referenced by AWT_graphic_tree::handle_command(), and nt_add().
void ARB_edge::multifurcate | ( | ) |
eliminate edge and distribute length to adjacent edges
Definition at line 578 of file TreeNode.cxx.
References TreeNode::LengthCollector::eliminate_parent_edge(), TreeNode::LengthCollector::independent_distribution(), and son().
Referenced by TreeNode::multifurcate().