#include <llvolumemgr.h>
Public Member Functions | |
LLVolumeMgr () | |
virtual | ~LLVolumeMgr () |
BOOL | cleanup () |
virtual LLVolumeLODGroup * | getGroup (const LLVolumeParams &volume_params) const |
LLVolume * | refVolume (const LLVolumeParams &volume_params, const S32 detail) |
void | unrefVolume (LLVolume *volumep) |
void | dump () |
void | useMutex () |
Protected Types | |
typedef std::map< const LLVolumeParams *, LLVolumeLODGroup *, LLVolumeParams::compare > | volume_lod_group_map_t |
Protected Member Functions | |
void | insertGroup (LLVolumeLODGroup *volgroup) |
virtual LLVolumeLODGroup * | createNewGroup (const LLVolumeParams &volume_params) |
Protected Attributes | |
volume_lod_group_map_t | mVolumeLODGroups |
LLMutex * | mDataMutex |
Friends | |
std::ostream & | operator<< (std::ostream &s, const LLVolumeMgr &volume_mgr) |
Definition at line 82 of file llvolumemgr.h.
typedef std::map<const LLVolumeParams*, LLVolumeLODGroup*, LLVolumeParams::compare> LLVolumeMgr::volume_lod_group_map_t [protected] |
Definition at line 110 of file llvolumemgr.h.
LLVolumeMgr::LLVolumeMgr | ( | ) |
Definition at line 52 of file llvolumemgr.cpp.
LLVolumeMgr::~LLVolumeMgr | ( | ) | [virtual] |
Definition at line 60 of file llvolumemgr.cpp.
References cleanup(), mDataMutex, and NULL.
BOOL LLVolumeMgr::cleanup | ( | ) |
Definition at line 68 of file llvolumemgr.cpp.
References LLVolumeLODGroup::cleanupRefs(), FALSE, LLMutex::lock(), mDataMutex, mVolumeLODGroups, TRUE, and LLMutex::unlock().
Referenced by LLAppViewer::cleanup(), LLPrimitive::cleanupVolumeManager(), and ~LLVolumeMgr().
LLVolumeLODGroup * LLVolumeMgr::getGroup | ( | const LLVolumeParams & | volume_params | ) | const [virtual] |
Definition at line 122 of file llvolumemgr.cpp.
References LLMutex::lock(), mDataMutex, mVolumeLODGroups, NULL, and LLMutex::unlock().
LLVolume * LLVolumeMgr::refVolume | ( | const LLVolumeParams & | volume_params, | |
const S32 | detail | |||
) |
Definition at line 98 of file llvolumemgr.cpp.
References createNewGroup(), LLVolumeLODGroup::getLODVolume(), LLMutex::lock(), mDataMutex, mVolumeLODGroups, and LLMutex::unlock().
Referenced by LLPrimitive::setVolume().
void LLVolumeMgr::unrefVolume | ( | LLVolume * | volumep | ) |
Definition at line 141 of file llvolumemgr.cpp.
References LLVolumeLODGroup::derefLOD(), LLVolumeLODGroup::getNumRefs(), LLVolume::getParams(), LLVolume::isUnique(), llendl, llerrs, LLMutex::lock(), mDataMutex, mVolumeLODGroups, and LLMutex::unlock().
Referenced by LLPrimitive::setVolume(), and LLPrimitive::~LLPrimitive().
void LLVolumeMgr::dump | ( | ) |
Definition at line 197 of file llvolumemgr.cpp.
References LLVolumeLODGroup::dump(), llendl, llinfos, LLMutex::lock(), mDataMutex, mVolumeLODGroups, and LLMutex::unlock().
void LLVolumeMgr::useMutex | ( | ) |
void LLVolumeMgr::insertGroup | ( | LLVolumeLODGroup * | volgroup | ) | [protected] |
Definition at line 182 of file llvolumemgr.cpp.
References LLVolumeLODGroup::getVolumeParams(), and mVolumeLODGroups.
Referenced by createNewGroup().
LLVolumeLODGroup * LLVolumeMgr::createNewGroup | ( | const LLVolumeParams & | volume_params | ) | [protected, virtual] |
Definition at line 188 of file llvolumemgr.cpp.
References insertGroup(), and LLMemType::MTYPE_VOLUME.
Referenced by refVolume().
std::ostream& operator<< | ( | std::ostream & | s, | |
const LLVolumeMgr & | volume_mgr | |||
) | [friend] |
Definition at line 228 of file llvolumemgr.cpp.
volume_lod_group_map_t LLVolumeMgr::mVolumeLODGroups [protected] |
Definition at line 111 of file llvolumemgr.h.
Referenced by cleanup(), dump(), getGroup(), insertGroup(), operator<<(), refVolume(), and unrefVolume().
LLMutex* LLVolumeMgr::mDataMutex [protected] |
Definition at line 113 of file llvolumemgr.h.
Referenced by cleanup(), dump(), getGroup(), operator<<(), refVolume(), unrefVolume(), useMutex(), and ~LLVolumeMgr().