PATH-760: Adding another pathfinding test method to the selection manager.
parent
f143da27bf
commit
1ca92d37dd
|
|
@ -336,6 +336,12 @@ void LLPanelPermissions::refresh()
|
|||
std::string pfAttrName;
|
||||
|
||||
if ((LLSelectMgr::getInstance()->getSelection()->getFirstRootNode()
|
||||
&& LLSelectMgr::getInstance()->selectGetRootsNonPathfinding())
|
||||
|| LLSelectMgr::getInstance()->selectGetNonPathfinding())
|
||||
{
|
||||
pfAttrName = "Pathfinding_Object_Attr_None";
|
||||
}
|
||||
else if ((LLSelectMgr::getInstance()->getSelection()->getFirstRootNode()
|
||||
&& LLSelectMgr::getInstance()->selectGetRootsPermanent())
|
||||
|| LLSelectMgr::getInstance()->selectGetPermanent())
|
||||
{
|
||||
|
|
@ -347,15 +353,6 @@ void LLPanelPermissions::refresh()
|
|||
{
|
||||
pfAttrName = "Pathfinding_Object_Attr_Character";
|
||||
}
|
||||
else if (((LLSelectMgr::getInstance()->getSelection()->getFirstRootNode()
|
||||
&& LLSelectMgr::getInstance()->selectGetRootsNonPermanent())
|
||||
|| LLSelectMgr::getInstance()->selectGetNonPermanent()) &&
|
||||
((LLSelectMgr::getInstance()->getSelection()->getFirstRootNode()
|
||||
&& LLSelectMgr::getInstance()->selectGetRootsNonCharacter())
|
||||
|| LLSelectMgr::getInstance()->selectGetNonCharacter()))
|
||||
{
|
||||
pfAttrName = "Pathfinding_Object_Attr_None";
|
||||
}
|
||||
else
|
||||
{
|
||||
pfAttrName = "Pathfinding_Object_Attr_MultiSelect";
|
||||
|
|
|
|||
|
|
@ -2647,6 +2647,52 @@ BOOL LLSelectMgr::selectGetRootsCharacter()
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// selectGetNonPathfinding() - return TRUE if all objects are not pathfinding
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLSelectMgr::selectGetNonPathfinding()
|
||||
{
|
||||
for (LLObjectSelection::iterator iter = getSelection()->begin();
|
||||
iter != getSelection()->end(); iter++ )
|
||||
{
|
||||
LLSelectNode* node = *iter;
|
||||
LLViewerObject* object = node->getObject();
|
||||
if( !object || !node->mValid )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if( object->flagObjectPermanent() || object->flagCharacter())
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// selectGetRootsNonPathfinding() - return TRUE if all root objects are not
|
||||
// pathfinding
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLSelectMgr::selectGetRootsNonPathfinding()
|
||||
{
|
||||
for (LLObjectSelection::root_iterator iter = getSelection()->root_begin();
|
||||
iter != getSelection()->root_end(); iter++ )
|
||||
{
|
||||
LLSelectNode* node = *iter;
|
||||
LLViewerObject* object = node->getObject();
|
||||
if( !node->mValid )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if( object->flagObjectPermanent() || object->flagCharacter())
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// selectGetNonPermanent() - return TRUE if all objects are not permanent
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -572,6 +572,10 @@ public:
|
|||
BOOL selectGetRootsCharacter();
|
||||
BOOL selectGetCharacter();
|
||||
|
||||
// returns TRUE if is all objects are not permanent
|
||||
BOOL selectGetRootsNonPathfinding();
|
||||
BOOL selectGetNonPathfinding();
|
||||
|
||||
// returns TRUE if is all objects are not permanent
|
||||
BOOL selectGetRootsNonPermanent();
|
||||
BOOL selectGetNonPermanent();
|
||||
|
|
|
|||
Loading…
Reference in New Issue