LLDrawable Class Reference

#include <lldrawable.h>

Inheritance diagram for LLDrawable:

Inheritance graph
[legend]
Collaboration diagram for LLDrawable:

Collaboration graph
[legend]

List of all members.

Public Types

enum  e_drawable_flags {
  IN_REBUILD_Q1 = 0x00000002, IN_REBUILD_Q2 = 0x00000004, IN_LIGHT_Q = 0x00000008, EARLY_MOVE = 0x00000010,
  MOVE_UNDAMPED = 0x00000020, ON_MOVE_LIST = 0x00000040, USE_BACKLIGHT = 0x00000080, UV = 0x00000100,
  UNLIT = 0x00000200, LIGHT = 0x00000400, LIGHTING_BUILT = 0x00000800, REBUILD_VOLUME = 0x00001000,
  REBUILD_TCOORD = 0x00002000, REBUILD_COLOR = 0x00004000, REBUILD_POSITION = 0x00010000, REBUILD_GEOMETRY = REBUILD_POSITION|REBUILD_TCOORD|REBUILD_COLOR,
  REBUILD_MATERIAL = REBUILD_TCOORD|REBUILD_COLOR, REBUILD_ALL = REBUILD_GEOMETRY|REBUILD_VOLUME, ON_SHIFT_LIST = 0x00100000, BLOCKER = 0x00400000,
  ACTIVE = 0x00800000, DEAD = 0x01000000, INVISIBLE = 0x02000000, NEARBY_LIGHT = 0x04000000,
  BUILT = 0x08000000, FORCE_INVISIBLE = 0x10000000, CLEAR_INVISIBLE = 0x20000000, REBUILD_SHADOW = 0x40000000
}
typedef std::set< LLPointer
< LLDrawable > > 
drawable_set_t
typedef std::vector< LLPointer
< LLDrawable > > 
drawable_vector_t
typedef std::list< LLPointer
< LLDrawable > > 
drawable_list_t
typedef std::queue< LLPointer
< LLDrawable > > 
drawable_queue_t
typedef enum
LLDrawable::e_drawable_flags 
EDrawableFlags

Public Member Functions

 LLDrawable ()
 MEM_TYPE_NEW (LLMemType::MTYPE_DRAWABLE)
void markDead ()
BOOL isDead () const
BOOL isNew () const
BOOL isLight () const
BOOL isVisible () const
virtual void setVisible (LLCamera &camera_in, std::vector< LLDrawable * > *results=NULL, BOOL for_select=FALSE)
LLViewerRegiongetRegion () const
const LLTextureEntrygetTextureEntry (U8 which) const
LLPointer< LLViewerObject > & getVObj ()
const LLViewerObjectgetVObj () const
LLVOVolumegetVOVolume () const
const LLMatrix4getWorldMatrix () const
const LLMatrix4getRenderMatrix () const
void setPosition (LLVector3 v) const
const LLVector3getPosition () const
const LLVector3getWorldPosition () const
const LLVector3 getPositionAgent () const
const LLVector3dgetPositionGroup () const
const LLVector3getScale () const
const LLQuaterniongetWorldRotation () const
const LLQuaterniongetRotation () const
F32 getIntensity () const
S32 getLOD () const
F64 getBinRadius () const
void getMinMax (LLVector3 &min, LLVector3 &max) const
LLXformMatrixgetXform ()
U32 getState () const
BOOL isState (U32 bits) const
void setState (U32 bits)
void clearState (U32 bits)
BOOL isAvatar () const
BOOL isRoot () const
BOOL isSpatialRoot () const
virtual BOOL isSpatialBridge () const
virtual LLSpatialPartitionasPartition ()
LLDrawablegetParent () const
LLDrawablegetChild (U32 index)
U32 getChildCount ()
LLFacegetFace (const S32 i) const
S32 getNumFaces () const
LLFaceaddFace (LLFacePool *poolp, LLViewerImage *texturep)
LLFaceaddFace (const LLTextureEntry *te, LLViewerImage *texturep)
void deleteFaces (S32 offset, S32 count)
void setNumFaces (const S32 numFaces, LLFacePool *poolp, LLViewerImage *texturep)
void setNumFacesFast (const S32 numFaces, LLFacePool *poolp, LLViewerImage *texturep)
void mergeFaces (LLDrawable *src)
void init ()
void destroy ()
void update ()
F32 updateXform (BOOL undamped)
virtual void makeActive ()
void makeStatic (BOOL warning_enabled=TRUE)
BOOL isActive () const
BOOL isStatic () const
BOOL isAnimating () const
virtual BOOL updateMove ()
virtual void movePartition ()
void updateTexture ()
void updateMaterial ()
virtual void updateDistance (LLCamera &camera)
BOOL updateGeometry (BOOL priority)
void updateFaceSize (S32 idx)
void updateSpecialHoverCursor (BOOL enabled)
virtual void shiftPos (const LLVector3 &shift_vector)
S32 getGeneration () const
BOOL getLit () const
void setLit (BOOL lit)
virtual void cleanupReferences ()
void setRadius (const F32 radius)
F32 getRadius () const
F32 getVisibilityRadius () const
void updateUVMinMax ()
const LLVector3getBounds (LLVector3 &min, LLVector3 &max) const
virtual void updateSpatialExtents ()
virtual void updateBinRadius ()
const LLVector3getSpatialExtents () const
void setSpatialExtents (LLVector3 min, LLVector3 max)
void setPositionGroup (const LLVector3d &pos)
void setPositionGroup (const LLVector3 &pos)
void setRenderType (S32 type)
BOOL isRenderType (S32 type)
S32 getRenderType ()
S32 findReferences (LLDrawable *drawablep)
void setSpatialGroup (LLSpatialGroup *groupp)
LLSpatialGroupgetSpatialGroup () const
LLSpatialPartitiongetSpatialPartition ()
void setSpatialBridge (LLSpatialBridge *bridge)
LLSpatialBridgegetSpatialBridge ()

Static Public Member Functions

static void initClass ()
static void incrementVisible ()
static void cleanupDeadDrawables ()
static S32 getCurrentFrame ()

Public Attributes

LLXformMatrix mXform
LLPointer< LLDrawablemParent
F32 mDistanceWRTCamera
S32 mQuietCount

Static Public Attributes

static F32 sCurPixelAngle = 0

Protected Member Functions

 ~LLDrawable ()
void moveUpdatePipeline (BOOL moved)
void updatePartition ()
BOOL updateMoveDamped ()
BOOL updateMoveUndamped ()

Private Types

typedef std::vector< LLFace * > face_list_t

Private Attributes

U32 mState
S32 mRenderType
LLPointer< LLViewerObjectmVObjp
face_list_t mFaces
LLSpatialGroupmSpatialGroupp
LLPointer< LLDrawablemSpatialBridge
U32 mVisible
F32 mRadius
LLVector3 mExtents [2]
LLVector3d mPositionGroup
F64 mBinRadius
S32 mGeneration
LLVector3 mCurrentScale

Static Private Attributes

static U32 sCurVisible = 0
static U32 sNumZombieDrawables = 0
static LLDynamicArrayPtr
< LLPointer< LLDrawable > > 
sDeadList

Friends

class LLPipeline
class LLDrawPool
class LLSpatialBridge

Classes

struct  CompareDistanceGreater
struct  CompareDistanceGreaterVisibleFirst


Detailed Description

Definition at line 68 of file lldrawable.h.


Member Typedef Documentation

Definition at line 210 of file lldrawable.h.

Definition at line 211 of file lldrawable.h.

Definition at line 212 of file lldrawable.h.

Definition at line 213 of file lldrawable.h.

typedef std::vector<LLFace*> LLDrawable::face_list_t [private]

Definition at line 289 of file lldrawable.h.


Member Enumeration Documentation

Enumerator:
IN_REBUILD_Q1 
IN_REBUILD_Q2 
IN_LIGHT_Q 
EARLY_MOVE 
MOVE_UNDAMPED 
ON_MOVE_LIST 
USE_BACKLIGHT 
UV 
UNLIT 
LIGHT 
LIGHTING_BUILT 
REBUILD_VOLUME 
REBUILD_TCOORD 
REBUILD_COLOR 
REBUILD_POSITION 
REBUILD_GEOMETRY 
REBUILD_MATERIAL 
REBUILD_ALL 
ON_SHIFT_LIST 
BLOCKER 
ACTIVE 
DEAD 
INVISIBLE 
NEARBY_LIGHT 
BUILT 
FORCE_INVISIBLE 
CLEAR_INVISIBLE 
REBUILD_SHADOW 

Definition at line 240 of file lldrawable.h.


Constructor & Destructor Documentation

LLDrawable::LLDrawable (  )  [inline]

Definition at line 73 of file lldrawable.h.

References init().

Here is the call graph for this function:

LLDrawable::~LLDrawable (  )  [inline, protected]

Definition at line 199 of file lldrawable.h.

References destroy().

Here is the call graph for this function:


Member Function Documentation

void LLDrawable::initClass (  )  [static]

Definition at line 113 of file lldrawable.cpp.

Referenced by idle_startup().

Here is the caller graph for this function:

LLDrawable::MEM_TYPE_NEW ( LLMemType::MTYPE_DRAWABLE   ) 

void LLDrawable::markDead (  ) 

Definition at line 135 of file lldrawable.cpp.

References cleanupReferences(), DEAD, isDead(), llendl, llwarns, mSpatialBridge, NULL, setState(), and sNumZombieDrawables.

Referenced by LLSpatialBridge::updateDistance().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLDrawable::isDead (  )  const [inline]

BOOL LLDrawable::isNew (  )  const [inline]

Definition at line 78 of file lldrawable.h.

References BUILT, and isState().

Here is the call graph for this function:

BOOL LLDrawable::isLight (  )  const

Definition at line 170 of file lldrawable.cpp.

References FALSE, LLPrimitive::getPCode(), isDead(), LL_PCODE_VOLUME, and mVObjp.

Referenced by getVisibilityRadius(), renderLights(), and LLViewerWindow::renderSelections().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLDrawable::isVisible (  )  const

void LLDrawable::setVisible ( LLCamera camera_in,
std::vector< LLDrawable * > *  results = NULL,
BOOL  for_select = FALSE 
) [virtual]

Reimplemented in LLSpatialBridge.

Definition at line 1094 of file lldrawable.cpp.

References getVOVolume(), isActive(), isRoot(), isStatic(), llendl, llerrs, mParent, mSpatialBridge, mVisible, LLPointer< Type >::notNull(), and sCurVisible.

Referenced by LLPipeline::markVisible(), LLOctreeSelect::processGroup(), LLSpatialBridge::setVisible(), and LLPipeline::stateSort().

Here is the call graph for this function:

Here is the caller graph for this function:

LLViewerRegion* LLDrawable::getRegion (  )  const [inline]

Definition at line 86 of file lldrawable.h.

References mVObjp.

Referenced by LLSpatialBridge::LLSpatialBridge(), LLVolumeGeometryManager::registerFace(), renderOctree(), and LLSpatialBridge::updateMove().

Here is the caller graph for this function:

const LLTextureEntry* LLDrawable::getTextureEntry ( U8  which  )  const [inline]

Definition at line 87 of file lldrawable.h.

References mVObjp.

LLPointer<LLViewerObject>& LLDrawable::getVObj (  )  [inline]

const LLViewerObject* LLDrawable::getVObj (  )  const [inline]

Definition at line 89 of file lldrawable.h.

References mVObjp.

LLVOVolume * LLDrawable::getVOVolume (  )  const

const LLMatrix4& LLDrawable::getWorldMatrix (  )  const [inline]

Definition at line 92 of file lldrawable.h.

References LLXformMatrix::getWorldMatrix(), and mXform.

Referenced by getRenderMatrix().

Here is the call graph for this function:

Here is the caller graph for this function:

const LLMatrix4& LLDrawable::getRenderMatrix (  )  const [inline]

Definition at line 93 of file lldrawable.h.

References getParent(), getWorldMatrix(), and isRoot().

Referenced by getPositionAgent(), LLVolumeGeometryManager::registerFace(), and LLPipeline::renderDebug().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::setPosition ( LLVector3  v  )  const [inline]

Definition at line 94 of file lldrawable.h.

const LLVector3& LLDrawable::getPosition ( void   )  const [inline]

Definition at line 95 of file lldrawable.h.

References LLXform::getPosition(), and mXform.

Here is the call graph for this function:

const LLVector3& LLDrawable::getWorldPosition (  )  const [inline]

Definition at line 96 of file lldrawable.h.

References LLXform::getPositionW(), and mXform.

Referenced by getPositionAgent(), and LLToolSelectRect::handleRectangleSelection().

Here is the call graph for this function:

Here is the caller graph for this function:

const LLVector3 LLDrawable::getPositionAgent (  )  const

Definition at line 1295 of file lldrawable.cpp.

References getRenderMatrix(), getVOVolume(), getWorldPosition(), isActive(), isRoot(), and mVObjp.

Referenced by LLToolSelectRect::handleRectangleSelection(), LLFace::init(), LLViewerWindow::renderSelections(), and LLVOSky::updateGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

const LLVector3d& LLDrawable::getPositionGroup (  )  const [inline]

Definition at line 98 of file lldrawable.h.

References mPositionGroup.

Referenced by renderPoints(), updateDistance(), and LLSpatialGroup::updateInGroup().

Here is the caller graph for this function:

const LLVector3& LLDrawable::getScale (  )  const [inline]

Definition at line 99 of file lldrawable.h.

References mCurrentScale.

Referenced by isAnimating().

Here is the caller graph for this function:

const LLQuaternion& LLDrawable::getWorldRotation (  )  const [inline]

Definition at line 100 of file lldrawable.h.

References LLXform::getWorldRotation(), and mXform.

Here is the call graph for this function:

const LLQuaternion& LLDrawable::getRotation (  )  const [inline]

Definition at line 101 of file lldrawable.h.

References LLXform::getRotation(), and mXform.

Here is the call graph for this function:

F32 LLDrawable::getIntensity (  )  const [inline]

Definition at line 102 of file lldrawable.h.

References LLXform::getScale(), llmin(), LLVector3::mV, and mXform.

Here is the call graph for this function:

S32 LLDrawable::getLOD (  )  const [inline]

Definition at line 103 of file lldrawable.h.

References mVObjp.

F64 LLDrawable::getBinRadius (  )  const [inline]

Definition at line 104 of file lldrawable.h.

References mBinRadius.

Referenced by LLSpatialGroup::updateInGroup().

Here is the caller graph for this function:

void LLDrawable::getMinMax ( LLVector3 min,
LLVector3 max 
) const [inline]

Definition at line 105 of file lldrawable.h.

References LLXformMatrix::getMinMax(), and mXform.

Here is the call graph for this function:

LLXformMatrix* LLDrawable::getXform (  )  [inline]

Definition at line 106 of file lldrawable.h.

References mXform.

Referenced by LLSpatialBridge::transformCamera(), and LLSpatialBridge::updateSpatialExtents().

Here is the caller graph for this function:

U32 LLDrawable::getState (  )  const [inline]

Definition at line 108 of file lldrawable.h.

References mState.

BOOL LLDrawable::isState ( U32  bits  )  const [inline]

void LLDrawable::setState ( U32  bits  )  [inline]

void LLDrawable::clearState ( U32  bits  )  [inline]

BOOL LLDrawable::isAvatar (  )  const [inline]

Definition at line 113 of file lldrawable.h.

References mVObjp, and LLPointer< Type >::notNull().

Referenced by shiftPos(), LLPipeline::stateSort(), LLSpatialBridge::updateDistance(), and updateXform().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLDrawable::isRoot (  )  const [inline]

BOOL LLDrawable::isSpatialRoot (  )  const [inline]

Definition at line 115 of file lldrawable.h.

References mParent.

Referenced by LLVOVolume::updateRelativeXform().

Here is the caller graph for this function:

virtual BOOL LLDrawable::isSpatialBridge (  )  const [inline, virtual]

Reimplemented in LLSpatialBridge.

Definition at line 116 of file lldrawable.h.

References FALSE.

Referenced by LLSpatialGroup::addObject(), LLPipeline::markMoved(), LLPipeline::markVisible(), LLOctreeSelect::processGroup(), LLSpatialGroup::removeObject(), and renderBoundingBox().

Here is the caller graph for this function:

virtual LLSpatialPartition* LLDrawable::asPartition (  )  [inline, virtual]

Reimplemented in LLSpatialBridge.

Definition at line 117 of file lldrawable.h.

References NULL.

LLDrawable* LLDrawable::getParent (  )  const [inline]

LLDrawable* LLDrawable::getChild ( U32  index  )  [inline]

Definition at line 119 of file lldrawable.h.

References mVObjp.

Referenced by LLSpatialBridge::cleanupReferences(), makeActive(), LLPipeline::renderForSelect(), LLSpatialBridge::setVisible(), and LLSpatialBridge::updateDistance().

Here is the caller graph for this function:

U32 LLDrawable::getChildCount (  )  [inline]

Definition at line 120 of file lldrawable.h.

References mVObjp.

Referenced by LLSpatialBridge::cleanupReferences(), makeActive(), LLPipeline::renderForSelect(), LLSpatialBridge::setVisible(), and LLSpatialBridge::updateDistance().

Here is the caller graph for this function:

LLFace * LLDrawable::getFace ( const S32  i  )  const [inline]

S32 LLDrawable::getNumFaces (  )  const [inline]

LLFace * LLDrawable::addFace ( LLFacePool poolp,
LLViewerImage texturep 
)

Definition at line 226 of file lldrawable.cpp.

References LLFace::FULLBRIGHT, isState(), llendl, llerrs, mFaces, LLMemType::MTYPE_DRAWABLE, mVObjp, LLFace::setPool(), LLFace::setState(), and UNLIT.

Referenced by setNumFaces(), setNumFacesFast(), LLVOWater::updateGeometry(), LLVOSky::updateGeometry(), and LLVOGround::updateGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

LLFace * LLDrawable::addFace ( const LLTextureEntry te,
LLViewerImage texturep 
)

void LLDrawable::deleteFaces ( S32  offset,
S32  count 
)

Definition at line 328 of file lldrawable.cpp.

References mFaces.

void LLDrawable::setNumFaces ( const S32  numFaces,
LLFacePool poolp,
LLViewerImage texturep 
)

Definition at line 272 of file lldrawable.cpp.

References addFace(), i, mFaces, and S32.

Referenced by LLVOTextBubble::updateGeometry(), and LLVOPartGroup::updateGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::setNumFacesFast ( const S32  numFaces,
LLFacePool poolp,
LLViewerImage texturep 
)

Definition at line 293 of file lldrawable.cpp.

References addFace(), i, mFaces, and S32.

Referenced by LLVOPartGroup::updateGeometry(), and LLVOClouds::updateGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::mergeFaces ( LLDrawable src  ) 

Definition at line 314 of file lldrawable.cpp.

References i, mFaces, and LLFace::setDrawable().

Here is the call graph for this function:

void LLDrawable::init ( void   ) 

Definition at line 90 of file lldrawable.cpp.

References mBinRadius, mCurrentScale, mDistanceWRTCamera, mGeneration, mParent, mQuietCount, mRadius, mRenderType, mSpatialBridge, mSpatialGroupp, mState, mVisible, mVObjp, and NULL.

Referenced by LLDrawable().

Here is the caller graph for this function:

void LLDrawable::destroy (  ) 

Definition at line 118 of file lldrawable.cpp.

References isDead(), mFaces, and sNumZombieDrawables.

Referenced by ~LLDrawable().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::update (  ) 

Definition at line 336 of file lldrawable.cpp.

References llendl, and llerrs.

F32 LLDrawable::updateXform ( BOOL  undamped  ) 

void LLDrawable::makeActive (  )  [virtual]

void LLDrawable::makeStatic ( BOOL  warning_enabled = TRUE  ) 

BOOL LLDrawable::isActive ( void   )  const [inline]

BOOL LLDrawable::isStatic (  )  const [inline]

Definition at line 146 of file lldrawable.h.

References isActive().

Referenced by getSpatialPartition(), setVisible(), shiftPos(), and updateDistance().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLDrawable::isAnimating (  )  const

Definition at line 1319 of file lldrawable.cpp.

References FALSE, getScale(), getVObj(), isRoot(), LLViewerObject::LL_VO_CLOUDS, LLViewerObject::LL_VO_PART_GROUP, mVObjp, and TRUE.

Referenced by LLGeometryManager::addGeometryCount(), LLParticlePartition::addGeometryCount(), and LLVolumeGeometryManager::rebuildGeom().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLDrawable::updateMove (  )  [virtual]

Reimplemented in LLSpatialBridge.

Definition at line 563 of file lldrawable.cpp.

References FALSE, isDead(), LLPointer< Type >::isNull(), isState(), llendl, llwarns, makeActive(), MOVE_UNDAMPED, mVObjp, TRUE, updateMoveDamped(), and updateMoveUndamped().

Referenced by LLManip::rebuild(), LLPipeline::updateMoveDampedAsync(), LLPipeline::updateMovedList(), and LLPipeline::updateMoveNormalAsync().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::movePartition (  )  [virtual]

Definition at line 554 of file lldrawable.cpp.

References getSpatialGroup(), getSpatialPartition(), and LLSpatialPartition::move().

Referenced by LLVOPartGroup::updateGeometry(), LLVOClouds::updateGeometry(), updatePartition(), and updateXform().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::updateTexture (  ) 

Definition at line 695 of file lldrawable.cpp.

References getNumFaces(), getParent(), getVOVolume(), gPipeline, isActive(), isDead(), isRoot(), llendl, llwarns, LLPipeline::markRebuild(), mQuietCount, LLMemType::MTYPE_DRAWABLE, mVObjp, REBUILD_MATERIAL, and TRUE.

Referenced by LLPipeline::updateMove().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::updateMaterial (  ) 

Definition at line 342 of file lldrawable.cpp.

void LLDrawable::updateDistance ( LLCamera camera  )  [virtual]

BOOL LLDrawable::updateGeometry ( BOOL  priority  ) 

Definition at line 732 of file lldrawable.cpp.

References llassert, mVObjp, and LLPointer< Type >::notNull().

Referenced by LLPipeline::updateDrawableGeom().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::updateFaceSize ( S32  idx  ) 

Definition at line 1349 of file lldrawable.cpp.

References mVObjp, and LLPointer< Type >::notNull().

Referenced by LLGeometryManager::addGeometryCount(), LLParticlePartition::addGeometryCount(), and LLVolumeGeometryManager::rebuildGeom().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::updateSpecialHoverCursor ( BOOL  enabled  ) 

Definition at line 851 of file lldrawable.cpp.

void LLDrawable::shiftPos ( const LLVector3 shift_vector  )  [virtual]

S32 LLDrawable::getGeneration (  )  const [inline]

Definition at line 162 of file lldrawable.h.

References mGeneration.

BOOL LLDrawable::getLit (  )  const [inline]

Definition at line 164 of file lldrawable.h.

References FALSE, isState(), TRUE, and UNLIT.

Here is the call graph for this function:

void LLDrawable::setLit ( BOOL  lit  )  [inline]

Definition at line 165 of file lldrawable.h.

References clearState(), setState(), and UNLIT.

Here is the call graph for this function:

void LLDrawable::cleanupReferences (  )  [virtual]

Reimplemented in LLSpatialBridge.

Definition at line 183 of file lldrawable.cpp.

References LLFastTimer::FTM_PIPELINE, gObjectList, gPipeline, mFaces, mParent, mVObjp, NULL, LLViewerObjectList::removeDrawable(), and LLPipeline::unlinkDrawable().

Referenced by LLSpatialBridge::cleanupReferences(), and markDead().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::setRadius ( const F32  radius  ) 

Definition at line 535 of file lldrawable.cpp.

References mRadius.

Referenced by LLPipeline::allocDrawable().

Here is the caller graph for this function:

F32 LLDrawable::getRadius (  )  const [inline]

Definition at line 170 of file lldrawable.h.

References mRadius.

Referenced by LLSpatialGroup::addObject(), getVisibilityRadius(), LLToolSelectRect::handleRectangleSelection(), and updateBinRadius().

Here is the caller graph for this function:

F32 LLDrawable::getVisibilityRadius (  )  const

Definition at line 858 of file lldrawable.cpp.

References LLVOVolume::getLightRadius(), getRadius(), getVOVolume(), isDead(), isLight(), and llmax().

Here is the call graph for this function:

void LLDrawable::updateUVMinMax (  ) 

Definition at line 877 of file lldrawable.cpp.

const LLVector3 & LLDrawable::getBounds ( LLVector3 min,
LLVector3 max 
) const

Definition at line 800 of file lldrawable.cpp.

References LLXformMatrix::getMinMax(), LLXform::getPositionW(), and mXform.

Here is the call graph for this function:

void LLDrawable::updateSpatialExtents (  )  [virtual]

Reimplemented in LLSpatialBridge.

Definition at line 823 of file lldrawable.cpp.

References mExtents, mPositionGroup, mSpatialBridge, mVObjp, LLPointer< Type >::notNull(), LLVector3d::setVec(), and updateBinRadius().

Referenced by LLSpatialPartition::put(), and LLSpatialGroup::updateInGroup().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::updateBinRadius (  )  [virtual]

Reimplemented in LLSpatialBridge.

Definition at line 839 of file lldrawable.cpp.

References getRadius(), llmin(), mBinRadius, mVObjp, and LLPointer< Type >::notNull().

Referenced by updateSpatialExtents().

Here is the call graph for this function:

Here is the caller graph for this function:

const LLVector3 * LLDrawable::getSpatialExtents (  )  const

Definition at line 806 of file lldrawable.cpp.

References mExtents.

Referenced by LLSpatialGroup::boundObjects(), LLSelectMgr::getGrid(), LLVOAvatar::getSpatialExtents(), renderBoundingBox(), and renderLights().

Here is the caller graph for this function:

void LLDrawable::setSpatialExtents ( LLVector3  min,
LLVector3  max 
)

Definition at line 811 of file lldrawable.cpp.

References mExtents.

void LLDrawable::setPositionGroup ( const LLVector3d pos  ) 

Definition at line 818 of file lldrawable.cpp.

References mPositionGroup, and LLVector3d::setVec().

Referenced by setPositionGroup().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::setPositionGroup ( const LLVector3 pos  )  [inline]

Definition at line 181 of file lldrawable.h.

References setPositionGroup().

Here is the call graph for this function:

void LLDrawable::setRenderType ( S32  type  )  [inline]

Definition at line 183 of file lldrawable.h.

References mRenderType.

BOOL LLDrawable::isRenderType ( S32  type  )  [inline]

Definition at line 184 of file lldrawable.h.

References mRenderType.

S32 LLDrawable::getRenderType (  )  [inline]

Definition at line 185 of file lldrawable.h.

References mRenderType.

Referenced by LLPipeline::renderForSelect(), and LLPipeline::stateSort().

Here is the caller graph for this function:

S32 LLDrawable::findReferences ( LLDrawable drawablep  ) 

Definition at line 215 of file lldrawable.cpp.

References llendl, llinfos, mParent, and S32.

void LLDrawable::setSpatialGroup ( LLSpatialGroup groupp  ) 

LLSpatialGroup* LLDrawable::getSpatialGroup (  )  const [inline]

LLSpatialPartition * LLDrawable::getSpatialPartition (  ) 

Definition at line 890 of file lldrawable.cpp.

References getParent(), getSpatialPartition(), LLPipeline::getSpatialPartition(), getVOVolume(), gPipeline, isRoot(), isStatic(), mSpatialBridge, mVObjp, LLPointer< Type >::notNull(), NULL, and setSpatialBridge().

Referenced by getSpatialPartition(), and movePartition().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::incrementVisible (  )  [static]

Definition at line 85 of file lldrawable.cpp.

References LLSingleton< LLViewerCamera >::getInstance(), LLCamera::getView(), LLViewerWindow::getWindowDisplayHeight(), gViewerWindow, sCurPixelAngle, and sCurVisible.

Referenced by display().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::cleanupDeadDrawables (  )  [static]

Definition at line 199 of file lldrawable.cpp.

References LLDynamicArray< Type, BlockSize >::reset(), and sDeadList.

Referenced by LLAppViewer::idle().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::moveUpdatePipeline ( BOOL  moved  )  [protected]

Definition at line 543 of file lldrawable.cpp.

References getFace(), getNumFaces(), i, makeActive(), S32, and LLFace::updateCenterAgent().

Referenced by updateMoveDamped(), and updateMoveUndamped().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLDrawable::updatePartition (  )  [protected]

Definition at line 609 of file lldrawable.cpp.

References FALSE, getVOVolume(), gPipeline, LLPipeline::markMoved(), LLPipeline::markRebuild(), movePartition(), mSpatialBridge, REBUILD_POSITION, and TRUE.

Referenced by makeActive(), and makeStatic().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLDrawable::updateMoveDamped (  )  [protected]

Definition at line 626 of file lldrawable.cpp.

References FALSE, INVISIBLE, isState(), mGeneration, LLXform::MOVED, moveUpdatePipeline(), mVObjp, TRUE, and updateXform().

Referenced by updateMove().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLDrawable::updateMoveUndamped (  )  [protected]

Definition at line 591 of file lldrawable.cpp.

References INVISIBLE, isState(), mGeneration, LLXform::MOVED, moveUpdatePipeline(), mVObjp, TRUE, and updateXform().

Referenced by updateMove().

Here is the call graph for this function:

Here is the caller graph for this function:

static S32 LLDrawable::getCurrentFrame (  )  [inline, static]

void LLDrawable::setSpatialBridge ( LLSpatialBridge bridge  )  [inline]

Definition at line 283 of file lldrawable.h.

References mSpatialBridge.

Referenced by LLSpatialBridge::cleanupReferences(), getSpatialPartition(), LLSpatialBridge::LLSpatialBridge(), and makeStatic().

Here is the caller graph for this function:

LLSpatialBridge* LLDrawable::getSpatialBridge (  )  [inline]

Definition at line 284 of file lldrawable.h.

References mSpatialBridge.

Referenced by LLVOAvatar::getSpatialExtents(), LLPipeline::updateGeom(), and LLSpatialGroup::validate().

Here is the caller graph for this function:


Friends And Related Function Documentation

friend class LLPipeline [friend]

Definition at line 206 of file lldrawable.h.

friend class LLDrawPool [friend]

Definition at line 207 of file lldrawable.h.

friend class LLSpatialBridge [friend]

Definition at line 208 of file lldrawable.h.


Member Data Documentation

Definition at line 279 of file lldrawable.h.

Referenced by init(), makeActive(), LLPipeline::updateMove(), and updateTexture().

Definition at line 286 of file lldrawable.h.

Referenced by LLPipeline::calcPixelArea(), and incrementVisible().

Definition at line 291 of file lldrawable.h.

Referenced by clearState(), getState(), init(), isState(), and setState().

Definition at line 295 of file lldrawable.h.

Referenced by getSpatialGroup(), init(), and setSpatialGroup().

U32 LLDrawable::mVisible [mutable, private]

Definition at line 298 of file lldrawable.h.

Referenced by init(), isVisible(), LLSpatialBridge::setVisible(), and setVisible().

Definition at line 299 of file lldrawable.h.

Referenced by getRadius(), init(), setRadius(), and LLSpatialBridge::updateSpatialExtents().

Definition at line 303 of file lldrawable.h.

Referenced by getGeneration(), init(), updateMoveDamped(), and updateMoveUndamped().

Definition at line 305 of file lldrawable.h.

Referenced by getScale(), init(), and updateXform().

U32 LLDrawable::sCurVisible = 0 [static, private]

Definition at line 307 of file lldrawable.h.

Referenced by getCurrentFrame(), incrementVisible(), isVisible(), and setVisible().

U32 LLDrawable::sNumZombieDrawables = 0 [static, private]

Definition at line 309 of file lldrawable.h.

Referenced by destroy(), and markDead().

Definition at line 310 of file lldrawable.h.

Referenced by cleanupDeadDrawables().


The documentation for this class was generated from the following files:

Generated on Fri May 16 08:43:58 2008 for SecondLife by  doxygen 1.5.5