summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobject.h
diff options
context:
space:
mode:
authorSteven Bennetts <steve@lindenlab.com>2007-03-02 21:25:50 +0000
committerSteven Bennetts <steve@lindenlab.com>2007-03-02 21:25:50 +0000
commit4dabd9c0472deb49573fdafef2fa413e59703f19 (patch)
tree06c680d6a2047e03838d6548bccd26c7baf9d652 /indra/newview/llviewerobject.h
parentd4462963c6ba5db2088723bbedc7b60f1184c594 (diff)
merge release@58699 beta-1-14-0@58707 -> release
Diffstat (limited to 'indra/newview/llviewerobject.h')
-rw-r--r--indra/newview/llviewerobject.h45
1 files changed, 39 insertions, 6 deletions
diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h
index 285d684dc6..d8b5a14897 100644
--- a/indra/newview/llviewerobject.h
+++ b/indra/newview/llviewerobject.h
@@ -18,6 +18,7 @@
#include "llhudicon.h"
#include "llinventory.h"
#include "llmemory.h"
+#include "llmemtype.h"
#include "llprimitive.h"
#include "lluuid.h"
#include "llvoinventorylistener.h"
@@ -25,6 +26,7 @@
#include "llquaternion.h"
#include "v3dmath.h"
#include "v3math.h"
+#include "llvertexbuffer.h"
class LLAgent; // TODO: Get rid of this.
class LLAudioSource;
@@ -168,6 +170,7 @@ public:
virtual LLDrawable* createDrawable(LLPipeline *pipeline);
virtual BOOL updateGeometry(LLDrawable *drawable);
+ virtual void updateFaceSize(S32 idx);
virtual BOOL updateLOD();
virtual BOOL setDrawableParent(LLDrawable* parentp);
virtual BOOL updateLighting(BOOL do_lighting) { return TRUE; };
@@ -184,7 +187,7 @@ public:
LLViewerRegion* getRegion() const { return mRegionp; }
BOOL isSelected() const { return mUserSelected; }
- void setSelected(BOOL sel) { mUserSelected = sel; mRotTime = 0.f;}
+ virtual void setSelected(BOOL sel) { mUserSelected = sel; mRotTime = 0.f;}
const LLUUID &getID() const { return mID; }
U32 getLocalID() const { return mLocalID; }
@@ -274,8 +277,6 @@ public:
/*virtual*/ BOOL setMaterial(const U8 material);
virtual void setTEImage(const U8 te, LLViewerImage *imagep); // Not derived from LLPrimitive
LLViewerImage *getTEImage(const U8 te) const;
-
- S32 getFaceIndexOffset() { return mFaceIndexOffset; }
void fitFaceTexture(const U8 face);
void sendTEUpdate() const; // Sends packed representation of all texture entry information
@@ -288,6 +289,8 @@ public:
U8 getState() { return mState; }
F32 getAppAngle() const { return mAppAngle; }
+ F32 getPixelArea() const { return mPixelArea; }
+ void setPixelArea(F32 area) { mPixelArea = area; }
F32 getMaxScale() const;
F32 getMidScale() const;
F32 getMinScale() const;
@@ -320,6 +323,7 @@ public:
void markForUpdate(BOOL priority);
void updateVolume(const LLVolumeParams& volume_params);
virtual void updateSpatialExtents(LLVector3& min, LLVector3& max);
+ virtual F32 getBinRadius();
LLBBox getBoundingBoxAgent() const;
@@ -417,6 +421,7 @@ public:
void printNameValuePairs() const;
virtual S32 getLOD() const { return 3; }
+ virtual U32 getPartitionType() const;
virtual LLNetworkData* getParameterEntry(U16 param_type) const;
virtual bool setParameterEntry(U16 param_type, const LLNetworkData& new_value, bool local_origin);
@@ -528,7 +533,7 @@ protected:
F64 mLastInterpUpdateSecs; // Last update for purposes of interpolation
F64 mLastMessageUpdateSecs; // Last update from a message from the simulator
-
+ TPACKETID mLatestRecvPacketID; // Latest time stamp on message from simulator
// extra data sent from the sim...currently only used for tree species info
U8* mData;
@@ -559,7 +564,6 @@ protected:
BOOL mOnActiveList;
BOOL mOnMap; // On the map.
BOOL mStatic; // Object doesn't move.
- S32 mFaceIndexOffset; // offset into drawable's faces, zero except in special cases
S32 mNumFaces;
S32 mLastUpdateFrame; // frames in which an object had last moved for smart coalescing of drawables
@@ -592,7 +596,6 @@ private:
static S32 sNumObjects;
};
-
///////////////////
//
// Inlines
@@ -623,4 +626,34 @@ public:
U8 mMediaType; // see LLTextureEntry::WEB_PAGE, etc.
};
+// subclass of viewer object that can be added to particle partitions
+class LLAlphaObject : public LLViewerObject
+{
+public:
+ LLAlphaObject(const LLUUID &id, const LLPCode type, LLViewerRegion *regionp)
+ : LLViewerObject(id,type,regionp)
+ { mDepth = 0.f; }
+
+ virtual BOOL isParticle();
+ virtual F32 getPartSize(S32 idx);
+ virtual void getGeometry(S32 idx,
+ LLStrider<LLVector3>& verticesp,
+ LLStrider<LLVector3>& normalsp,
+ LLStrider<LLVector2>& texcoordsp,
+ LLStrider<LLColor4U>& colorsp,
+ LLStrider<U32>& indicesp) = 0;
+
+ F32 mDepth;
+};
+
+class LLStaticViewerObject : public LLViewerObject
+{
+public:
+ LLStaticViewerObject(const LLUUID& id, const LLPCode type, LLViewerRegion* regionp)
+ : LLViewerObject(id,type,regionp)
+ { }
+
+ virtual void updateDrawable(BOOL force_damped);
+};
+
#endif