summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobject.cpp
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2010-05-15 02:45:58 -0500
committerDave Parks <davep@lindenlab.com>2010-05-15 02:45:58 -0500
commit246dd9c168550bfe4b1b71bba75f5af9456e86dd (patch)
treeb95e0fa776c7a6d8d6cf7fb652a877011cd6f518 /indra/newview/llviewerobject.cpp
parent8be6ad300a320b8a9debbd3abbf4b5c252db70a9 (diff)
Highlight for object cost and proper retrieval/display of prim object cost and linkset cost.
Diffstat (limited to 'indra/newview/llviewerobject.cpp')
-rw-r--r--indra/newview/llviewerobject.cpp44
1 files changed, 42 insertions, 2 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index 38a29ba432..ff5d7e9c17 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -232,7 +232,9 @@ LLViewerObject::LLViewerObject(const LLUUID &id, const LLPCode pcode, LLViewerRe
mState(0),
mMedia(NULL),
mClickAction(0),
- mObjectCost(-1),
+ mObjectCost(0.f),
+ mLinksetCost(0.f),
+ mCostStale(true),
mAttachmentItemID(LLUUID::null)
{
if (!is_global)
@@ -829,6 +831,9 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
#ifdef DEBUG_UPDATE_TYPE
llinfos << "Full:" << getID() << llendl;
#endif
+ //clear cost and linkset cost
+ mCostStale = true;
+
LLUUID audio_uuid;
LLUUID owner_id; // only valid if audio_uuid or particle system is not null
F32 gain;
@@ -1394,6 +1399,8 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
#ifdef DEBUG_UPDATE_TYPE
llinfos << "CompFull:" << getID() << llendl;
#endif
+ mCostStale = true;
+
dp->unpackU32(crc, "CRC");
mTotalCRC = crc;
dp->unpackU8(material, "Material");
@@ -2864,6 +2871,39 @@ void LLViewerObject::setScale(const LLVector3 &scale, BOOL damped)
}
}
+void LLViewerObject::setObjectCost(F32 cost)
+{
+ mObjectCost = cost;
+ mCostStale = false;
+}
+
+void LLViewerObject::setLinksetCost(F32 cost)
+{
+ mLinksetCost = cost;
+ mCostStale = false;
+}
+
+
+F32 LLViewerObject::getObjectCost()
+{
+ if (mCostStale)
+ {
+ gObjectList.updateObjectCost(this);
+ }
+
+ return mObjectCost;
+}
+
+F32 LLViewerObject::getLinksetCost()
+{
+ if (mCostStale)
+ {
+ gObjectList.updateObjectCost(this);
+ }
+
+ return mLinksetCost;
+}
+
void LLViewerObject::updateSpatialExtents(LLVector3& newMin, LLVector3 &newMax)
{
LLVector3 center = getRenderPosition();
@@ -4970,7 +5010,7 @@ void LLViewerObject::updateFlags()
if (getPhysicsShapeType() != 0)
{
- llwarns << "sent non default physics rep" << llendl;
+ llwarns << "sent non default physics rep " << (S32) getPhysicsShapeType() << llendl;
}
}