#include <llvolumemgr.h>
Public Types | |
enum | { NUM_LODS = 4 } |
Public Member Functions | |
LLVolumeLODGroup (const LLVolumeParams ¶ms) | |
~LLVolumeLODGroup () | |
bool | cleanupRefs () |
LLVolume * | getLODVolume (const S32 detail) |
BOOL | derefLOD (LLVolume *volumep) |
S32 | getNumRefs () const |
const LLVolumeParams * | getVolumeParams () 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< LLVolume > | mVolumeLODs [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) |
Definition at line 44 of file llvolumemgr.h.
anonymous enum |
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.
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().
Definition at line 335 of file llvolumemgr.cpp.
References i, mDetailThresholds, NUM_LODS, and S32.
Referenced by LLVOVolume::computeLODDetail(), and getDetailProximity().
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.
Definition at line 372 of file llvolumemgr.cpp.
References mDetailScales.
Referenced by LLPrimitive::setVolume().
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().
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().
S32 LLVolumeLODGroup::getNumRefs | ( | ) | const [inline] |
Definition at line 64 of file llvolumemgr.h.
References mRefs.
Referenced by cleanupRefs(), operator<<(), and LLVolumeMgr::unrefVolume().
const LLVolumeParams* LLVolumeLODGroup::getVolumeParams | ( | ) | const [inline] |
Definition at line 66 of file llvolumemgr.h.
References mVolumeParams.
Referenced by cleanupRefs(), LLVolumeMgr::insertGroup(), and operator<<().
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().
std::ostream& operator<< | ( | std::ostream & | s, | |
const LLVolumeLODGroup & | volgroup | |||
) | [friend] |
Definition at line 396 of file llvolumemgr.cpp.
LLVolumeParams LLVolumeLODGroup::mVolumeParams [protected] |
S32 LLVolumeLODGroup::mRefs [protected] |
Definition at line 74 of file llvolumemgr.h.
Referenced by cleanupRefs(), derefLOD(), getLODVolume(), and getNumRefs().
S32 LLVolumeLODGroup::mLODRefs[NUM_LODS] [protected] |
Definition at line 75 of file llvolumemgr.h.
Referenced by cleanupRefs(), derefLOD(), getLODVolume(), LLVolumeLODGroup(), and ~LLVolumeLODGroup().
LLPointer<LLVolume> LLVolumeLODGroup::mVolumeLODs[NUM_LODS] [protected] |
Definition at line 76 of file llvolumemgr.h.
Referenced by cleanupRefs(), derefLOD(), and getLODVolume().
F32 LLVolumeLODGroup::mDetailThresholds [static, protected] |
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().