diff options
Diffstat (limited to 'indra/newview/llworld.h')
-rw-r--r-- | indra/newview/llworld.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/indra/newview/llworld.h b/indra/newview/llworld.h index 52188dd66e..ce83cbd97c 100644 --- a/indra/newview/llworld.h +++ b/indra/newview/llworld.h @@ -1,6 +1,11 @@ /** * @file llworld.h - * @brief Initial test structure to organize viewer regions + * @brief Collection of viewer regions in the vacinity of the user. + * + * Represents the whole world, so far as 3D functionality is conserned. + * Always contains the region that the user's avatar is in along with + * neighboring regions. As the user crosses region boundaries, new + * regions are added to the world and distant ones are rolled up. * * $LicenseInfo:firstyear=2001&license=viewergpl$ * @@ -147,12 +152,18 @@ public: public: typedef std::list<LLViewerRegion*> region_list_t; - - region_list_t mActiveRegionList; + const region_list_t& getRegionList() const { return mActiveRegionList; } - region_list_t& getRegionList() { return mActiveRegionList; } + // Returns lists of avatar IDs and their world-space positions within a given distance of a point. + // All arguments are optional. Given containers will be emptied and then filled. + // Not supplying origin or radius input returns data on all avatars in the known regions. + void getAvatars( + std::vector<LLUUID>* avatar_ids = NULL, + std::vector<LLVector3d>* positions = NULL, + const LLVector3d& relative_to = LLVector3d(), F32 radius = FLT_MAX) const; private: + region_list_t mActiveRegionList; region_list_t mRegionList; region_list_t mVisibleRegionList; region_list_t mCulledRegionList; |