A class that encapsulates a newick string description of a tree and metadata about the tree. More...
#include <nxstreesblock.h>
Public Member Functions | |
NxsFullTreeDescription (const std::string &newickStr, const std::string &treeName, int infoFlags) | |
std::vector< std::string > | GetTreeTokens () const |
const std::string & | GetNewick () const |
const std::string & | GetName () const |
bool | IsProcessed () const |
void | AssertProcessed () const |
bool | IsRooted () const |
bool | AllEdgesHaveLengths () const |
bool | SomeEdgesHaveLengths () const |
bool | EdgeLengthsAreAllIntegers () const |
bool | AllTaxaAreIncluded () const |
bool | HasNHXComments () const |
bool | HasPolytomies () const |
bool | HasDegreeTwoNodes () const |
int | smallestIntEdgeLength () const |
double | smallestRealEdgeLength () const |
A class that encapsulates a newick string description of a tree and metadata about the tree.
the NxsTreesBlock stores the trees as NxsFullTreeDescription because during its parse and validation of a tree string. By default, NCL will "process" each tree -- converting the taxon labels to numbers for the taxa (the number will be 1 + the taxon index). During this processing, the trees block detects things about the tree such as whether there are branch lengths on the tree, whether there are polytomies...
This data about the tree is then stored in a NxsFullTreeDescription so that the client code can access some information about a tree before it parses the newick string.
If you do not want to parse the newick string yourself, you can construct a NxsSimpleTree object from a NxsFullTreeDescription object if the NxsFullTreeDescription is "processed"
If the NxsTreesBlock is configured NOT to process trees (see NxsTreesBlock::SetProcessAllTreesDuringParse())
Definition at line 383 of file nxstreesblock.h.