summaryrefslogtreecommitdiff
path: root/indra/llprimitive/llprimtexturelist.cpp
diff options
context:
space:
mode:
authorAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
committerAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
commit1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch)
treeab243607f74f78200787bba5b9b88f07ef1b966f /indra/llprimitive/llprimtexturelist.cpp
parent6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff)
parente1623bb276f83a43ce7a197e388720c05bdefe61 (diff)
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
Diffstat (limited to 'indra/llprimitive/llprimtexturelist.cpp')
-rw-r--r--indra/llprimitive/llprimtexturelist.cpp504
1 files changed, 252 insertions, 252 deletions
diff --git a/indra/llprimitive/llprimtexturelist.cpp b/indra/llprimitive/llprimtexturelist.cpp
index f4f08248b8..ce4df843ea 100644
--- a/indra/llprimitive/llprimtexturelist.cpp
+++ b/indra/llprimitive/llprimtexturelist.cpp
@@ -1,25 +1,25 @@
-/**
+/**
* @file lltexturelist.cpp
* @brief LLPrimTextureList (virtual) base class
*
* $LicenseInfo:firstyear=2008&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -30,50 +30,50 @@
#include "llmaterialid.h"
#include "lltextureentry.h"
-// static
+// static
//int (TMyClass::*pt2Member)(float, char, char) = NULL; // C++
LLTextureEntry* (*LLPrimTextureList::sNewTextureEntryCallback)() = &(LLTextureEntry::newTextureEntry);
// static
void LLPrimTextureList::setNewTextureEntryCallback( LLTextureEntry* (*callback)() )
{
- if (callback)
- {
- LLPrimTextureList::sNewTextureEntryCallback = callback;
- }
- else
- {
- LLPrimTextureList::sNewTextureEntryCallback = &(LLTextureEntry::newTextureEntry);
- }
+ if (callback)
+ {
+ LLPrimTextureList::sNewTextureEntryCallback = callback;
+ }
+ else
+ {
+ LLPrimTextureList::sNewTextureEntryCallback = &(LLTextureEntry::newTextureEntry);
+ }
}
-// static
+// static
// call this to get a new texture entry
LLTextureEntry* LLPrimTextureList::newTextureEntry()
{
- return (*sNewTextureEntryCallback)();
+ return (*sNewTextureEntryCallback)();
}
LLPrimTextureList::LLPrimTextureList()
{
}
-// virtual
+// virtual
LLPrimTextureList::~LLPrimTextureList()
{
- clear();
+ clear();
}
void LLPrimTextureList::clear()
{
- texture_list_t::iterator itr = mEntryList.begin();
- while (itr != mEntryList.end())
- {
- delete (*itr);
- (*itr) = NULL;
- ++itr;
- }
- mEntryList.clear();
+ texture_list_t::iterator itr = mEntryList.begin();
+ while (itr != mEntryList.end())
+ {
+ delete (*itr);
+ (*itr) = NULL;
+ ++itr;
+ }
+ mEntryList.clear();
}
@@ -82,34 +82,34 @@ void LLPrimTextureList::clear()
// this is somewhat expensive, so it must be called explicitly
void LLPrimTextureList::copy(const LLPrimTextureList& other_list)
{
- // compare the sizes
- S32 this_size = mEntryList.size();
- S32 other_size = other_list.mEntryList.size();
-
- if (this_size > other_size)
- {
- // remove the extra entries
- for (S32 index = this_size; index > other_size; --index)
- {
- delete mEntryList[index-1];
- }
- mEntryList.resize(other_size);
- this_size = other_size;
- }
-
- S32 index = 0;
- // copy for the entries that already exist
- for ( ; index < this_size; ++index)
- {
- delete mEntryList[index];
- mEntryList[index] = other_list.getTexture(index)->newCopy();
- }
-
- // add new entires if needed
- for ( ; index < other_size; ++index)
- {
- mEntryList.push_back( other_list.getTexture(index)->newCopy() );
- }
+ // compare the sizes
+ S32 this_size = mEntryList.size();
+ S32 other_size = other_list.mEntryList.size();
+
+ if (this_size > other_size)
+ {
+ // remove the extra entries
+ for (S32 index = this_size; index > other_size; --index)
+ {
+ delete mEntryList[index-1];
+ }
+ mEntryList.resize(other_size);
+ this_size = other_size;
+ }
+
+ S32 index = 0;
+ // copy for the entries that already exist
+ for ( ; index < this_size; ++index)
+ {
+ delete mEntryList[index];
+ mEntryList[index] = other_list.getTexture(index)->newCopy();
+ }
+
+ // add new entires if needed
+ for ( ; index < other_size; ++index)
+ {
+ mEntryList.push_back( other_list.getTexture(index)->newCopy() );
+ }
}
// clears current copies
@@ -117,329 +117,329 @@ void LLPrimTextureList::copy(const LLPrimTextureList& other_list)
// clears other_list
void LLPrimTextureList::take(LLPrimTextureList& other_list)
{
- clear();
- mEntryList = other_list.mEntryList;
- other_list.mEntryList.clear();
+ clear();
+ mEntryList = other_list.mEntryList;
+ other_list.mEntryList.clear();
}
-// virtual
+// virtual
// copies LLTextureEntry 'te'
// returns TEM_CHANGE_TEXTURE if successful, otherwise TEM_CHANGE_NONE
S32 LLPrimTextureList::copyTexture(const U8 index, const LLTextureEntry& te)
{
- if (S32(index) >= mEntryList.size())
- {
- S32 current_size = mEntryList.size();
- LL_WARNS() << "ignore copy of index = " << S32(index) << " into texture entry list of size = " << current_size << LL_ENDL;
- return TEM_CHANGE_NONE;
- }
-
- // we're changing an existing entry
- llassert(mEntryList[index]);
- delete (mEntryList[index]);
- if (&te)
- {
- mEntryList[index] = te.newCopy();
- }
- else
- {
- mEntryList[index] = LLPrimTextureList::newTextureEntry();
- }
- return TEM_CHANGE_TEXTURE;
-}
-
-// virtual
+ if (S32(index) >= mEntryList.size())
+ {
+ S32 current_size = mEntryList.size();
+ LL_WARNS() << "ignore copy of index = " << S32(index) << " into texture entry list of size = " << current_size << LL_ENDL;
+ return TEM_CHANGE_NONE;
+ }
+
+ // we're changing an existing entry
+ llassert(mEntryList[index]);
+ delete (mEntryList[index]);
+ if (&te)
+ {
+ mEntryList[index] = te.newCopy();
+ }
+ else
+ {
+ mEntryList[index] = LLPrimTextureList::newTextureEntry();
+ }
+ return TEM_CHANGE_TEXTURE;
+}
+
+// virtual
// takes ownership of LLTextureEntry* 'te'
// returns TEM_CHANGE_TEXTURE if successful, otherwise TEM_CHANGE_NONE
// IMPORTANT! -- if you use this function you must check the return value
S32 LLPrimTextureList::takeTexture(const U8 index, LLTextureEntry* te)
{
- if (S32(index) >= mEntryList.size())
- {
- return TEM_CHANGE_NONE;
- }
+ if (S32(index) >= mEntryList.size())
+ {
+ return TEM_CHANGE_NONE;
+ }
- // we're changing an existing entry
- llassert(mEntryList[index]);
- delete (mEntryList[index]);
- mEntryList[index] = te;
- return TEM_CHANGE_TEXTURE;
+ // we're changing an existing entry
+ llassert(mEntryList[index]);
+ delete (mEntryList[index]);
+ mEntryList[index] = te;
+ return TEM_CHANGE_TEXTURE;
}
// returns pointer to texture at 'index' slot
LLTextureEntry* LLPrimTextureList::getTexture(const U8 index) const
{
- if (index < mEntryList.size())
- {
- return mEntryList[index];
- }
- return NULL;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index];
+ }
+ return NULL;
}
-//virtual
+//virtual
//S32 setTE(const U8 index, const LLTextureEntry& te) = 0;
S32 LLPrimTextureList::setID(const U8 index, const LLUUID& id)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setID(id);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setID(id);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setColor(const U8 index, const LLColor3& color)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setColor(color);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setColor(color);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setColor(const U8 index, const LLColor4& color)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setColor(color);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setColor(color);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setAlpha(const U8 index, const F32 alpha)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setAlpha(alpha);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setAlpha(alpha);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setScale(const U8 index, const F32 s, const F32 t)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setScale(s, t);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setScale(s, t);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setScaleS(const U8 index, const F32 s)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setScaleS(s);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setScaleS(s);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setScaleT(const U8 index, const F32 t)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setScaleT(t);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setScaleT(t);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setOffset(const U8 index, const F32 s, const F32 t)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setOffset(s, t);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setOffset(s, t);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setOffsetS(const U8 index, const F32 s)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setOffsetS(s);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setOffsetS(s);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setOffsetT(const U8 index, const F32 t)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setOffsetT(t);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setOffsetT(t);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setRotation(const U8 index, const F32 r)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setRotation(r);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setRotation(r);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setBumpShinyFullbright(const U8 index, const U8 bump)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setBumpShinyFullbright(bump);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setBumpShinyFullbright(bump);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setMediaTexGen(const U8 index, const U8 media)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setMediaTexGen(media);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setMediaTexGen(media);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setBumpMap(const U8 index, const U8 bump)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setBumpmap(bump);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setBumpmap(bump);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setBumpShiny(const U8 index, const U8 bump_shiny)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setBumpShiny(bump_shiny);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setBumpShiny(bump_shiny);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setTexGen(const U8 index, const U8 texgen)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setTexGen(texgen);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setTexGen(texgen);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setShiny(const U8 index, const U8 shiny)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setShiny(shiny);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setShiny(shiny);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setFullbright(const U8 index, const U8 fullbright)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setFullbright(fullbright);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setFullbright(fullbright);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setMediaFlags(const U8 index, const U8 media_flags)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setMediaFlags(media_flags);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setMediaFlags(media_flags);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setGlow(const U8 index, const F32 glow)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setGlow(glow);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setGlow(glow);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setMaterialID(const U8 index, const LLMaterialID& pMaterialID)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setMaterialID(pMaterialID);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setMaterialID(pMaterialID);
+ }
+ return TEM_CHANGE_NONE;
}
S32 LLPrimTextureList::setMaterialParams(const U8 index, const LLMaterialPtr pMaterialParams)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->setMaterialParams(pMaterialParams);
- }
- return TEM_CHANGE_NONE;
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->setMaterialParams(pMaterialParams);
+ }
+ return TEM_CHANGE_NONE;
}
LLMaterialPtr LLPrimTextureList::getMaterialParams(const U8 index)
{
- if (index < mEntryList.size())
- {
- return mEntryList[index]->getMaterialParams();
- }
-
- return LLMaterialPtr();
+ if (index < mEntryList.size())
+ {
+ return mEntryList[index]->getMaterialParams();
+ }
+
+ return LLMaterialPtr();
}
S32 LLPrimTextureList::size() const
{
- return mEntryList.size();
+ return mEntryList.size();
}
// sets the size of the mEntryList container
void LLPrimTextureList::setSize(S32 new_size)
{
- if (new_size < 0)
- {
- new_size = 0;
- }
-
- S32 current_size = mEntryList.size();
-
- if (new_size > current_size)
- {
- mEntryList.resize(new_size);
- for (S32 index = current_size; index < new_size; ++index)
- {
- if (current_size > 0
- && mEntryList[current_size - 1])
- {
- // copy the last valid entry for the new one
- mEntryList[index] = mEntryList[current_size - 1]->newCopy();
- }
- else
- {
- // no valid enries to copy, so we new one up
- LLTextureEntry* new_entry = LLPrimTextureList::newTextureEntry();
- mEntryList[index] = new_entry;
- }
- }
- }
- else if (new_size < current_size)
- {
- for (S32 index = current_size-1; index >= new_size; --index)
- {
- delete mEntryList[index];
- }
- mEntryList.resize(new_size);
- }
+ if (new_size < 0)
+ {
+ new_size = 0;
+ }
+
+ S32 current_size = mEntryList.size();
+
+ if (new_size > current_size)
+ {
+ mEntryList.resize(new_size);
+ for (S32 index = current_size; index < new_size; ++index)
+ {
+ if (current_size > 0
+ && mEntryList[current_size - 1])
+ {
+ // copy the last valid entry for the new one
+ mEntryList[index] = mEntryList[current_size - 1]->newCopy();
+ }
+ else
+ {
+ // no valid enries to copy, so we new one up
+ LLTextureEntry* new_entry = LLPrimTextureList::newTextureEntry();
+ mEntryList[index] = new_entry;
+ }
+ }
+ }
+ else if (new_size < current_size)
+ {
+ for (S32 index = current_size-1; index >= new_size; --index)
+ {
+ delete mEntryList[index];
+ }
+ mEntryList.resize(new_size);
+ }
}
void LLPrimTextureList::setAllIDs(const LLUUID& id)
{
- texture_list_t::iterator itr = mEntryList.begin();
- while (itr != mEntryList.end())
- {
- (*itr)->setID(id);
- ++itr;
- }
+ texture_list_t::iterator itr = mEntryList.begin();
+ while (itr != mEntryList.end())
+ {
+ (*itr)->setID(id);
+ ++itr;
+ }
}