+++ /dev/null
-#ifndef _NODE_H
-#define _NODE_H
-#include <limits>
-#include <vector>
-#include <string>
-#include "upgmadata.h"
-namespace clustalw
-{
-
-using namespace std;
-
-class Node
-{
- public:
-
- Node(int seqNum, double *aptrToDistMatRow, int numDists);
- double getDist(int index){return ptrToDistMatRow[index];}
- void setDist(int index, double dist){ptrToDistMatRow[index] = dist;}
- double* getPtrToDistMatRow(){return ptrToDistMatRow;}
- void setDistMatRowToNull(){ptrToDistMatRow = 0;}
- int getNumDists(){return numDists;}
- double getMinDist(){return minDist;}
- int getIndexToMinDist(){return indexToMinDist;}
- void setMinDist(int index, double d){indexToMinDist = index; minDist = d;}
- int getOrder(){return order;}
- void setOrder(int o){order = o;}
- int getSeqNum(){return seqNum;}
- void setSeqNum(int sNum){seqNum = sNum;}
- void printNodeInfo();
- void printDistMatRow();
- void printMinDist();
- string elementsToString();
- Node* getLeft(){return left;}
- Node* getRight(){return right;}
- void setLeft(Node* l){left = l;}
- void setRight(Node* r){right = r;}
- double getHeight(){return height;}
- void setHeight(double h){height = h;}
- vector<int>* getPtrToElements(){return &allElements;}
- int getFirstElement(){return allElements[0];}
- void clearElements(){allElements.clear();}
- int getFirstElem(){return allElements[0];}
- bool isLeafNode()
- {
- if(left == 0 && right == 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- void merge(Node **rightNode, double _height);
- void findMinDist();
- void printElements();
- void makeEmpty();
- void makeEmpty(Node* t);
- /* Attributes */
- Node *next; // For linked list of nodes
- Node *left, *right;
- int size;
- int seqNum;
- double height;
- vector<int> allElements; // THis is for the groups!!!
- double *ptrToDistMatRow;
- double minDist; // minimal distance
- int indexToMinDist; // index of minimal distance
- int numDists;
- int order;
-};
-
-}
-
-#endif