LLObjectSelection Class Reference

#include <llselectmgr.h>

Inheritance diagram for LLObjectSelection:

Inheritance graph
[legend]
Collaboration diagram for LLObjectSelection:

Collaboration graph
[legend]

List of all members.

Public Types

typedef std::list< LLSelectNode * > list_t
typedef boost::filter_iterator
< is_non_null,
list_t::iterator > 
iterator
typedef boost::filter_iterator
< is_valid, list_t::iterator > 
valid_iterator
typedef boost::filter_iterator
< is_root, list_t::iterator > 
root_iterator
typedef boost::filter_iterator
< is_root, list_t::iterator > 
valid_root_iterator
typedef boost::filter_iterator
< is_root_object,
list_t::iterator > 
root_object_iterator

Public Member Functions

iterator begin ()
iterator end ()
valid_iterator valid_begin ()
valid_iterator valid_end ()
root_iterator root_begin ()
root_iterator root_end ()
valid_root_iterator valid_root_begin ()
valid_root_iterator valid_root_end ()
root_object_iterator root_object_begin ()
root_object_iterator root_object_end ()
 LLObjectSelection ()
void updateEffects ()
void cleanupNodes ()
BOOL isEmpty () const
S32 getOwnershipCost (S32 &cost)
LLSelectNodegetFirstNode (LLSelectedNodeFunctor *func=NULL)
LLSelectNodegetFirstRootNode (LLSelectedNodeFunctor *func=NULL, BOOL non_root_ok=FALSE)
LLViewerObjectgetFirstSelectedObject (LLSelectedNodeFunctor *func, BOOL get_parent=FALSE)
LLViewerObjectgetFirstObject ()
LLViewerObjectgetFirstRootObject (BOOL non_root_ok=FALSE)
LLSelectNodegetFirstMoveableNode (BOOL get_root_first=FALSE)
LLViewerObjectgetFirstEditableObject (BOOL get_parent=FALSE)
LLViewerObjectgetFirstCopyableObject (BOOL get_parent=FALSE)
LLViewerObjectgetFirstDeleteableObject ()
LLViewerObjectgetFirstMoveableObject (BOOL get_parent=FALSE)
LLViewerObjectgetPrimaryObject ()
template<typename T>
bool getSelectedTEValue (LLSelectedTEGetFunctor< T > *func, T &res)
void addNode (LLSelectNode *nodep)
void addNodeAtEnd (LLSelectNode *nodep)
void moveNodeToFront (LLSelectNode *nodep)
void removeNode (LLSelectNode *nodep)
void deleteAllNodes ()
S32 getNumNodes ()
LLSelectNodefindNode (LLViewerObject *objectp)
S32 getObjectCount ()
S32 getTECount ()
S32 getRootObjectCount ()
BOOL contains (LLViewerObject *object)
BOOL contains (LLViewerObject *object, S32 te)
BOOL isAttachment ()
bool applyToRootObjects (LLSelectedObjectFunctor *func, bool firstonly=false)
bool applyToObjects (LLSelectedObjectFunctor *func, bool firstonly=false)
bool applyToTEs (LLSelectedTEFunctor *func, bool firstonly=false)
bool applyToRootNodes (LLSelectedNodeFunctor *func, bool firstonly=false)
bool applyToNodes (LLSelectedNodeFunctor *func, bool firstonly=false)
ESelectType getSelectType () const

Protected Member Functions

 ~LLObjectSelection ()

Private Member Functions

const LLObjectSelectionoperator= (const LLObjectSelection &)

Private Attributes

list_t mList
LLPointer< LLViewerObjectmPrimaryObject
std::map< LLPointer
< LLViewerObject >
, LLSelectNode * > 
mSelectNodeMap
ESelectType mSelectType

Friends

class LLSelectMgr

Classes

struct  is_non_null
struct  is_root
struct  is_root_object
struct  is_valid
struct  is_valid_root


Detailed Description

Definition at line 196 of file llselectmgr.h.


Member Typedef Documentation

Definition at line 205 of file llselectmgr.h.

typedef boost::filter_iterator<is_non_null, list_t::iterator > LLObjectSelection::iterator

Definition at line 218 of file llselectmgr.h.

typedef boost::filter_iterator<is_valid, list_t::iterator > LLObjectSelection::valid_iterator

Definition at line 229 of file llselectmgr.h.

typedef boost::filter_iterator<is_root, list_t::iterator > LLObjectSelection::root_iterator

Definition at line 241 of file llselectmgr.h.

typedef boost::filter_iterator<is_root, list_t::iterator > LLObjectSelection::valid_root_iterator

Definition at line 253 of file llselectmgr.h.

typedef boost::filter_iterator<is_root_object, list_t::iterator > LLObjectSelection::root_object_iterator

Definition at line 265 of file llselectmgr.h.


Constructor & Destructor Documentation

LLObjectSelection::~LLObjectSelection (  )  [protected]

Definition at line 5769 of file llselectmgr.cpp.

References deleteAllNodes().

Here is the call graph for this function:

LLObjectSelection::LLObjectSelection (  ) 

Definition at line 5763 of file llselectmgr.cpp.


Member Function Documentation

iterator LLObjectSelection::begin (  )  [inline]

Definition at line 219 of file llselectmgr.h.

References mList.

Referenced by applyToNodes(), applyToObjects(), applyToTEs(), contains(), getFirstNode(), LLSelectMgr::getGrid(), getSelectedTEValue(), and getTECount().

Here is the caller graph for this function:

iterator LLObjectSelection::end (  )  [inline]

Definition at line 220 of file llselectmgr.h.

References mList.

Referenced by applyToNodes(), applyToObjects(), applyToTEs(), contains(), getFirstNode(), LLSelectMgr::getGrid(), getSelectedTEValue(), and getTECount().

Here is the caller graph for this function:

valid_iterator LLObjectSelection::valid_begin (  )  [inline]

Definition at line 230 of file llselectmgr.h.

References mList.

valid_iterator LLObjectSelection::valid_end (  )  [inline]

Definition at line 231 of file llselectmgr.h.

References mList.

root_iterator LLObjectSelection::root_begin (  )  [inline]

Definition at line 242 of file llselectmgr.h.

References mList.

Referenced by applyToRootNodes(), applyToRootObjects(), getFirstRootNode(), and getRootObjectCount().

Here is the caller graph for this function:

root_iterator LLObjectSelection::root_end (  )  [inline]

Definition at line 243 of file llselectmgr.h.

References mList.

Referenced by applyToRootNodes(), applyToRootObjects(), getFirstRootNode(), and getRootObjectCount().

Here is the caller graph for this function:

valid_root_iterator LLObjectSelection::valid_root_begin (  )  [inline]

Definition at line 254 of file llselectmgr.h.

References mList.

valid_root_iterator LLObjectSelection::valid_root_end (  )  [inline]

Definition at line 255 of file llselectmgr.h.

References mList.

root_object_iterator LLObjectSelection::root_object_begin (  )  [inline]

Definition at line 266 of file llselectmgr.h.

References mList.

root_object_iterator LLObjectSelection::root_object_end (  )  [inline]

Definition at line 267 of file llselectmgr.h.

References mList.

void LLObjectSelection::updateEffects (  ) 

Definition at line 5788 of file llselectmgr.cpp.

void LLObjectSelection::cleanupNodes (  ) 

Definition at line 5774 of file llselectmgr.cpp.

References LLSelectNode::getObject(), LLViewerObject::isDead(), mList, and NULL.

Referenced by LLSelectMgr::getGrid(), and getObjectCount().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLObjectSelection::isEmpty (  )  const

Definition at line 5849 of file llselectmgr.cpp.

References mList.

BOOL LLObjectSelection::getOwnershipCost ( S32 cost  ) 

Definition at line 5857 of file llselectmgr.cpp.

References getObjectCount(), OWNERSHIP_COST_PER_OBJECT, and S32.

Here is the call graph for this function:

LLSelectNode * LLObjectSelection::getFirstNode ( LLSelectedNodeFunctor func = NULL  ) 

Definition at line 6084 of file llselectmgr.cpp.

References LLSelectedNodeFunctor::apply(), begin(), end(), and NULL.

Referenced by getFirstDeleteableObject(), getFirstMoveableNode(), getFirstObject(), getFirstRootNode(), and getFirstSelectedObject().

Here is the call graph for this function:

Here is the caller graph for this function:

LLSelectNode * LLObjectSelection::getFirstRootNode ( LLSelectedNodeFunctor func = NULL,
BOOL  non_root_ok = FALSE 
)

Definition at line 6097 of file llselectmgr.cpp.

References LLSelectedNodeFunctor::apply(), getFirstNode(), NULL, root_begin(), and root_end().

Referenced by getFirstMoveableNode(), and getFirstRootObject().

Here is the call graph for this function:

Here is the caller graph for this function:

LLViewerObject * LLObjectSelection::getFirstSelectedObject ( LLSelectedNodeFunctor func,
BOOL  get_parent = FALSE 
)

Definition at line 6119 of file llselectmgr.cpp.

References getFirstNode(), LLSelectNode::getObject(), getSelectedParentObject(), and NULL.

Referenced by getFirstCopyableObject(), getFirstEditableObject(), and getFirstMoveableObject().

Here is the call graph for this function:

Here is the caller graph for this function:

LLViewerObject * LLObjectSelection::getFirstObject (  ) 

Definition at line 6136 of file llselectmgr.cpp.

References getFirstNode(), LLSelectNode::getObject(), and NULL.

Referenced by LLSelectMgr::getGrid().

Here is the call graph for this function:

Here is the caller graph for this function:

LLViewerObject * LLObjectSelection::getFirstRootObject ( BOOL  non_root_ok = FALSE  ) 

Definition at line 6145 of file llselectmgr.cpp.

References getFirstRootNode(), LLSelectNode::getObject(), and NULL.

Here is the call graph for this function:

LLSelectNode * LLObjectSelection::getFirstMoveableNode ( BOOL  get_root_first = FALSE  ) 

Definition at line 6154 of file llselectmgr.cpp.

References getFirstNode(), getFirstRootNode(), LLSelectNode::getObject(), LLViewerObject::permMove(), and TRUE.

Here is the call graph for this function:

LLViewerObject * LLObjectSelection::getFirstEditableObject ( BOOL  get_parent = FALSE  ) 

Definition at line 6218 of file llselectmgr.cpp.

References getFirstSelectedObject(), LLSelectNode::getObject(), and LLViewerObject::permModify().

Here is the call graph for this function:

LLViewerObject * LLObjectSelection::getFirstCopyableObject ( BOOL  get_parent = FALSE  ) 

Definition at line 6171 of file llselectmgr.cpp.

References getFirstSelectedObject(), LLSelectNode::getObject(), LLViewerObject::isAttachment(), and LLViewerObject::permCopy().

Here is the call graph for this function:

LLViewerObject * LLObjectSelection::getFirstDeleteableObject (  ) 

LLViewerObject * LLObjectSelection::getFirstMoveableObject ( BOOL  get_parent = FALSE  ) 

Definition at line 6234 of file llselectmgr.cpp.

References getFirstSelectedObject(), LLSelectNode::getObject(), and LLViewerObject::permMove().

Here is the call graph for this function:

LLViewerObject* LLObjectSelection::getPrimaryObject (  )  [inline]

Definition at line 291 of file llselectmgr.h.

References mPrimaryObject.

Referenced by getSelectedTEValue().

Here is the caller graph for this function:

template<typename T>
bool LLObjectSelection::getSelectedTEValue ( LLSelectedTEGetFunctor< T > *  func,
T &  res 
) [inline]

void LLObjectSelection::addNode ( LLSelectNode nodep  ) 

Definition at line 5797 of file llselectmgr.cpp.

References LLSelectNode::getObject(), LLViewerObject::isDead(), llassert_always, mList, and mSelectNodeMap.

Here is the call graph for this function:

void LLObjectSelection::addNodeAtEnd ( LLSelectNode nodep  ) 

Definition at line 5804 of file llselectmgr.cpp.

References LLSelectNode::getObject(), LLViewerObject::isDead(), llassert_always, mList, and mSelectNodeMap.

Referenced by LLSelectMgr::addGridObject().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLObjectSelection::moveNodeToFront ( LLSelectNode nodep  ) 

Definition at line 5811 of file llselectmgr.cpp.

References mList.

void LLObjectSelection::removeNode ( LLSelectNode nodep  ) 

Definition at line 5817 of file llselectmgr.cpp.

References LLSelectNode::getObject(), mList, mPrimaryObject, mSelectNodeMap, NULL, and LLSelectNode::setObject().

Here is the call graph for this function:

void LLObjectSelection::deleteAllNodes (  ) 

Definition at line 5828 of file llselectmgr.cpp.

References mList, mPrimaryObject, mSelectNodeMap, and NULL.

Referenced by LLSelectMgr::clearGridObjects(), LLSelectMgr::clearSelections(), and ~LLObjectSelection().

Here is the caller graph for this function:

S32 LLObjectSelection::getNumNodes (  ) 

Definition at line 5792 of file llselectmgr.cpp.

References mList.

LLSelectNode * LLObjectSelection::findNode ( LLViewerObject objectp  ) 

Definition at line 5836 of file llselectmgr.cpp.

References mSelectNodeMap, and NULL.

Referenced by contains().

Here is the caller graph for this function:

S32 LLObjectSelection::getObjectCount (  ) 

Definition at line 5868 of file llselectmgr.cpp.

References cleanupNodes(), mList, and S32.

Referenced by getOwnershipCost().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 LLObjectSelection::getTECount (  ) 

Definition at line 5879 of file llselectmgr.cpp.

References begin(), end(), LLSelectNode::getObject(), LLSelectNode::isTESelected(), and S32.

Here is the call graph for this function:

S32 LLObjectSelection::getRootObjectCount (  ) 

Definition at line 5903 of file llselectmgr.cpp.

References root_begin(), root_end(), and S32.

Here is the call graph for this function:

BOOL LLObjectSelection::contains ( LLViewerObject object  ) 

Definition at line 6010 of file llselectmgr.cpp.

References findNode(), and NULL.

Here is the call graph for this function:

BOOL LLObjectSelection::contains ( LLViewerObject object,
S32  te 
)

Definition at line 6019 of file llselectmgr.cpp.

References begin(), end(), FALSE, LLSelectNode::getObject(), i, LLSelectNode::isTESelected(), S32, SELECT_ALL_TES, SELECT_MAX_TES, and TRUE.

Here is the call graph for this function:

BOOL LLObjectSelection::isAttachment (  ) 

Definition at line 6056 of file llselectmgr.cpp.

References mSelectType, SELECT_TYPE_ATTACHMENT, and SELECT_TYPE_HUD.

bool LLObjectSelection::applyToRootObjects ( LLSelectedObjectFunctor func,
bool  firstonly = false 
)

Definition at line 5931 of file llselectmgr.cpp.

References LLSelectedObjectFunctor::apply(), r, root_begin(), and root_end().

Here is the call graph for this function:

bool LLObjectSelection::applyToObjects ( LLSelectedObjectFunctor func,
bool  firstonly = false 
)

Definition at line 5913 of file llselectmgr.cpp.

References LLSelectedObjectFunctor::apply(), begin(), end(), and r.

Referenced by LLSelectMgr::updateEffects().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLObjectSelection::applyToTEs ( LLSelectedTEFunctor func,
bool  firstonly = false 
)

Definition at line 5949 of file llselectmgr.cpp.

References LLSelectedTEFunctor::apply(), begin(), end(), LLViewerObject::getNumFaces(), LLPrimitive::getNumTEs(), LLSelectNode::isTESelected(), llmin(), r, and S32.

Here is the call graph for this function:

bool LLObjectSelection::applyToRootNodes ( LLSelectedNodeFunctor func,
bool  firstonly = false 
)

Definition at line 5991 of file llselectmgr.cpp.

References LLSelectedNodeFunctor::apply(), r, root_begin(), and root_end().

Here is the call graph for this function:

bool LLObjectSelection::applyToNodes ( LLSelectedNodeFunctor func,
bool  firstonly = false 
)

Definition at line 5975 of file llselectmgr.cpp.

References LLSelectedNodeFunctor::apply(), begin(), end(), and r.

Here is the call graph for this function:

ESelectType LLObjectSelection::getSelectType (  )  const [inline]

Definition at line 324 of file llselectmgr.h.

References mSelectType.

const LLObjectSelection& LLObjectSelection::operator= ( const LLObjectSelection  )  [private]


Friends And Related Function Documentation

friend class LLSelectMgr [friend]

Definition at line 198 of file llselectmgr.h.


Member Data Documentation

Definition at line 329 of file llselectmgr.h.

Referenced by deleteAllNodes(), getPrimaryObject(), and removeNode().

Definition at line 330 of file llselectmgr.h.

Referenced by addNode(), addNodeAtEnd(), deleteAllNodes(), findNode(), and removeNode().

Definition at line 331 of file llselectmgr.h.

Referenced by getSelectType(), and isAttachment().


The documentation for this class was generated from the following files:

Generated on Fri May 16 08:54:50 2008 for SecondLife by  doxygen 1.5.5