6 : level_m(right.level_m),
7 objects_m(right.objects_m.begin(), right.objects_m.end()),
11 for (
unsigned int i = 0; i < 4u; ++i) {
38 for (
unsigned int i = 0; i < 4u; ++i) {
45 for (std::shared_ptr<Base>& obj : objs) {
51 objs.remove_if([](
const std::shared_ptr<Base> obj) {
67 for (
unsigned int i = 0; i < 4u; ++i) {
75 if (!
nodes_m.back()->objects_m.empty()) {
85 for (
unsigned int i = 0; i < 4u; ++i) {
91 out <<
"# level: " <<
level_m <<
", size: " <<
objects_m.size() << std::endl;
93 out <<
"# num holes: " <<
objects_m.size() << std::endl;
97 for (
unsigned int i = 0; i < 4u; ++i) {
106 unsigned int idx = (X[1] < 0.0 ? 0 : 1);
107 idx += (X[0] < 0.0 ? 0 : 2);
114 for (
const std::shared_ptr<Base>& obj :
objects_m) {
115 if (obj->isInside(R)) {
125 for (
const auto& node :
nodes_m) {
ippl::Vector< T, Dim > Vector_t
Vector_t< double, 3 > center_m
bool isInside(const Vector_t< double, 3 > &X) const
virtual void writeGnuplot(std::ostream &out) const
void getDepth(unsigned int &d) const
std::vector< std::shared_ptr< QuadTree > > nodes_m
void writeGnuplot(std::ostream &out) const
bool isInside(const Vector_t< double, 3 > &R) const
void transferIfInside(std::list< std::shared_ptr< Base > > &objs)
void operator=(const QuadTree &right)
std::list< std::shared_ptr< Base > > objects_m