#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().
1.5.5