]> git.donarmstrong.com Git - mothur.git/blob - treenode.cpp
adding treeclimber and unifrac pieces
[mothur.git] / treenode.cpp
1 /*
2  *  treenode.cpp
3  *  Mothur
4  *
5  *  Created by Sarah Westcott on 1/23/09.
6  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
7  *
8  */
9
10 #include "treenode.h"
11
12
13 /****************************************************************/      
14 Node::Node() {
15         //initialize node
16         name = "";
17         branchLength = -1;
18         parent = -1;
19         lchild = -1;
20         rchild = -1;
21         
22 }
23 /****************************************************************/
24 void Node::setName(string Name) {  name = Name; }
25 /****************************************************************/
26 void Node::setGroup(string groups)  { group =groups; }
27 /****************************************************************/
28 void Node::setBranchLength(float l) { branchLength = l; }
29 /****************************************************************/
30 void Node::setParent(int p)  { parent = p; }
31 /****************************************************************/
32 void Node::setIndex(int i)  { vectorIndex = i; }
33 /****************************************************************/
34 void Node::setChildren(int lc, int rc) { lchild = lc; rchild = rc; }    //leftchild, rightchild
35 /****************************************************************/
36 string Node::getName() { return name; }
37 /****************************************************************/
38 string Node::getGroup() { return group; }
39 /****************************************************************/
40 float Node::getBranchLength() { return branchLength; }
41 /****************************************************************/
42 int Node::getParent() { return parent; }
43 /****************************************************************/
44 int Node::getLChild() { return lchild; }
45 /****************************************************************/
46 int Node::getRChild() { return rchild; }
47 /****************************************************************/
48 int Node::getIndex() { return vectorIndex; }
49 /****************************************************************/
50 //to be used by printTree in the Tree class to print the leaf info                      
51 void Node::printNode(ostream& out) {
52         try{
53                 out << name;
54                 
55                 //there is a branch length
56                 if (branchLength != -1) { 
57                         out << ":" << setprecision(4) << branchLength; 
58                 }
59                 
60         }
61         catch(exception& e) {
62                 cout << "Standard Error: " << e.what() << " has occurred in the Node class Function printNode. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
63                 exit(1);
64         }
65         catch(...) {
66                 cout << "An unknown error has occurred in the Node class function printNode. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
67                 exit(1);
68         }               
69 }
70 /****************************************************************/