Skip to content
Snippets Groups Projects
Tree.cpp 922 B
Newer Older
#include <string>
#include <sstream>
#include <iostream>
#include <fstream>
#include "Tree.hpp"
#include "TreeNode.hpp"

namespace nbody {
	Tree::Tree() {
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
		this->nodes = new TreeNode();
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
		delete this->nodes;
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
		while (this->nodes->next != this->nodes) {
			TreeNode* node = this->nodes->next;

			node->unlink();
			delete node;
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
		delete this->nodes;
		this->nodes = new TreeNode();

	vector<Body> Tree::dubinskiParse(string filename) {
		vector<Body> result;
		string line;
		ifstream infile(filename.c_str(), ifstream::in);
		double mass, px, py, pz, vx, vy, vz;

		while (infile >> mass >> px >> py >> pz >> vx >> vy >> vz) {
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
			//cout << mass << " " << px << " " << py << " " << pz << " " << vx << " " << vy << " " << vz << " " << endl;
			Body b(px, py, pz, vx, vy, vz, mass);

			result.push_back(b);
		}
		infile.close();