diff options
Diffstat (limited to 'linden/indra/newview/llselectmgr.h')
-rw-r--r-- | linden/indra/newview/llselectmgr.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/linden/indra/newview/llselectmgr.h b/linden/indra/newview/llselectmgr.h index 26b919b..071aa15 100644 --- a/linden/indra/newview/llselectmgr.h +++ b/linden/indra/newview/llselectmgr.h | |||
@@ -254,6 +254,18 @@ public: | |||
254 | valid_root_iterator valid_root_begin() { return valid_root_iterator(mList.begin(), mList.end()); } | 254 | valid_root_iterator valid_root_begin() { return valid_root_iterator(mList.begin(), mList.end()); } |
255 | valid_root_iterator valid_root_end() { return valid_root_iterator(mList.end(), mList.end()); } | 255 | valid_root_iterator valid_root_end() { return valid_root_iterator(mList.end(), mList.end()); } |
256 | 256 | ||
257 | struct is_root_object | ||
258 | { | ||
259 | bool operator()(LLSelectNode* node) | ||
260 | { | ||
261 | LLViewerObject* object = node->getObject(); | ||
262 | return (object != NULL) && (object->isRootEdit() || object->isJointChild()); | ||
263 | } | ||
264 | }; | ||
265 | typedef boost::filter_iterator<is_root_object, list_t::iterator > root_object_iterator; | ||
266 | root_object_iterator root_object_begin() { return root_object_iterator(mList.begin(), mList.end()); } | ||
267 | root_object_iterator root_object_end() { return root_object_iterator(mList.end(), mList.end()); } | ||
268 | |||
257 | public: | 269 | public: |
258 | LLObjectSelection(); | 270 | LLObjectSelection(); |
259 | 271 | ||