summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobject.cpp
diff options
context:
space:
mode:
authorLeslie Linden <leslie@lindenlab.com>2011-10-05 16:39:32 -0700
committerLeslie Linden <leslie@lindenlab.com>2011-10-05 16:39:32 -0700
commitd8489166645f2e3ea7edd252997f9f48aa0871c3 (patch)
treee2f5c52f0c397b0dfb1d0e3cb47ca59d609292dc /indra/newview/llviewerobject.cpp
parent17c699e4281ffff58e24c5db960a5c33018f1747 (diff)
parenta88bb3231b2685eb640710d7617d26b7f3a2c0d2 (diff)
Merge with latest
Diffstat (limited to 'indra/newview/llviewerobject.cpp')
-rw-r--r--indra/newview/llviewerobject.cpp27
1 files changed, 18 insertions, 9 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index cd71b6d42a..d81e67bfe2 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -100,7 +100,6 @@
#include "lltrans.h"
#include "llsdutil.h"
#include "llmediaentry.h"
-#include "llaccountingquota.h"
//#define DEBUG_UPDATE_TYPE
@@ -140,6 +139,7 @@ LLViewerObject *LLViewerObject::createObject(const LLUUID &id, const LLPCode pco
if (!gAgentAvatarp)
{
gAgentAvatarp = new LLVOAvatarSelf(id, pcode, regionp);
+ gAgentAvatarp->initInstance();
}
else
{
@@ -149,9 +149,10 @@ LLViewerObject *LLViewerObject::createObject(const LLUUID &id, const LLPCode pco
}
else
{
- res = new LLVOAvatar(id, pcode, regionp);
+ LLVOAvatar *avatar = new LLVOAvatar(id, pcode, regionp);
+ avatar->initInstance();
+ res = avatar;
}
- static_cast<LLVOAvatar*>(res)->initInstance();
break;
}
case LL_PCODE_LEGACY_GRASS:
@@ -628,6 +629,20 @@ void LLViewerObject::constructAndAddReturnable( std::vector<PotentialReturnableO
}
}
+bool LLViewerObject::crossesParcelBounds()
+{
+ std::vector<LLBBox> boxes;
+ boxes.push_back(LLBBox(getPositionRegion(), getRotationRegion(), getScale() * -0.5f, getScale() * 0.5f).getAxisAligned());
+ for (child_list_t::iterator iter = mChildList.begin();
+ iter != mChildList.end(); iter++)
+ {
+ LLViewerObject* child = *iter;
+ boxes.push_back(LLBBox(child->getPositionRegion(), child->getRotationRegion(), child->getScale() * -0.5f, child->getScale() * 0.5f).getAxisAligned());
+ }
+
+ return mRegionp && mRegionp->objectsCrossParcel(boxes);
+}
+
BOOL LLViewerObject::setParent(LLViewerObject* parent)
{
if(mParent != parent)
@@ -5785,9 +5800,3 @@ public:
LLHTTPRegistration<ObjectPhysicsProperties>
gHTTPRegistrationObjectPhysicsProperties("/message/ObjectPhysicsProperties");
-
-void LLViewerObject::updateQuota( const SelectionQuota& quota )
-{
- //update quotas
- mSelectionQuota = quota;
-}