summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewerobject.cpp')
-rw-r--r--indra/newview/llviewerobject.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index 45dbd95bea..1d6daed9cc 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -6274,6 +6274,24 @@ BOOL LLViewerObject::isTempAttachment() const
return (mID.notNull() && (mID == mAttachmentItemID));
}
+BOOL LLViewerObject::isHiglightedOrBeacon() const
+{
+ if (LLFloaterReg::instanceVisible("beacons") && (gPipeline.getRenderBeacons(NULL) || gPipeline.getRenderHighlights(NULL)))
+ {
+ BOOL has_media = (getMediaType() == LLViewerObject::MEDIA_SET);
+ BOOL is_scripted = !isAvatar() && !getParent() && flagScripted();
+ BOOL is_physical = !isAvatar() && flagUsePhysics();
+
+ return (isParticleSource() && gPipeline.getRenderParticleBeacons(NULL))
+ || (isAudioSource() && gPipeline.getRenderSoundBeacons(NULL))
+ || (has_media && gPipeline.getRenderMOAPBeacons(NULL))
+ || (is_scripted && gPipeline.getRenderScriptedBeacons(NULL))
+ || (is_scripted && flagHandleTouch() && gPipeline.getRenderScriptedTouchBeacons(NULL))
+ || (is_physical && gPipeline.getRenderPhysicalBeacons(NULL));
+ }
+ return FALSE;
+}
+
const LLUUID &LLViewerObject::getAttachmentItemID() const
{