Object list now using standard stl container classes instead of deprecated LL clones.

This commit is contained in:
Shyotl
2011-03-24 05:09:34 -05:00
parent 0150bac422
commit 39af56c6f7
3 changed files with 106 additions and 95 deletions

View File

@@ -38,7 +38,6 @@
// common includes
#include "llstat.h"
#include "lldarrayptr.h"
#include "llstring.h"
// project includes
@@ -49,7 +48,7 @@ class LLNetMap;
class LLDebugBeacon;
const U32 CLOSE_BIN_SIZE = 10;
const U32 NUM_BINS = 16;
const U32 NUM_BINS = 128;
// GL name = position in object list + GL_NAME_INDEX_OFFSET so that
// we can have special numbers like zero.
@@ -119,9 +118,7 @@ public:
LLViewerObject *getSelectedObject(const U32 object_id);
inline S32 getNumObjects() { return mObjects.count(); }
LLDynamicArrayPtr<LLPointer<LLViewerObject> > getObjectMap(){ return mMapObjects; }
inline S32 getNumObjects() { return (S32) mObjects.size(); }
void addToMap(LLViewerObject *objectp);
void removeFromMap(LLViewerObject *objectp);
@@ -135,7 +132,7 @@ public:
S32 findReferences(LLDrawable *drawablep) const; // Find references to drawable in all objects, and return value.
S32 getOrphanParentCount() const { return mOrphanParents.count(); }
S32 getOrphanParentCount() const { return (S32) mOrphanParents.size(); }
S32 getOrphanCount() const { return mNumOrphans; }
void orphanize(LLViewerObject *childp, U32 parent_id, U32 ip, U32 port);
void findOrphans(LLViewerObject* objectp, U32 ip, U32 port);
@@ -194,14 +191,16 @@ public:
S32 mNumUnknownKills;
S32 mNumDeadObjects;
protected:
LLDynamicArray<U64> mOrphanParents; // LocalID/ip,port of orphaned objects
LLDynamicArray<OrphanInfo> mOrphanChildren; // UUID's of orphaned objects
std::vector<U64> mOrphanParents; // LocalID/ip,port of orphaned objects
std::vector<OrphanInfo> mOrphanChildren; // UUID's of orphaned objects
S32 mNumOrphans;
LLDynamicArrayPtr<LLPointer<LLViewerObject>, 256> mObjects;
typedef std::vector<LLPointer<LLViewerObject> > vobj_list_t;
vobj_list_t mObjects;
std::set<LLPointer<LLViewerObject> > mActiveObjects;
LLDynamicArrayPtr<LLPointer<LLViewerObject> > mMapObjects;
vobj_list_t mMapObjects;
typedef std::map<LLUUID, LLPointer<LLViewerObject> > vo_map;
vo_map mDeadObjects; // Need to keep multiple entries per UUID
@@ -209,12 +208,12 @@ protected:
std::map<LLUUID, LLPointer<LLViewerObject> > mUUIDObjectMap;
std::map<LLUUID, LLPointer<LLVOAvatar> > mUUIDAvatarMap;
LLDynamicArray<LLDebugBeacon> mDebugBeacons;
std::vector<LLDebugBeacon> mDebugBeacons;
S32 mCurLazyUpdateIndex;
static U32 sSimulatorMachineIndex;
static LLMap<U64, U32> sIPAndPortToIndex;
static std::map<U64, U32> sIPAndPortToIndex;
static std::map<U64, LLUUID> sIndexAndLocalIDToUUID;
@@ -282,12 +281,16 @@ inline LLViewerObject *LLViewerObjectList::getObject(const S32 index)
inline void LLViewerObjectList::addToMap(LLViewerObject *objectp)
{
mMapObjects.put(objectp);
mMapObjects.push_back(objectp);
}
inline void LLViewerObjectList::removeFromMap(LLViewerObject *objectp)
{
mMapObjects.removeObj(objectp);
std::vector<LLPointer<LLViewerObject> >::iterator iter = std::find(mMapObjects.begin(), mMapObjects.end(), objectp);
if (iter != mMapObjects.end())
{
mMapObjects.erase(iter);
}
}