LLSpatialPartition Class Reference

#include <llspatialpartition.h>

Inheritance diagram for LLSpatialPartition:

Inheritance graph
[legend]
Collaboration diagram for LLSpatialPartition:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 LLSpatialPartition (U32 data_mask, U32 mBufferUsage=GL_STATIC_DRAW_ARB)
virtual ~LLSpatialPartition ()
LLSpatialGroupput (LLDrawable *drawablep, BOOL was_visible=FALSE)
BOOL remove (LLDrawable *drawablep, LLSpatialGroup *curp)
LLDrawablepickDrawable (const LLVector3 &start, const LLVector3 &end, LLVector3 &collision)
virtual void move (LLDrawable *drawablep, LLSpatialGroup *curp, BOOL immediate=FALSE)
virtual void shift (const LLVector3 &offset)
virtual F32 calcDistance (LLSpatialGroup *group, LLCamera &camera)
virtual F32 calcPixelArea (LLSpatialGroup *group, LLCamera &camera)
virtual void rebuildGeom (LLSpatialGroup *group)
S32 cull (LLCamera &camera, std::vector< LLDrawable * > *results=NULL, BOOL for_select=FALSE)
void markReimage (LLSpatialGroup *group)
void processImagery (LLCamera *camera)
BOOL isVisible (const LLVector3 &v)
virtual LLSpatialBridgeasBridge ()
virtual BOOL isBridge ()
void renderDebug ()
void restoreGL ()
void resetVertexBuffers ()

Public Attributes

LLSpatialGroup::OctreeNodemOctree
BOOL mOcclusionEnabled
BOOL mInfiniteFarClip
U32 mBufferUsage
BOOL mRenderByGroup
BOOL mImageEnabled
U32 mLODSeed
U32 mLODPeriod
U32 mVertexDataMask
F32 mSlopRatio
BOOL mDepthMask
U32 mDrawableType
U32 mPartitionType

Static Public Attributes

static BOOL sFreezeState = FALSE

Protected Types

typedef std::set< LLPointer
< LLSpatialGroup > > 
spatial_group_set_t
typedef std::queue< LLPointer
< LLSpatialGroup > > 
spatial_group_queue_t

Protected Attributes

spatial_group_set_t mSpatialGroups
spatial_group_queue_t mImageQueue


Detailed Description

Definition at line 293 of file llspatialpartition.h.


Member Typedef Documentation

Definition at line 330 of file llspatialpartition.h.

Definition at line 333 of file llspatialpartition.h.


Constructor & Destructor Documentation

LLSpatialPartition::LLSpatialPartition ( U32  data_mask,
U32  mBufferUsage = GL_STATIC_DRAW_ARB 
)

LLSpatialPartition::~LLSpatialPartition (  )  [virtual]

Definition at line 1359 of file llspatialpartition.cpp.

References mOctree, LLMemType::MTYPE_SPACE_PARTITION, and NULL.


Member Function Documentation

LLSpatialGroup * LLSpatialPartition::put ( LLDrawable drawablep,
BOOL  was_visible = FALSE 
)

BOOL LLSpatialPartition::remove ( LLDrawable drawablep,
LLSpatialGroup curp 
)

Definition at line 1392 of file llspatialpartition.cpp.

References assert_octree_valid, llendl, mOctree, LLMemType::MTYPE_SPACE_PARTITION, NULL, OCT_ERRS, LLSpatialGroup::removeObject(), LLDrawable::setSpatialGroup(), and TRUE.

Referenced by move(), and LLSpatialBridge::~LLSpatialBridge().

Here is the call graph for this function:

Here is the caller graph for this function:

LLDrawable * LLSpatialPartition::pickDrawable ( const LLVector3 start,
const LLVector3 end,
LLVector3 collision 
)

Definition at line 2590 of file llspatialpartition.cpp.

References LLOctreePick::check(), LLOctreePick::mEnd, mOctree, and LLVector3::setVec().

Referenced by LLPipeline::pickObject().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLSpatialPartition::move ( LLDrawable drawablep,
LLSpatialGroup curp,
BOOL  immediate = FALSE 
) [virtual]

void LLSpatialPartition::shift ( const LLVector3 offset  )  [virtual]

Reimplemented in LLHUDPartition.

Definition at line 1466 of file llspatialpartition.cpp.

References mOctree, LLMemType::MTYPE_SPACE_PARTITION, and LLOctreeTraveler< T >::traverse().

Referenced by LLPipeline::shiftObjects(), and LLSpatialShift::visit().

Here is the call graph for this function:

Here is the caller graph for this function:

F32 LLSpatialPartition::calcDistance ( LLSpatialGroup group,
LLCamera camera 
) [virtual]

F32 LLSpatialPartition::calcPixelArea ( LLSpatialGroup group,
LLCamera camera 
) [virtual]

Reimplemented in LLParticlePartition, and LLHUDBridge.

Definition at line 1039 of file llspatialpartition.cpp.

References LLPipeline::calcPixelArea(), and LLSpatialGroup::mObjectBounds.

Referenced by LLSpatialGroup::updateDistance().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLSpatialPartition::rebuildGeom ( LLSpatialGroup group  )  [virtual]

S32 LLSpatialPartition::cull ( LLCamera camera,
std::vector< LLDrawable * > *  results = NULL,
BOOL  for_select = FALSE 
)

void LLSpatialPartition::markReimage ( LLSpatialGroup group  ) 

Definition at line 1834 of file llspatialpartition.cpp.

References LLSpatialGroup::IMAGE_DIRTY, LLSpatialGroup::IN_IMAGE_QUEUE, LLSpatialGroup::isState(), mImageEnabled, mImageQueue, and LLSpatialGroup::setState().

Referenced by LLOctreeCull::preprocess().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLSpatialPartition::processImagery ( LLCamera camera  ) 

BOOL LLSpatialPartition::isVisible ( const LLVector3 v  ) 

Definition at line 2521 of file llspatialpartition.cpp.

References FALSE, LLSingleton< LLViewerCamera >::getInstance(), and TRUE.

Here is the call graph for this function:

virtual LLSpatialBridge* LLSpatialPartition::asBridge (  )  [inline, virtual]

Reimplemented in LLSpatialBridge.

Definition at line 321 of file llspatialpartition.h.

References NULL.

Referenced by isBridge(), LLPipeline::postSort(), renderDebug(), and LLSpatialGroup::validate().

Here is the caller graph for this function:

virtual BOOL LLSpatialPartition::isBridge (  )  [inline, virtual]

Definition at line 322 of file llspatialpartition.h.

References asBridge(), and NULL.

Referenced by calcDistance(), and renderOctree().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLSpatialPartition::renderDebug (  ) 

void LLSpatialPartition::restoreGL (  ) 

Definition at line 1755 of file llspatialpartition.cpp.

References LLMemType::MTYPE_SPACE_PARTITION.

Referenced by LLPipeline::restoreGL().

Here is the caller graph for this function:

void LLSpatialPartition::resetVertexBuffers (  ) 

Definition at line 1760 of file llspatialpartition.cpp.

References mOctree, and LLOctreeTraveler< T >::traverse().

Referenced by LLPipeline::resetVertexBuffers().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 331 of file llspatialpartition.h.

Definition at line 336 of file llspatialpartition.h.

Referenced by markReimage(), and processImagery().

Definition at line 345 of file llspatialpartition.h.

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


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

Generated on Fri May 16 09:06:18 2008 for SecondLife by  doxygen 1.5.5