diff options
Diffstat (limited to 'indra/newview/llmanipscale.h')
-rw-r--r-- | indra/newview/llmanipscale.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/indra/newview/llmanipscale.h b/indra/newview/llmanipscale.h index 3ea5ee7d7a..c02845e358 100644 --- a/indra/newview/llmanipscale.h +++ b/indra/newview/llmanipscale.h @@ -124,6 +124,20 @@ private: void updateSnapGuides(const LLBBox& bbox); private: + struct compare_manipulators + { + bool operator() (const ManipulatorHandle* const a, const ManipulatorHandle* const b) const + { + if (a->mType != b->mType) + return a->mType < b->mType; + else if (a->mPosition.mV[VZ] != b->mPosition.mV[VZ]) + return a->mPosition.mV[VZ] < b->mPosition.mV[VZ]; + else + return a->mManipID < b->mManipID; + } + }; + + F32 mBoxHandleSize; // The size of the handles at the corners of the bounding box F32 mScaledBoxHandleSize; // handle size after scaling for selection feedback EManipPart mManipPart; @@ -135,7 +149,8 @@ private: S32 mLastMouseY; BOOL mSendUpdateOnMouseUp; U32 mLastUpdateFlags; - LLLinkedList<ManipulatorHandle> mProjectedManipulators; + typedef std::set<ManipulatorHandle*, compare_manipulators> minpulator_list_t; + minpulator_list_t mProjectedManipulators; LLVector4 mManipulatorVertices[14]; F32 mScaleSnapUnit1; // size of snap multiples for axis 1 F32 mScaleSnapUnit2; // size of snap multiples for axis 2 |