#ifndef TREE_HPP
#define TREE_HPP

#include <vector>
#include <cstdlib>
#include <string>
#include "Body.hpp"
#include "TreeNode.hpp"

namespace nbody {
	using namespace std;

	class Tree {
	protected:
		vector<TreeNode*> nodes;
	public:
		static vector<Body> dubinskiParse(string filename);

		Tree();
		virtual ~Tree();
		virtual void clean();
		virtual void build(vector<Body> bodies) = 0;
	};


}

#endif
