LLVolumeLODGroup Class Reference

#include <llvolumemgr.h>

Collaboration diagram for LLVolumeLODGroup:

Collaboration graph
[legend]

List of all members.

Public Types

enum  { NUM_LODS = 4 }

Public Member Functions

 LLVolumeLODGroup (const LLVolumeParams &params)
 ~LLVolumeLODGroup ()
bool cleanupRefs ()
LLVolumegetLODVolume (const S32 detail)
BOOL derefLOD (LLVolume *volumep)
S32 getNumRefs () const
const LLVolumeParamsgetVolumeParams () const
F32 dump ()

Static Public Member Functions

static S32 getDetailFromTan (const F32 tan_angle)
static void getDetailProximity (const F32 tan_angle, F32 &to_lower, F32 &to_higher)
static F32 getVolumeScaleFromDetail (const S32 detail)

Protected Attributes

LLVolumeParams mVolumeParams
S32 mRefs
S32 mLODRefs [NUM_LODS]
LLPointer< LLVolumemVolumeLODs [NUM_LODS]
S32 mAccessCount [NUM_LODS]

Static Protected Attributes

static F32 mDetailThresholds [NUM_LODS]
static F32 mDetailScales [NUM_LODS] = {1.f, 1.5f, 2.5f, 4.f}

Private Member Functions

 LOG_CLASS (LLVolumeLODGroup)

Friends

std::ostream & operator<< (std::ostream &s, const LLVolumeLODGroup &volgroup)


Detailed Description

Definition at line 44 of file llvolumemgr.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
NUM_LODS 

Definition at line 49 of file llvolumemgr.h.


Constructor & Destructor Documentation

LLVolumeLODGroup::LLVolumeLODGroup ( const LLVolumeParams params  ) 

Definition at line 255 of file llvolumemgr.cpp.

References i, mAccessCount, mLODRefs, NUM_LODS, and S32.

LLVolumeLODGroup::~LLVolumeLODGroup (  ) 

Definition at line 266 of file llvolumemgr.cpp.

References i, llassert_always, mLODRefs, NUM_LODS, and S32.


Member Function Documentation

LLVolumeLODGroup::LOG_CLASS ( LLVolumeLODGroup   )  [private]

bool LLVolumeLODGroup::cleanupRefs (  ) 

Definition at line 275 of file llvolumemgr.cpp.

References getNumRefs(), getVolumeParams(), i, llendl, llwarns, mLODRefs, mRefs, mVolumeLODs, NULL, NUM_LODS, and S32.

Referenced by LLVolumeMgr::cleanup().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 LLVolumeLODGroup::getDetailFromTan ( const F32  tan_angle  )  [static]

Definition at line 335 of file llvolumemgr.cpp.

References i, mDetailThresholds, NUM_LODS, and S32.

Referenced by LLVOVolume::computeLODDetail(), and getDetailProximity().

Here is the caller graph for this function:

void LLVolumeLODGroup::getDetailProximity ( const F32  tan_angle,
F32 to_lower,
F32 to_higher 
) [static]

Definition at line 349 of file llvolumemgr.cpp.

References getDetailFromTan(), mDetailThresholds, NUM_LODS, and S32.

Here is the call graph for this function:

F32 LLVolumeLODGroup::getVolumeScaleFromDetail ( const S32  detail  )  [static]

Definition at line 372 of file llvolumemgr.cpp.

References mDetailScales.

Referenced by LLPrimitive::setVolume().

Here is the caller graph for this function:

LLVolume * LLVolumeLODGroup::getLODVolume ( const S32  detail  ) 

Definition at line 297 of file llvolumemgr.cpp.

References llassert, mAccessCount, mDetailScales, mLODRefs, mRefs, LLMemType::MTYPE_VOLUME, mVolumeLODs, mVolumeParams, and NUM_LODS.

Referenced by LLVolumeMgr::refVolume().

Here is the caller graph for this function:

BOOL LLVolumeLODGroup::derefLOD ( LLVolume volumep  ) 

Definition at line 312 of file llvolumemgr.cpp.

References FALSE, i, llassert_always, llendl, llerrs, mLODRefs, mRefs, mVolumeLODs, NULL, NUM_LODS, S32, and TRUE.

Referenced by LLVolumeMgr::unrefVolume().

Here is the caller graph for this function:

S32 LLVolumeLODGroup::getNumRefs (  )  const [inline]

Definition at line 64 of file llvolumemgr.h.

References mRefs.

Referenced by cleanupRefs(), operator<<(), and LLVolumeMgr::unrefVolume().

Here is the caller graph for this function:

const LLVolumeParams* LLVolumeLODGroup::getVolumeParams (  )  const [inline]

Definition at line 66 of file llvolumemgr.h.

References mVolumeParams.

Referenced by cleanupRefs(), LLVolumeMgr::insertGroup(), and operator<<().

Here is the caller graph for this function:

F32 LLVolumeLODGroup::dump (  ) 

Definition at line 377 of file llvolumemgr.cpp.

References i, llendl, llinfos, mAccessCount, NUM_LODS, S32, and indra::util::llmanifest::usage().

Referenced by LLVolumeMgr::dump().

Here is the call graph for this function:

Here is the caller graph for this function:


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
const LLVolumeLODGroup volgroup 
) [friend]

Definition at line 396 of file llvolumemgr.cpp.


Member Data Documentation

Definition at line 72 of file llvolumemgr.h.

Referenced by getLODVolume(), and getVolumeParams().

Definition at line 74 of file llvolumemgr.h.

Referenced by cleanupRefs(), derefLOD(), getLODVolume(), and getNumRefs().

S32 LLVolumeLODGroup::mLODRefs[NUM_LODS] [protected]

Definition at line 76 of file llvolumemgr.h.

Referenced by cleanupRefs(), derefLOD(), and getLODVolume().

Initial value:

 {BASE_THRESHOLD,
                                                                                                         2*BASE_THRESHOLD,
                                                                                                         8*BASE_THRESHOLD,
                                                                                                         100*BASE_THRESHOLD}

Definition at line 77 of file llvolumemgr.h.

Referenced by getDetailFromTan(), and getDetailProximity().

F32 LLVolumeLODGroup::mDetailScales = {1.f, 1.5f, 2.5f, 4.f} [static, protected]

Definition at line 78 of file llvolumemgr.h.

Referenced by getLODVolume(), and getVolumeScaleFromDetail().

S32 LLVolumeLODGroup::mAccessCount[NUM_LODS] [protected]

Definition at line 79 of file llvolumemgr.h.

Referenced by dump(), getLODVolume(), and LLVolumeLODGroup().


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

Generated on Fri May 16 09:37:46 2008 for SecondLife by  doxygen 1.5.5