Skip to content
Snippets Groups Projects
BarnesHutTree.hpp 630 B
Newer Older
#ifndef BARNES_HUT_TREE_HPP
#define BARNES_HUT_TREE_HPP

#include "Tree.hpp"
#include "Box.hpp"
	using namespace std;

	class Node;
	class BarnesHutTree : public Tree {
	protected:
		static vector<Box> splitBB(Node* node);
		virtual void splitNode(Node* current);
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
		virtual void update();
		static void split(Node* current);
	public:
		BarnesHutTree();
		virtual ~BarnesHutTree();
		virtual void build(vector<Body> bodies);
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
		virtual void build(vector<Body> bodies, Box domain);
		virtual void mergeLET(vector<Body> bodies);
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
		virtual int numberOfChildren();
		static void splitTree(Node* root);