diff options
| author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2019-11-12 15:40:14 +0000 |
|---|---|---|
| committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2019-11-12 15:40:14 +0000 |
| commit | 38d8eaba3e6e17dd39c9e9904852c14c95179783 (patch) | |
| tree | 0703ba92d765b6d324eefa0d6a0de8fc6910f8cd /indra/llmath | |
| parent | 63f82fc44b721b0ec437845d41b5a2055a44be68 (diff) | |
| parent | 78bdf57ad6610b34389226bf941ba736ca0c2225 (diff) | |
merge
Diffstat (limited to 'indra/llmath')
| -rw-r--r-- | indra/llmath/lloctree.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h index 280d2653d3..0e2f62f9db 100644 --- a/indra/llmath/lloctree.h +++ b/indra/llmath/lloctree.h @@ -401,7 +401,7 @@ public: child->insert(data); } } - else + else if (parent) { //it's not in here, give it to the root OCT_ERRS << "Octree insertion failed, starting over from root!" << LL_ENDL; @@ -416,6 +416,13 @@ public: node->insert(data); } + else + { + // It's not in here, and we are root. + // LLOctreeRoot::insert() should have expanded + // root by now, something is wrong + OCT_ERRS << "Octree insertion failed! Root expansion failed." << LL_ENDL; + } return false; } @@ -763,10 +770,15 @@ public: { LLOctreeNode<T>::insert(data); } - else + else if (node->isInside(data->getPositionGroup())) { node->insert(data); } + else + { + // calling node->insert(data) will return us to root + OCT_ERRS << "Failed to insert data at child node" << LL_ENDL; + } } else if (this->getChildCount() == 0) { |
