summaryrefslogtreecommitdiff
path: root/indra/newview/lllocaltextureobject.h
diff options
context:
space:
mode:
authorNeal Orman <nyx@lindenlab.com>2009-10-16 17:56:30 +0000
committerNeal Orman <nyx@lindenlab.com>2009-10-16 17:56:30 +0000
commitd08b0b6ae8bcd452a3d707ac153107d0f1523df8 (patch)
tree3caac3468a18b105e5aa5eb53cd13ed416c1a48d /indra/newview/lllocaltextureobject.h
parent087897b1f837872fc02822595e5dd47fabf3b7e8 (diff)
merging in new wearable infrastructure to get a step closer to eventually supporting multiple wearables per type. Merge tested and compiles/working on linux and windows - no obvious regressions on appearance or appearance editor. Merge generated no conflicts due to being tested in fresh re-branch in avatar-pipeline/multiple-textures-12. Merge perfomed with following command:
svn merge -r 136489:136510 svn+ssh://svn.lindenlab.com/svn/linden/branches/avatar-pipeline/multiple-textures-12 . Progress can be tracked in DEV-32551. -Nyx
Diffstat (limited to 'indra/newview/lllocaltextureobject.h')
-rw-r--r--indra/newview/lllocaltextureobject.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/indra/newview/lllocaltextureobject.h b/indra/newview/lllocaltextureobject.h
index 79e1562dce..138bbad677 100644
--- a/indra/newview/lllocaltextureobject.h
+++ b/indra/newview/lllocaltextureobject.h
@@ -39,6 +39,8 @@ class LLViewerFetchedTexture;
class LLUUID;
class LLTexLayer;
class LLTextureEntry;
+class LLTexLayerTemplate;
+class LLWearable;
// Stores all relevant information for a single texture
// assumed to have ownership of all objects referred to -
@@ -47,20 +49,24 @@ class LLLocalTextureObject
{
public:
LLLocalTextureObject();
- LLLocalTextureObject(LLViewerFetchedTexture *image, LLTextureEntry *entry, LLTexLayer *layer, LLUUID id);
+ LLLocalTextureObject(LLViewerFetchedTexture *image, LLUUID id);
LLLocalTextureObject(const LLLocalTextureObject &lto);
~LLLocalTextureObject();
LLViewerFetchedTexture* getImage() const;
- LLTextureEntry* getTexEntry() const;
- LLTexLayer* getTexLayer() const;
+ LLTexLayer* getTexLayer(U32 index) const;
+ LLTexLayer* getTexLayer(const std::string &name);
+ U32 getNumTexLayers() const;
LLUUID getID() const;
S32 getDiscard() const;
BOOL getBakedReady() const;
void setImage(LLViewerFetchedTexture* new_image);
- void setTexEntry(LLTextureEntry *new_te);
- void setTexLayer(LLTexLayer *new_tex_layer);
+ BOOL setTexLayer(LLTexLayer *new_tex_layer, U32 index);
+ BOOL addTexLayer(LLTexLayer *new_tex_layer, LLWearable *wearable);
+ BOOL addTexLayer(LLTexLayerTemplate *new_tex_layer, LLWearable *wearable);
+ BOOL removeTexLayer(U32 index);
+
void setID(LLUUID new_id);
void setDiscard(S32 new_discard);
void setBakedReady(BOOL ready);
@@ -73,8 +79,9 @@ private:
// NOTE: LLLocalTextureObject should be the exclusive owner of mTexEntry and mTexLayer
// using shared pointers here only for smart assignment & cleanup
// do NOT create new shared pointers to these objects, or keep pointers to them around
- boost::shared_ptr<LLTextureEntry> mTexEntry;
- boost::shared_ptr<LLTexLayer> mTexLayer;
+ typedef std::vector<LLTexLayer*> tex_layer_p;
+ tex_layer_p mTexLayers;
+
LLUUID mID;
BOOL mIsBakedReady;