An error occurred while loading the file. Please try again.
-
Paul Heinzlreiter authored39822222
Box.hpp 1.17 KiB
#ifndef BOX_HPP
#define BOX_HPP
#include <vector>
#include "Body.hpp"
namespace nbody {
using namespace std;
class Box {
friend class Node;
friend class MpiSimulation;
private:
double min[3];
double max[3];
public:
Box();
virtual ~Box();
virtual void extendToCube();
virtual void extendForBodies(vector<Body> bodies);
virtual double getMin(int index);
virtual double getMax(int index);
virtual void setMin(int index, double value);
virtual void setMax(int index, double value);
virtual vector<Body> extractBodies(vector<Body>& bodies);
virtual vector<Body> copyBodies(vector<Body> bodies);
virtual bool isContained(Body body);
virtual bool isContained(Box box);
virtual double volume();
virtual double maxSidelength();
virtual bool isCorrect();
virtual void print();
virtual bool overlapsSphere(double* sphereCenter, double sphereRadius);
virtual double distanceToPosition(double* position);
virtual double distanceToBox(Box box);
virtual vector<Box> octreeSplit();
virtual vector<Box> splitLongestSide();
virtual bool contained(double* position);
virtual void extend(Box extender);
virtual void extend(Body extender);
};
}
#endif