From d08b0b6ae8bcd452a3d707ac153107d0f1523df8 Mon Sep 17 00:00:00 2001 From: Neal Orman Date: Fri, 16 Oct 2009 17:56:30 +0000 Subject: 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 --- indra/newview/lllocaltextureobject.h | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'indra/newview/lllocaltextureobject.h') 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 <o); ~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 mTexEntry; - boost::shared_ptr mTexLayer; + typedef std::vector tex_layer_p; + tex_layer_p mTexLayers; + LLUUID mID; BOOL mIsBakedReady; -- cgit v1.2.3