summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobject.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewerobject.h')
-rw-r--r--indra/newview/llviewerobject.h29
1 files changed, 18 insertions, 11 deletions
diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h
index db69399383..08e2ec47cd 100644
--- a/indra/newview/llviewerobject.h
+++ b/indra/newview/llviewerobject.h
@@ -40,7 +40,7 @@
#include "llhudtext.h"
#include "llhudicon.h"
#include "llinventory.h"
-#include "llmemory.h"
+#include "llrefcount.h"
#include "llmemtype.h"
#include "llprimitive.h"
#include "lluuid.h"
@@ -64,16 +64,18 @@ class LLWorld;
class LLNameValue;
class LLNetMap;
class LLMessageSystem;
+class LLPartSysData;
class LLPrimitive;
class LLPipeline;
class LLTextureEntry;
-class LLViewerImage;
+class LLViewerTexture;
class LLViewerInventoryItem;
class LLViewerObject;
class LLViewerPartSourceScript;
class LLViewerRegion;
class LLViewerObjectMedia;
class LLVOInventoryListener;
+class LLVOAvatar;
typedef enum e_object_update_type
{
@@ -116,7 +118,7 @@ public:
//============================================================================
-class LLViewerObject : public LLPrimitive, public LLRefCount
+class LLViewerObject : public LLPrimitive, public LLRefCount, public LLGLUpdate
{
protected:
~LLViewerObject(); // use unref()
@@ -143,6 +145,8 @@ public:
BOOL isOrphaned() const { return mOrphaned; }
BOOL isParticleSource() const;
+ virtual LLVOAvatar* asAvatar();
+
static void initVOClasses();
static void cleanupVOClasses();
@@ -194,6 +198,7 @@ public:
virtual LLDrawable* createDrawable(LLPipeline *pipeline);
virtual BOOL updateGeometry(LLDrawable *drawable);
+ virtual void updateGL();
virtual void updateFaceSize(S32 idx);
virtual BOOL updateLOD();
virtual BOOL setDrawableParent(LLDrawable* parentp);
@@ -218,6 +223,7 @@ public:
virtual BOOL isFlexible() const { return FALSE; }
virtual BOOL isSculpted() const { return FALSE; }
+ virtual BOOL hasLightTexture() const { return FALSE; }
// This method returns true if the object is over land owned by
// the agent.
@@ -236,13 +242,13 @@ public:
BOOL isProbablyModifiable() const;
*/
- virtual void setParent(LLViewerObject* parent);
+ virtual BOOL setParent(LLViewerObject* parent);
virtual void addChild(LLViewerObject *childp);
virtual void removeChild(LLViewerObject *childp);
const_child_list_t& getChildren() const { return mChildList; }
S32 numChildren() const { return mChildList.size(); }
- void addThisAndAllChildren(LLDynamicArray<LLViewerObject*>& objects);
- void addThisAndNonJointChildren(LLDynamicArray<LLViewerObject*>& objects);
+ void addThisAndAllChildren(std::vector<LLViewerObject*>& objects);
+ void addThisAndNonJointChildren(std::vector<LLViewerObject*>& objects);
BOOL isChild(LLViewerObject *childp) const;
BOOL isSeat() const;
@@ -311,8 +317,9 @@ public:
/*virtual*/ S32 setTEMediaFlags(const U8 te, const U8 media_flags );
/*virtual*/ S32 setTEGlow(const U8 te, const F32 glow);
/*virtual*/ BOOL setMaterial(const U8 material);
- virtual void setTEImage(const U8 te, LLViewerImage *imagep); // Not derived from LLPrimitive
- LLViewerImage *getTEImage(const U8 te) const;
+ virtual void setTEImage(const U8 te, LLViewerTexture *imagep); // Not derived from LLPrimitive
+ void changeTEImage(const LLViewerTexture* old_image, LLViewerTexture* new_image) ;
+ LLViewerTexture *getTEImage(const U8 te) const;
void fitFaceTexture(const U8 face);
void sendTEUpdate() const; // Sends packed representation of all texture entry information
@@ -353,7 +360,7 @@ public:
void setCanSelect(BOOL canSelect);
void setDebugText(const std::string &utf8text);
- void setIcon(LLViewerImage* icon_image);
+ void setIcon(LLViewerTexture* icon_image);
void clearIcon();
void markForUpdate(BOOL priority);
@@ -468,7 +475,7 @@ public:
virtual S32 getLOD() const { return 3; }
virtual U32 getPartitionType() const;
- virtual void dirtySpatialGroup() const;
+ virtual void dirtySpatialGroup(BOOL priority = FALSE) const;
virtual void dirtyMesh();
virtual LLNetworkData* getParameterEntry(U16 param_type) const;
@@ -526,7 +533,7 @@ public:
// Last total CRC received from sim, used for caching
U32 mTotalCRC;
- LLPointer<LLViewerImage> *mTEImages;
+ LLPointer<LLViewerTexture> *mTEImages;
// Selection, picking and rendering variables
U32 mGLName; // GL "name" used by selection code