MAINT-1086 FIXED Cannot select a fully transparent object with Beacon Highlight
parent
5ddac01ef2
commit
0a48d57884
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -178,6 +178,8 @@ public:
|
|||
virtual BOOL isHUDAttachment() const { return FALSE; }
|
||||
virtual BOOL isTempAttachment() const;
|
||||
|
||||
virtual BOOL isHiglightedOrBeacon() const;
|
||||
|
||||
virtual void updateRadius() {};
|
||||
virtual F32 getVObjRadius() const; // default implemenation is mDrawable->getRadius()
|
||||
|
||||
|
|
@ -388,7 +390,7 @@ public:
|
|||
|
||||
// Create if necessary
|
||||
LLAudioSource *getAudioSource(const LLUUID& owner_id);
|
||||
bool isAudioSource() {return mAudioSourcep != NULL;}
|
||||
BOOL isAudioSource() const {return mAudioSourcep != NULL;}
|
||||
|
||||
U8 getMediaType() const;
|
||||
void setMediaType(U8 media_type);
|
||||
|
|
|
|||
|
|
@ -3977,7 +3977,7 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector4a& start, const LLVector4a&
|
|||
start_face = face;
|
||||
end_face = face+1;
|
||||
}
|
||||
|
||||
pick_transparent |= isHiglightedOrBeacon();
|
||||
bool special_cursor = specialHoverCursor();
|
||||
for (S32 i = start_face; i < end_face; ++i)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue