summaryrefslogtreecommitdiff
path: root/indra/newview/llsculptidsize.cpp
diff options
context:
space:
mode:
authorRoxanne Skelly <roxie@lindenlab.com>2024-05-20 14:36:14 -0700
committerGitHub <noreply@github.com>2024-05-20 14:36:14 -0700
commita1d7d2abc304b59fbca26f0ca23c926762be10a1 (patch)
treefcb3901b838af753e40c2ddd1ce84b95a6c2f603 /indra/newview/llsculptidsize.cpp
parentf51797f088808029745161854aa86b775f041a64 (diff)
parent3a212d9608492ae64a3a32f80790371b90be9e9e (diff)
Merge pull request #1532 from secondlife/roxie/webrtc-voice
[WebRTC] Merge from main
Diffstat (limited to 'indra/newview/llsculptidsize.cpp')
-rw-r--r--indra/newview/llsculptidsize.cpp122
1 files changed, 61 insertions, 61 deletions
diff --git a/indra/newview/llsculptidsize.cpp b/indra/newview/llsculptidsize.cpp
index bedee32213..3bc5ad7616 100644
--- a/indra/newview/llsculptidsize.cpp
+++ b/indra/newview/llsculptidsize.cpp
@@ -46,86 +46,86 @@ void _nothing_to_do_func(int) { /*nothing todo here because of the size it's a s
void LLSculptIDSize::inc(const LLDrawable *pdrawable, int sz)
{
- llassert(sz >= 0);
+ llassert(sz >= 0);
- if (!pdrawable) return;
- LLVOVolume* vvol = pdrawable->getVOVolume();
- if (!vvol) return;
- if (!vvol->isAttachment()) return;
- if (!vvol->getAvatar()) return;
- if (vvol->getAvatar()->isSelf()) return;
- LLVolume *vol = vvol->getVolume();
- if (!vol) return;
+ if (!pdrawable) return;
+ LLVOVolume* vvol = pdrawable->getVOVolume();
+ if (!vvol) return;
+ if (!vvol->isAttachment()) return;
+ if (!vvol->getAvatar()) return;
+ if (vvol->getAvatar()->isSelf()) return;
+ LLVolume *vol = vvol->getVolume();
+ if (!vol) return;
- const LLUUID &sculptId = vol->getParams().getSculptID();
- if (sculptId.isNull()) return;
+ const LLUUID &sculptId = vol->getParams().getSculptID();
+ if (sculptId.isNull()) return;
- unsigned int total_size = 0;
+ unsigned int total_size = 0;
- pair_iter_iter_BY_SCULPT_ID_t itLU = mSizeInfo.get<tag_BY_SCULPT_ID>().equal_range(sculptId);
- if (itLU.first == itLU.second)
- { //register
- //llassert(mSizeInfo.get<tag_BY_DRAWABLE>().end() == mSizeInfo.get<tag_BY_DRAWABLE>().find(pdrawable));
- mSizeInfo.get<tag_BY_DRAWABLE>().insert(Info(pdrawable, sz, std::make_shared<SizeSum>(sz), sculptId));
- total_size = sz;
- }
- else
- { //update + register
- Info &nfo = const_cast<Info &>(*itLU.first);
- //calc new size
- total_size = nfo.getSizeSum() + sz;
- nfo.mSharedSizeSum->mSizeSum = total_size;
- nfo.mSize = sz;
- //update size for all LLDrwable in range of sculptId
- for (pair_iter_iter_BY_SCULPT_ID_t::first_type it = itLU.first; it != itLU.second; ++it)
- {
- mSizeInfo.get<tag_BY_SIZE>().modify_key(mSizeInfo.project<tag_BY_SIZE>(it), boost::bind(&_nothing_to_do_func, _1));
- }
+ pair_iter_iter_BY_SCULPT_ID_t itLU = mSizeInfo.get<tag_BY_SCULPT_ID>().equal_range(sculptId);
+ if (itLU.first == itLU.second)
+ { //register
+ //llassert(mSizeInfo.get<tag_BY_DRAWABLE>().end() == mSizeInfo.get<tag_BY_DRAWABLE>().find(pdrawable));
+ mSizeInfo.get<tag_BY_DRAWABLE>().insert(Info(pdrawable, sz, std::make_shared<SizeSum>(sz), sculptId));
+ total_size = sz;
+ }
+ else
+ { //update + register
+ Info &nfo = const_cast<Info &>(*itLU.first);
+ //calc new size
+ total_size = nfo.getSizeSum() + sz;
+ nfo.mSharedSizeSum->mSizeSum = total_size;
+ nfo.mSize = sz;
+ //update size for all LLDrwable in range of sculptId
+ for (pair_iter_iter_BY_SCULPT_ID_t::first_type it = itLU.first; it != itLU.second; ++it)
+ {
+ mSizeInfo.get<tag_BY_SIZE>().modify_key(mSizeInfo.project<tag_BY_SIZE>(it), boost::bind(&_nothing_to_do_func, _1));
+ }
- //trying insert the LLDrawable
- mSizeInfo.get<tag_BY_DRAWABLE>().insert(Info(pdrawable, sz, nfo.mSharedSizeSum, sculptId));
- }
+ //trying insert the LLDrawable
+ mSizeInfo.get<tag_BY_DRAWABLE>().insert(Info(pdrawable, sz, nfo.mSharedSizeSum, sculptId));
+ }
}
void LLSculptIDSize::dec(const LLDrawable *pdrawable)
{
- container_BY_DRAWABLE_view::iterator it = mSizeInfo.get<tag_BY_DRAWABLE>().find(pdrawable);
- if (mSizeInfo.get<tag_BY_DRAWABLE>().end() == it) return;
+ container_BY_DRAWABLE_view::iterator it = mSizeInfo.get<tag_BY_DRAWABLE>().find(pdrawable);
+ if (mSizeInfo.get<tag_BY_DRAWABLE>().end() == it) return;
- unsigned int size = it->getSizeSum() - it->getSize();
+ unsigned int size = it->getSizeSum() - it->getSize();
- if (0 == size)
- {
- mSizeInfo.get<tag_BY_SCULPT_ID>().erase(it->getSculptId());
- }
- else
- {
- Info &nfo = const_cast<Info &>(*it);
- nfo.mSize = 0;
- pair_iter_iter_BY_SCULPT_ID_t itLU = mSizeInfo.get<tag_BY_SCULPT_ID>().equal_range(it->getSculptId());
- it->mSharedSizeSum->mSizeSum = size;
- for (pair_iter_iter_BY_SCULPT_ID_t::first_type it = itLU.first; it != itLU.second; ++it)
- {
- mSizeInfo.get<tag_BY_SIZE>().modify_key(mSizeInfo.project<tag_BY_SIZE>(it), boost::bind(&_nothing_to_do_func, _1));
- }
- }
+ if (0 == size)
+ {
+ mSizeInfo.get<tag_BY_SCULPT_ID>().erase(it->getSculptId());
+ }
+ else
+ {
+ Info &nfo = const_cast<Info &>(*it);
+ nfo.mSize = 0;
+ pair_iter_iter_BY_SCULPT_ID_t itLU = mSizeInfo.get<tag_BY_SCULPT_ID>().equal_range(it->getSculptId());
+ it->mSharedSizeSum->mSizeSum = size;
+ for (pair_iter_iter_BY_SCULPT_ID_t::first_type it = itLU.first; it != itLU.second; ++it)
+ {
+ mSizeInfo.get<tag_BY_SIZE>().modify_key(mSizeInfo.project<tag_BY_SIZE>(it), boost::bind(&_nothing_to_do_func, _1));
+ }
+ }
}
void LLSculptIDSize::rem(const LLUUID &sculptId)
{
- mSizeInfo.get<tag_BY_SCULPT_ID>().erase(sculptId);
+ mSizeInfo.get<tag_BY_SCULPT_ID>().erase(sculptId);
}
void LLSculptIDSize::resetSizeSum(const LLUUID &sculptId)
{
- const pair_iter_iter_BY_SCULPT_ID_t itLU = mSizeInfo.get<tag_BY_SCULPT_ID>().equal_range(sculptId);
+ const pair_iter_iter_BY_SCULPT_ID_t itLU = mSizeInfo.get<tag_BY_SCULPT_ID>().equal_range(sculptId);
- if (itLU.first != itLU.second) {
- itLU.first->mSharedSizeSum->mSizeSum = 0;
- }
+ if (itLU.first != itLU.second) {
+ itLU.first->mSharedSizeSum->mSizeSum = 0;
+ }
- for (pair_iter_iter_BY_SCULPT_ID_t::first_type it = itLU.first, itE = itLU.second; it != itE; ++it)
- {
- mSizeInfo.get<tag_BY_SIZE>().modify_key(mSizeInfo.project<tag_BY_SIZE>(it), boost::bind(&_nothing_to_do_func, _1));
- }
+ for (pair_iter_iter_BY_SCULPT_ID_t::first_type it = itLU.first, itE = itLU.second; it != itE; ++it)
+ {
+ mSizeInfo.get<tag_BY_SIZE>().modify_key(mSizeInfo.project<tag_BY_SIZE>(it), boost::bind(&_nothing_to_do_func, _1));
+ }
}