#include <llspatialpartition.h>
Public Types | |
typedef std::vector< LLPointer < LLSpatialBridge > > | bridge_vector_t |
Public Member Functions | |
LLSpatialBridge (LLDrawable *root, U32 data_mask) | |
virtual BOOL | isSpatialBridge () const |
virtual void | updateSpatialExtents () |
virtual void | updateBinRadius () |
virtual void | setVisible (LLCamera &camera_in, std::vector< LLDrawable * > *results=NULL, BOOL for_select=FALSE) |
virtual void | updateDistance (LLCamera &camera_in) |
virtual void | makeActive () |
virtual void | move (LLDrawable *drawablep, LLSpatialGroup *curp, BOOL immediate=FALSE) |
virtual BOOL | updateMove () |
virtual void | shiftPos (const LLVector3 &vec) |
virtual void | cleanupReferences () |
virtual LLSpatialPartition * | asPartition () |
virtual LLSpatialBridge * | asBridge () |
virtual LLCamera | transformCamera (LLCamera &camera) |
Public Attributes | |
LLDrawable * | mDrawable |
Protected Member Functions | |
~LLSpatialBridge () |
Definition at line 355 of file llspatialpartition.h.
typedef std::vector<LLPointer<LLSpatialBridge> > LLSpatialBridge::bridge_vector_t |
Definition at line 361 of file llspatialpartition.h.
LLSpatialBridge::~LLSpatialBridge | ( | ) | [protected] |
Definition at line 991 of file lldrawable.cpp.
References LLDrawable::getSpatialGroup(), LLSpatialGroup::mSpatialPartition, and LLSpatialPartition::remove().
LLSpatialBridge::LLSpatialBridge | ( | LLDrawable * | root, | |
U32 | data_mask | |||
) |
Definition at line 975 of file lldrawable.cpp.
References LLOctreeNode< T >::balance(), LLDrawable::getRegion(), LLViewerRegion::getSpatialPartition(), mDrawable, LLSpatialPartition::mDrawableType, LLSpatialPartition::mOctree, LLSpatialPartition::mPartitionType, LLDrawable::mRenderType, LLViewerRegion::PARTITION_VOLUME, LLSpatialPartition::put(), and LLDrawable::setSpatialBridge().
virtual BOOL LLSpatialBridge::isSpatialBridge | ( | ) | const [inline, virtual] |
Reimplemented from LLDrawable.
Definition at line 365 of file llspatialpartition.h.
References TRUE.
void LLSpatialBridge::updateSpatialExtents | ( | ) | [virtual] |
Reimplemented from LLDrawable.
Definition at line 1000 of file lldrawable.cpp.
References LLFastTimer::FTM_CULL_REBOUND, LLTreeNode< T >::getListener(), LLXformMatrix::getWorldMatrix(), LLDrawable::getXform(), i, j, LLVector3::magVec(), LLSpatialGroup::mBounds, mDrawable, LLDrawable::mExtents, LLSpatialPartition::mOctree, LLDrawable::mPositionGroup, LLDrawable::mRadius, LLVector3::mV, LLSpatialGroup::rebound(), LLVector3d::setVec(), and updateBinRadius().
void LLSpatialBridge::updateBinRadius | ( | ) | [virtual] |
Reimplemented from LLDrawable.
Definition at line 1059 of file lldrawable.cpp.
References LLOctreeNode< T >::getSize(), llmin(), LLDrawable::mBinRadius, LLVector3d::mdV, and LLSpatialPartition::mOctree.
Referenced by updateSpatialExtents().
void LLSpatialBridge::setVisible | ( | LLCamera & | camera_in, | |
std::vector< LLDrawable * > * | results = NULL , |
|||
BOOL | for_select = FALSE | |||
) | [virtual] |
Reimplemented from LLDrawable.
Definition at line 1151 of file lldrawable.cpp.
References LLCamera::AABBInFrustumNoFarClip(), AABBSphereIntersect(), LLPipeline::calcPixelArea(), FORCE_INVISIBLE_AREA, LLDrawable::getChild(), LLDrawable::getChildCount(), LLDrawable::getCurrentFrame(), LLTreeNode< T >::getListener(), LLCoordFrame::getOrigin(), LLDrawable::getParent(), LLDrawable::getSpatialGroup(), LLDrawable::getVObj(), gPipeline, LLPipeline::hasRenderType(), i, LLViewerObject::isAttachment(), LLPrimitive::isAvatar(), LLViewerObject::isHUDAttachment(), LLSpatialGroup::mDistance, LLViewerObject::mDrawable, mDrawable, LLSpatialPartition::mDrawableType, LLDrawable::mExtents, LLCamera::mFrustumCornerDist, LLSpatialPartition::mOctree, LLDrawable::mVisible, LLSpatialGroup::rebound(), LLDrawable::setVisible(), LLPipeline::sImpostorRender, LLVOAvatar::sRenderDistance, transformCamera(), and LLOctreeMarkNotCulled::traverse().
void LLSpatialBridge::updateDistance | ( | LLCamera & | camera_in | ) | [virtual] |
Reimplemented from LLDrawable.
Definition at line 1221 of file lldrawable.cpp.
References LLDrawable::getChild(), LLDrawable::getChildCount(), i, LLDrawable::isAvatar(), llendl, llwarns, LLDrawable::markDead(), mDrawable, NULL, transformCamera(), and LLDrawable::updateDistance().
Referenced by LLPipeline::stateSort().
void LLSpatialBridge::makeActive | ( | ) | [virtual] |
void LLSpatialBridge::move | ( | LLDrawable * | drawablep, | |
LLSpatialGroup * | curp, | |||
BOOL | immediate = FALSE | |||
) | [virtual] |
Reimplemented from LLSpatialPartition.
Definition at line 1254 of file lldrawable.cpp.
References FALSE, gPipeline, LLPipeline::markMoved(), and LLSpatialPartition::move().
BOOL LLSpatialBridge::updateMove | ( | ) | [virtual] |
Reimplemented from LLDrawable.
Definition at line 1260 of file lldrawable.cpp.
References LLOctreeNode< T >::balance(), LLDrawable::getRegion(), LLDrawable::getSpatialGroup(), LLViewerRegion::getSpatialPartition(), mDrawable, LLSpatialPartition::mOctree, LLSpatialPartition::move(), LLSpatialPartition::mPartitionType, and TRUE.
void LLSpatialBridge::shiftPos | ( | const LLVector3 & | vec | ) | [virtual] |
Reimplemented from LLDrawable.
Reimplemented in LLHUDBridge.
Definition at line 1267 of file lldrawable.cpp.
References LLDrawable::mExtents, and LLDrawable::mPositionGroup.
void LLSpatialBridge::cleanupReferences | ( | ) | [virtual] |
Reimplemented from LLDrawable.
Definition at line 1274 of file lldrawable.cpp.
References LLDrawable::cleanupReferences(), LLDrawable::getChild(), LLDrawable::getChildCount(), i, mDrawable, NULL, LLDrawable::setSpatialBridge(), and LLDrawable::setSpatialGroup().
virtual LLSpatialPartition* LLSpatialBridge::asPartition | ( | ) | [inline, virtual] |
virtual LLSpatialBridge* LLSpatialBridge::asBridge | ( | ) | [inline, virtual] |
Definition at line 1064 of file lldrawable.cpp.
References LLCoordFrame::getAtAxis(), LLCoordFrame::getLeftAxis(), LLCoordFrame::getOrigin(), LLXform::getRotation(), LLCoordFrame::getUpAxis(), LLXformMatrix::getWorldMatrix(), LLDrawable::getXform(), mDrawable, LLCoordFrame::setAxes(), and LLCoordFrame::setOrigin().
Referenced by LLPipeline::postSort(), setVisible(), and updateDistance().
Definition at line 381 of file llspatialpartition.h.
Referenced by cleanupReferences(), LLSpatialBridge(), LLPipeline::renderDebug(), setVisible(), transformCamera(), updateDistance(), updateMove(), and updateSpatialExtents().