diff options
author | Nyx (Neal Orman) <nyx@lindenlab.com> | 2011-08-19 17:03:51 -0400 |
---|---|---|
committer | Nyx (Neal Orman) <nyx@lindenlab.com> | 2011-08-19 17:03:51 -0400 |
commit | 9ed7cc297a7e5b0bb912fea26491b3dd6ee90814 (patch) | |
tree | a7885484c66690879ae0b4ab1e37ba4965303bc4 /indra/newview/llviewerobject.cpp | |
parent | bc400605cab6f353ab4b952a1056c6c22784d4d9 (diff) | |
parent | af8864c49c4f9ca9421e3b259e8f51f0469ab7ce (diff) |
merging in latest mesh-development
Diffstat (limited to 'indra/newview/llviewerobject.cpp')
-rw-r--r-- | indra/newview/llviewerobject.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index bb7062085c..d20b6641d3 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -627,6 +627,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) |