Add support to area search for filtering reflection probes

master
Darl 2025-05-02 19:01:29 -05:00
parent 5104c2b586
commit a17e9a5b5a
3 changed files with 24 additions and 2 deletions

View File

@ -156,6 +156,7 @@ FSAreaSearch::FSAreaSearch(const LLSD& key) :
mFilterPhantom(false),
mFilterAttachment(false),
mFilterMoaP(false),
mFilterReflectionProbe(false),
mFilterDistance(false),
mFilterDistanceMin(0),
mFilterDistanceMax(999999),
@ -908,6 +909,11 @@ void FSAreaSearch::matchObject(FSObjectProperties& details, LLViewerObject* obje
return;
}
if (mFilterReflectionProbe && !objectp->mReflectionProbe.notNull())
{
return;
}
//-----------------------------------------------------------------------
// Find text
//-----------------------------------------------------------------------
@ -2240,6 +2246,9 @@ bool FSPanelAreaSearchFilter::postBuild()
mCheckboxMoaP = getChild<LLCheckBoxCtrl>("filter_moap");
mCheckboxMoaP->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitCheckbox, this));
mCheckboxReflectionProbe = getChild<LLCheckBoxCtrl>("filter_reflection_probe");
mCheckboxReflectionProbe->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitCheckbox, this));
mCheckboxPermCopy = getChild<LLCheckBoxCtrl>("filter_perm_copy");
mCheckboxPermCopy->setCommitCallback(boost::bind(&FSPanelAreaSearchFilter::onCommitCheckbox, this));
@ -2262,6 +2271,7 @@ void FSPanelAreaSearchFilter::onCommitCheckbox()
mFSAreaSearch->setFilterForSale(mCheckboxForSale->get());
mFSAreaSearch->setFilterDistance(mCheckboxDistance->get());
mFSAreaSearch->setFilterMoaP(mCheckboxMoaP->get());
mFSAreaSearch->setFilterReflectionProbe(mCheckboxReflectionProbe->get());
if (mCheckboxExcludePhysics->get())
{

View File

@ -141,6 +141,7 @@ public:
void setFilterPhantom(bool b) { mFilterPhantom = b; }
void setFilterAttachment(bool b) { mFilterAttachment = b; }
void setFilterMoaP(bool b) { mFilterMoaP = b; }
void setFilterReflectionProbe(bool b) { mFilterReflectionProbe = b; }
void setRegexSearch(bool b) { mRegexSearch = b; }
void setBeacons(bool b) { mBeacons = b; }
@ -240,6 +241,7 @@ private:
bool mFilterPhantom;
bool mFilterAttachment;
bool mFilterMoaP;
bool mFilterReflectionProbe;
bool mFilterForSale;
S32 mFilterForSaleMin;
@ -382,6 +384,7 @@ private:
LLCheckBoxCtrl* mCheckboxLocked;
LLCheckBoxCtrl* mCheckboxPhantom;
LLCheckBoxCtrl* mCheckboxMoaP;
LLCheckBoxCtrl* mCheckboxReflectionProbe;
LLCheckBoxCtrl* mCheckboxDistance;
LLSpinCtrl* mSpinDistanceMinValue;
LLSpinCtrl* mSpinDistanceMaxValue;

View File

@ -378,6 +378,15 @@
name="filter_perm_transfer"
label="Transfer"
width="100"/>
<check_box
follows="top|left"
top_pad="10"
layout="topleft"
left="10"
name="filter_reflection_probe"
label="Reflection Probes"
tool_tip="Includes manual probes only, not auto-probes. Only includes mirror probes if mirrors are enabled in graphics preferences. If reflection coverage is set to none, or the probe is not baked, objects may not be identified."
width="100"/>
<check_box
follows="top|left"
height="20"
@ -416,7 +425,7 @@
layout="topleft"
left_pad="5"
max_val="999999999"
min_val="0"
min_val="0"
name="max_price"
top_delta="-4"
width="80"/>
@ -525,7 +534,7 @@
layout="topleft"
left_pad="5"
max_val="999999999"
min_val="0"
min_val="0"
name="max_distance"
top_delta="-4"
width="80"/>