diff options
author | Andrew Meadows <andrew@lindenlab.com> | 2010-12-15 11:23:00 -0800 |
---|---|---|
committer | Andrew Meadows <andrew@lindenlab.com> | 2010-12-15 11:23:00 -0800 |
commit | 3be87bb04685e971965ab5ac4166165c3785476f (patch) | |
tree | 29dbff080b70a959b587b179d12df29c2b67e2fb /indra | |
parent | 5663f9dd55b42c06c24456a9587ff64603670303 (diff) |
ER-407 child bounding boxes not rotated properly for encroachment returnability
Using the correct method for joining BBoxes in the agent frame ::addBBoxAgent()
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llmath/llbbox.cpp | 14 | ||||
-rw-r--r-- | indra/llmath/llbbox.h | 4 | ||||
-rw-r--r-- | indra/newview/llviewerobject.cpp | 2 |
3 files changed, 1 insertions, 19 deletions
diff --git a/indra/llmath/llbbox.cpp b/indra/llmath/llbbox.cpp index 67a305d269..d2208f604e 100644 --- a/indra/llmath/llbbox.cpp +++ b/indra/llmath/llbbox.cpp @@ -102,20 +102,6 @@ LLBBox LLBBox::getAxisAligned() const return aligned; } -// Increases the size to contain other_box -void LLBBox::join(const LLBBox& other_box) -{ - LLVector3 other_min = (other_box.mPosAgent - mPosAgent) - other_box.mMinLocal; - mMinLocal.mV[VX] = llmin( other_min.mV[VX], mMinLocal.mV[VX] ); - mMinLocal.mV[VY] = llmin( other_min.mV[VY], mMinLocal.mV[VY] ); - mMinLocal.mV[VZ] = llmin( other_min.mV[VZ], mMinLocal.mV[VZ] ); - - LLVector3 other_max = (other_box.mPosAgent - mPosAgent) + other_box.mMaxLocal; - mMaxLocal.mV[VX] = llmax( other_max.mV[VX], mMaxLocal.mV[VX] ); - mMaxLocal.mV[VY] = llmax( other_max.mV[VY], mMaxLocal.mV[VY] ); - mMaxLocal.mV[VZ] = llmax( other_max.mV[VZ], mMaxLocal.mV[VZ] ); -} - void LLBBox::expand( F32 delta ) { diff --git a/indra/llmath/llbbox.h b/indra/llmath/llbbox.h index 8616320381..28e69b75e1 100644 --- a/indra/llmath/llbbox.h +++ b/indra/llmath/llbbox.h @@ -85,10 +85,6 @@ public: // Get the smallest possible axis aligned bbox that contains this bbox LLBBox getAxisAligned() const; - // Increases the size to contain other_box - void join(const LLBBox& other_box); - - // friend LLBBox operator*(const LLBBox& a, const LLMatrix4& b); private: diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 15207e7346..ae2154d63b 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -524,7 +524,7 @@ bool LLViewerObject::isReturnable() { LLViewerObject* child = *iter; LLBBox child_box(child->getPositionRegion(), child->getRotationRegion(), child->getScale() * -0.5f, child->getScale() * 0.5f); - bounding_box.join(child_box); + bounding_box.addBBoxAgent(child_box); } return !isAttachment() |