6 level_m(right.level_m),
7 objects_m(right.objects_m.
begin(),
8 right.objects_m.
end()),
13 for (
unsigned int i = 0; i < 4u; ++ i) {
42 for (
unsigned int i = 0; i < 4u; ++ i) {
49 for (std::shared_ptr<Base> &obj: objs) {
55 objs.remove_if([](
const std::shared_ptr<Base> obj) {
return !obj; });
69 for (
unsigned int i = 0; i < 4u; ++ i) {
72 Vector_t(
X[i / 2 + 1], Y[i % 2 + 1], 0.0))));
76 if (!
nodes_m.back()->objects_m.empty()) {
86 for (
unsigned int i = 0; i < 4u; ++ i) {
98 for (
unsigned int i = 0; i < 4u; ++ i) {
107 unsigned int idx = (
X[1] < 0.0 ? 0: 1);
108 idx += (
X[0] < 0.0 ? 0: 2);
115 for (
const std::shared_ptr<Base> & obj:
objects_m) {
116 if (obj->isInside(
R)) {
126 for (
const auto & node:
nodes_m) {
PartBunchBase< T, Dim >::ConstIterator end(PartBunchBase< T, Dim > const &bunch)
PartBunchBase< T, Dim >::ConstIterator begin(PartBunchBase< T, Dim > const &bunch)
Inform & endl(Inform &inf)
bool isInside(const Vector_t &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
void transferIfInside(std::list< std::shared_ptr< Base > > &objs)
void operator=(const QuadTree &right)
bool isInside(const Vector_t &R) const
std::list< std::shared_ptr< Base > > objects_m
Vektor< double, 3 > Vector_t