#include <lloctree.h>
Inheritance diagram for LLOctreeNode< T >:
Definition at line 69 of file lloctree.h.
typedef LLTreeNode<T> LLOctreeNode< T >::BaseType |
Definition at line 73 of file lloctree.h.
typedef LLOctreeListener<T> LLOctreeNode< T >::oct_listener |
Definition at line 77 of file lloctree.h.
typedef LLOctreeNode<T> LLOctreeNode< T >::oct_node |
Definition at line 76 of file lloctree.h.
typedef LLOctreeState<T> LLOctreeNode< T >::oct_state |
Definition at line 75 of file lloctree.h.
typedef LLTreeState<T> LLOctreeNode< T >::tree_state |
Definition at line 74 of file lloctree.h.
LLOctreeNode< T >::LLOctreeNode | ( | LLVector3d | center, | |
LLVector3d | size, | |||
tree_state * | state, | |||
BaseType * | parent, | |||
U8 | octant = 255 | |||
) | [inline] |
Definition at line 83 of file lloctree.h.
References LLOctreeNode< T >::mCenter, LLVector3d::mdV, LLOctreeNode< T >::mOctant, LLOctreeNode< T >::mParent, and LLOctreeNode< T >::updateMinMax().
LLOctreeNode< T >::~LLOctreeNode | ( | ) | [inline] |
Definition at line 101 of file lloctree.h.
References LLTreeNode< T >::destroyListeners(), and LLTreeNode< T >::mState.
bool LLOctreeNode< T >::balance | ( | ) | [inline] |
Definition at line 109 of file lloctree.h.
References LLOctreeState< T >::balance(), and LLOctreeNode< T >::getOctState().
Referenced by LLSpatialBridge::LLSpatialBridge(), and LLSpatialBridge::updateMove().
bool LLOctreeNode< T >::contains | ( | F64 | radius | ) | [inline] |
Definition at line 194 of file lloctree.h.
References LLVector3d::mdV, LLOctreeNode< T >::mParent, LLOctreeNode< T >::mSize, NULL, and size.
bool LLOctreeNode< T >::contains | ( | T * | xform | ) | [inline] |
Definition at line 189 of file lloctree.h.
Referenced by LLOctreeState< T >::getNodeAt(), LLOctreeState< T >::insert(), and LLSpatialGroup::updateInGroup().
void LLOctreeNode< T >::deleteChild | ( | oct_node * | child | ) | [inline] |
Definition at line 126 of file lloctree.h.
References LLOctreeState< T >::deleteChild(), and LLOctreeNode< T >::getOctState().
Referenced by LLOctreeState< T >::checkAlive().
void LLOctreeNode< T >::destroy | ( | ) | [inline] |
Definition at line 117 of file lloctree.h.
References LLOctreeState< T >::destroy(), and LLOctreeNode< T >::getOctState().
const LLVector3d& LLOctreeNode< T >::getCenter | ( | ) | const [inline] |
Definition at line 105 of file lloctree.h.
References LLOctreeNode< T >::mCenter.
Referenced by LLOctreeState< T >::addChild(), LLOctreeRoot< T >::insert(), LLOctreeState< T >::insert(), LLSpatialGroup::LLSpatialGroup(), and LLSpatialGroup::shift().
const oct_node* LLOctreeNode< T >::getChild | ( | U32 | index | ) | const [inline] |
Definition at line 113 of file lloctree.h.
References LLOctreeState< T >::getChild(), and LLOctreeNode< T >::getOctState().
oct_node* LLOctreeNode< T >::getChild | ( | U32 | index | ) | [inline] |
Definition at line 112 of file lloctree.h.
References LLOctreeState< T >::getChild(), and LLOctreeNode< T >::getOctState().
Referenced by LLOctreePick::check(), LLOctreeState< T >::getNodeAt(), LLSpatialPartition::processOcclusion(), LLSpatialGroup::rebound(), LLRelightPainter::traverse(), and LLSpatialGroup::validate().
U32 LLOctreeNode< T >::getChildCount | ( | ) | const [inline] |
Definition at line 111 of file lloctree.h.
References LLOctreeState< T >::getChildCount(), and LLOctreeNode< T >::getOctState().
Referenced by LLOctreePick::check(), LLOctreeState< T >::getNodeAt(), LLSpatialPartition::processOcclusion(), LLSpatialGroup::rebound(), LLRelightPainter::traverse(), and LLSpatialGroup::validate().
U32 LLOctreeNode< T >::getElementCount | ( | ) | const [inline] |
Definition at line 114 of file lloctree.h.
References LLOctreeState< T >::getElementCount(), and LLOctreeNode< T >::getOctState().
Referenced by LLOctreeState< T >::insert(), LLSpatialGroup::rebound(), and LLSpatialGroup::updateInGroup().
oct_node* LLOctreeNode< T >::getNodeAt | ( | const LLVector3d & | pos, | |
const F64 & | rad | |||
) | [inline] |
Definition at line 119 of file lloctree.h.
References LLOctreeState< T >::getNodeAt(), and LLOctreeNode< T >::getOctState().
oct_node* LLOctreeNode< T >::getNodeAt | ( | T * | data | ) | [inline] |
Definition at line 118 of file lloctree.h.
Referenced by LLSpatialPartition::put(), and LLDrawPoolBump::renderActive().
U8 LLOctreeNode< T >::getOctant | ( | const F64 | pos[] | ) | const [inline] |
Definition at line 128 of file lloctree.h.
References LLOctreeNode< T >::mCenter, LLVector3d::mdV, LLOctreeNode< T >::OCTANT_POSITIVE_X, LLOctreeNode< T >::OCTANT_POSITIVE_Y, and LLOctreeNode< T >::OCTANT_POSITIVE_Z.
U8 LLOctreeNode< T >::getOctant | ( | ) | const [inline] |
Definition at line 120 of file lloctree.h.
References LLOctreeNode< T >::mOctant.
Referenced by LLOctreeState< T >::getNodeAt().
oct_listener* LLOctreeNode< T >::getOctListener | ( | U32 | index | ) | [inline] |
Definition at line 184 of file lloctree.h.
References LLTreeNode< T >::getListener().
Referenced by LLOctreeState< T >::addChild(), and LLOctreeState< T >::removeChild().
oct_node* LLOctreeNode< T >::getOctParent | ( | ) | [inline] |
const oct_node* LLOctreeNode< T >::getOctParent | ( | ) | const [inline] |
Definition at line 124 of file lloctree.h.
References LLOctreeNode< T >::getParent().
Referenced by LLOctreeState< T >::checkAlive(), LLSpatialGroup::getParent(), LLOctreeState< T >::insert(), LLOctreeState< T >::remove(), LLSpatialGroup::updateInGroup(), and validate_occlusion_list().
oct_state* LLOctreeNode< T >::getOctState | ( | ) | [inline] |
const oct_state* LLOctreeNode< T >::getOctState | ( | ) | const [inline] |
Definition at line 122 of file lloctree.h.
References LLTreeNode< T >::mState.
Referenced by LLOctreeNode< T >::balance(), LLSpatialGroup::boundObjects(), LLOctreePick::check(), LLOctreeNode< T >::deleteChild(), LLOctreeNode< T >::destroy(), LLOctreeNode< T >::getChild(), LLOctreeNode< T >::getChildCount(), LLSpatialGroup::getData(), LLOctreeNode< T >::getElementCount(), LLOctreeNode< T >::getNodeAt(), LLOctreeNode< T >::hasLeafState(), LLOctreeNode< T >::removeByAddress(), LLOctreeRenderNonOccluded::traverse(), and LLOctreeNode< T >::validate().
const BaseType* LLOctreeNode< T >::getParent | ( | ) | const [inline] |
Definition at line 103 of file lloctree.h.
References LLOctreeNode< T >::mParent.
Referenced by LLSpatialGroup::boundObjects(), LLOctreeState< T >::getNodeAt(), LLOctreeNode< T >::getOctParent(), and LLSpatialGroup::unbound().
const LLVector3d& LLOctreeNode< T >::getSize | ( | ) | const [inline] |
Definition at line 106 of file lloctree.h.
References LLOctreeNode< T >::mSize.
Referenced by LLOctreeState< T >::addChild(), LLOctreeState< T >::getNodeAt(), LLOctreeRoot< T >::insert(), LLOctreeState< T >::insert(), LLSpatialGroup::LLSpatialGroup(), LLSpatialBridge::updateBinRadius(), LLSpatialGroup::updateDistance(), and LLSpatialGroup::updateInGroup().
bool LLOctreeNode< T >::hasLeafState | ( | ) | const [inline] |
Definition at line 116 of file lloctree.h.
References LLOctreeNode< T >::getOctState(), and LLOctreeState< T >::isLeaf().
Referenced by LLSpatialGroup::rebound().
bool LLOctreeNode< T >::isInside | ( | const LLVector3d & | pos | ) | const [inline] |
Definition at line 158 of file lloctree.h.
References LLVector3d::mdV, LLOctreeNode< T >::mMax, LLOctreeNode< T >::mMin, x, y, and z.
bool LLOctreeNode< T >::isInside | ( | T * | data | ) | const [inline] |
bool LLOctreeNode< T >::isInside | ( | const LLVector3d & | pos, | |
const F64 & | rad | |||
) | const [inline] |
Definition at line 148 of file lloctree.h.
References LLVector3d::mdV, and LLOctreeNode< T >::mSize.
Referenced by LLOctreeState< T >::getNodeAt(), LLOctreeRoot< T >::insert(), LLOctreeState< T >::insert(), LLOctreeNode< T >::isInside(), LLOctreeState< T >::remove(), and LLSpatialGroup::updateInGroup().
static void LLOctreeNode< T >::pushCenter | ( | LLVector3d & | center, | |
LLVector3d & | size, | |||
T * | data | |||
) | [inline, static] |
Definition at line 208 of file lloctree.h.
References i, LLVector3d::mdV, and size.
Referenced by LLOctreeRoot< T >::insert(), and LLOctreeState< T >::insert().
void LLOctreeNode< T >::removeByAddress | ( | T * | data | ) | [inline] |
Definition at line 115 of file lloctree.h.
References LLOctreeNode< T >::getOctState(), and LLOctreeState< T >::removeByAddress().
Referenced by LLOctreeState< T >::remove().
void LLOctreeNode< T >::setCenter | ( | LLVector3d | center | ) | [inline] |
Definition at line 107 of file lloctree.h.
References LLOctreeNode< T >::mCenter.
Referenced by LLOctreeRoot< T >::balance(), LLOctreeRoot< T >::insert(), and LLSpatialGroup::shift().
void LLOctreeNode< T >::setOctant | ( | U8 | octant | ) | [inline] |
void LLOctreeNode< T >::setParent | ( | BaseType * | parent | ) | [inline] |
void LLOctreeNode< T >::setSize | ( | LLVector3d | size | ) | [inline] |
Definition at line 108 of file lloctree.h.
References LLOctreeNode< T >::mSize, and size.
Referenced by LLOctreeRoot< T >::balance(), and LLOctreeRoot< T >::insert().
void LLOctreeNode< T >::updateMinMax | ( | ) | [inline] |
Definition at line 174 of file lloctree.h.
References i, LLOctreeNode< T >::mCenter, LLVector3d::mdV, LLOctreeNode< T >::mMax, LLOctreeNode< T >::mMin, and LLOctreeNode< T >::mSize.
Referenced by LLOctreeRoot< T >::balance(), LLOctreeRoot< T >::insert(), LLOctreeNode< T >::LLOctreeNode(), and LLSpatialGroup::shift().
void LLOctreeNode< T >::validate | ( | ) | [inline] |
Definition at line 110 of file lloctree.h.
References LLOctreeNode< T >::getOctState(), and LLOctreeState< T >::validate().
LLVector3d LLOctreeNode< T >::mCenter [protected] |
Definition at line 226 of file lloctree.h.
Referenced by LLOctreeNode< T >::getCenter(), LLOctreeNode< T >::getOctant(), LLOctreeNode< T >::LLOctreeNode(), LLOctreeNode< T >::setCenter(), and LLOctreeNode< T >::updateMinMax().
LLVector3d LLOctreeNode< T >::mMax [protected] |
Definition at line 228 of file lloctree.h.
Referenced by LLOctreeNode< T >::isInside(), and LLOctreeNode< T >::updateMinMax().
LLVector3d LLOctreeNode< T >::mMin [protected] |
Definition at line 229 of file lloctree.h.
Referenced by LLOctreeNode< T >::isInside(), and LLOctreeNode< T >::updateMinMax().
U8 LLOctreeNode< T >::mOctant [protected] |
Definition at line 230 of file lloctree.h.
Referenced by LLOctreeNode< T >::getOctant(), LLOctreeNode< T >::LLOctreeNode(), and LLOctreeNode< T >::setOctant().
oct_node* LLOctreeNode< T >::mParent [protected] |
Definition at line 225 of file lloctree.h.
Referenced by LLOctreeNode< T >::contains(), LLOctreeNode< T >::getParent(), LLOctreeNode< T >::LLOctreeNode(), and LLOctreeNode< T >::setParent().
LLVector3d LLOctreeNode< T >::mSize [protected] |
Definition at line 227 of file lloctree.h.
Referenced by LLOctreeNode< T >::contains(), LLOctreeNode< T >::getSize(), LLOctreeNode< T >::isInside(), LLOctreeNode< T >::setSize(), and LLOctreeNode< T >::updateMinMax().
const U8 LLOctreeNode< T >::OCTANT_POSITIVE_X = 0x01 [static] |
const U8 LLOctreeNode< T >::OCTANT_POSITIVE_Y = 0x02 [static] |
const U8 LLOctreeNode< T >::OCTANT_POSITIVE_Z = 0x04 [static] |