//virtual void LLViewerOctreeGroup::unbound() { if (isDirty()) { return; } setState(DIRTY); //all the parent nodes need to rebound this child if (mOctreeNode) { OctreeNode* parent = (OctreeNode*) mOctreeNode->getParent(); while (parent != NULL) { LLViewerOctreeGroup* group = (LLViewerOctreeGroup*) parent->getListener(0); if (!group || group->isDirty()) { return; } group->setState(DIRTY); parent = (OctreeNode*) parent->getParent(); } } }
LLViewerOctreeGroup* LLViewerOctreeGroup::getParent() { if (isDead()) { return NULL; } if(!mOctreeNode) { return NULL; } OctreeNode* parent = mOctreeNode->getOctParent(); if (parent) { return (LLViewerOctreeGroup*) parent->getListener(0); } return NULL; }