#include <llprimlinkinfo.h>


Public Member Functions | |
| LLPrimLinkInfo () | |
| LLPrimLinkInfo (DATA_TYPE data, const LLSphere &sphere) | |
| ~LLPrimLinkInfo () | |
| void | set (DATA_TYPE data, const LLSphere &sphere) |
| void | append (DATA_TYPE data, const LLSphere &sphere) |
| void | getData (std::list< DATA_TYPE > &data_list) const |
| F32 | getDiameter () const |
| LLVector3 | getCenter () const |
| bool | canLink (const LLPrimLinkInfo< DATA_TYPE > &other_info) |
| S32 | getPrimCount () const |
| void | mergeLinkableSet (typename std::list< LLPrimLinkInfo< DATA_TYPE > > &unlinked) |
| void | transform (const LLVector3 &position, const LLQuaternion &rotation) |
Private Member Functions | |
| S32 | merge (LLPrimLinkInfo< DATA_TYPE > &other_info) |
| void | computeBoundingSphere () |
| F32 | get_max_linkable_span (const LLSphere &first, const LLSphere &second) |
| F32 | get_span (const LLSphere &first, const LLSphere &second) |
Static Private Member Functions | |
| static S32 | collapse (typename std::list< LLPrimLinkInfo< DATA_TYPE > > &unlinked) |
Private Attributes | |
| std::map< DATA_TYPE, LLSphere > | mDataMap |
| LLSphere | mBoundingSphere |
Definition at line 46 of file llprimlinkinfo.h.
| LLPrimLinkInfo< DATA_TYPE >::LLPrimLinkInfo | ( | ) | [inline] |
Definition at line 89 of file llprimlinkinfo.h.
| LLPrimLinkInfo< DATA_TYPE >::LLPrimLinkInfo | ( | DATA_TYPE | data, | |
| const LLSphere & | sphere | |||
| ) | [inline] |
| LLPrimLinkInfo< DATA_TYPE >::~LLPrimLinkInfo | ( | ) | [inline] |
| void LLPrimLinkInfo< DATA_TYPE >::set | ( | DATA_TYPE | data, | |
| const LLSphere & | sphere | |||
| ) | [inline] |
Definition at line 108 of file llprimlinkinfo.h.
References LLPrimLinkInfo< DATA_TYPE >::mBoundingSphere, and LLPrimLinkInfo< DATA_TYPE >::mDataMap.
| void LLPrimLinkInfo< DATA_TYPE >::append | ( | DATA_TYPE | data, | |
| const LLSphere & | sphere | |||
| ) | [inline] |
Definition at line 119 of file llprimlinkinfo.h.
References LLPrimLinkInfo< DATA_TYPE >::computeBoundingSphere(), LLSphere::contains(), LLPrimLinkInfo< DATA_TYPE >::mBoundingSphere, and LLPrimLinkInfo< DATA_TYPE >::mDataMap.

| void LLPrimLinkInfo< DATA_TYPE >::getData | ( | std::list< DATA_TYPE > & | data_list | ) | const [inline] |
| F32 LLPrimLinkInfo< DATA_TYPE >::getDiameter | ( | ) | const [inline] |
Definition at line 139 of file llprimlinkinfo.h.
References LLSphere::getRadius(), and LLPrimLinkInfo< DATA_TYPE >::mBoundingSphere.

| LLVector3 LLPrimLinkInfo< DATA_TYPE >::getCenter | ( | ) | const [inline] |
Definition at line 145 of file llprimlinkinfo.h.
References LLSphere::getCenter(), and LLPrimLinkInfo< DATA_TYPE >::mBoundingSphere.

| bool LLPrimLinkInfo< DATA_TYPE >::canLink | ( | const LLPrimLinkInfo< DATA_TYPE > & | other_info | ) | [inline] |
Definition at line 173 of file llprimlinkinfo.h.
References FALSE, LLPrimLinkInfo< DATA_TYPE >::get_max_linkable_span(), LLPrimLinkInfo< DATA_TYPE >::get_span(), LLSphere::getRadius(), LLPrimLinkInfo< DATA_TYPE >::mBoundingSphere, LLPrimLinkInfo< DATA_TYPE >::mDataMap, and TRUE.

| S32 LLPrimLinkInfo< DATA_TYPE >::getPrimCount | ( | ) | const [inline] |
Definition at line 62 of file llprimlinkinfo.h.
Referenced by LLPrimLinkInfo< DATA_TYPE >::merge(), and LLPrimLinkInfo< DATA_TYPE >::mergeLinkableSet().

| void LLPrimLinkInfo< DATA_TYPE >::mergeLinkableSet | ( | typename std::list< LLPrimLinkInfo< DATA_TYPE > > & | unlinked | ) | [inline] |
Definition at line 212 of file llprimlinkinfo.h.
References LLPrimLinkInfo< DATA_TYPE >::collapse(), LLPrimLinkInfo< DATA_TYPE >::getPrimCount(), MAX_PRIMS_PER_OBJECT, LLPrimLinkInfo< DATA_TYPE >::merge(), and S32.

| void LLPrimLinkInfo< DATA_TYPE >::transform | ( | const LLVector3 & | position, | |
| const LLQuaternion & | rotation | |||
| ) | [inline] |
Definition at line 251 of file llprimlinkinfo.h.
References LLSphere::getCenter(), LLPrimLinkInfo< DATA_TYPE >::mBoundingSphere, LLPrimLinkInfo< DATA_TYPE >::mDataMap, and LLSphere::setCenter().

| S32 LLPrimLinkInfo< DATA_TYPE >::merge | ( | LLPrimLinkInfo< DATA_TYPE > & | other_info | ) | [inline, private] |
Definition at line 264 of file llprimlinkinfo.h.
References LLPrimLinkInfo< DATA_TYPE >::computeBoundingSphere(), LLSphere::contains(), LLPrimLinkInfo< DATA_TYPE >::get_max_linkable_span(), LLPrimLinkInfo< DATA_TYPE >::get_span(), LLPrimLinkInfo< DATA_TYPE >::getPrimCount(), LLSphere::getRadius(), MAX_PRIMS_PER_OBJECT, LLPrimLinkInfo< DATA_TYPE >::mBoundingSphere, LLPrimLinkInfo< DATA_TYPE >::mDataMap, and S32.
Referenced by LLPrimLinkInfo< DATA_TYPE >::mergeLinkableSet().


| S32 LLPrimLinkInfo< DATA_TYPE >::collapse | ( | typename std::list< LLPrimLinkInfo< DATA_TYPE > > & | unlinked | ) | [inline, static, private] |
Definition at line 340 of file llprimlinkinfo.h.
References S32.
Referenced by LLPrimLinkInfo< DATA_TYPE >::mergeLinkableSet().

| void LLPrimLinkInfo< DATA_TYPE >::computeBoundingSphere | ( | ) | [inline, private] |
Definition at line 375 of file llprimlinkinfo.h.
References LLSphere::getBoundingSphere(), LLPrimLinkInfo< DATA_TYPE >::mBoundingSphere, and LLPrimLinkInfo< DATA_TYPE >::mDataMap.
Referenced by LLPrimLinkInfo< DATA_TYPE >::append(), and LLPrimLinkInfo< DATA_TYPE >::merge().


| F32 LLPrimLinkInfo< DATA_TYPE >::get_max_linkable_span | ( | const LLSphere & | first, | |
| const LLSphere & | second | |||
| ) | [inline, private] |
Definition at line 151 of file llprimlinkinfo.h.
References LLSphere::getRadius(), MAX_OBJECT_SPAN, and OBJECT_SPAN_BONUS.
Referenced by LLPrimLinkInfo< DATA_TYPE >::canLink(), and LLPrimLinkInfo< DATA_TYPE >::merge().


| F32 LLPrimLinkInfo< DATA_TYPE >::get_span | ( | const LLSphere & | first, | |
| const LLSphere & | second | |||
| ) | [inline, private] |
Definition at line 163 of file llprimlinkinfo.h.
References LLSphere::getCenter(), and LLSphere::getRadius().
Referenced by LLPrimLinkInfo< DATA_TYPE >::canLink(), and LLPrimLinkInfo< DATA_TYPE >::merge().


std::map< DATA_TYPE, LLSphere > LLPrimLinkInfo< DATA_TYPE >::mDataMap [private] |
Definition at line 82 of file llprimlinkinfo.h.
Referenced by LLPrimLinkInfo< DATA_TYPE >::append(), LLPrimLinkInfo< DATA_TYPE >::canLink(), LLPrimLinkInfo< DATA_TYPE >::computeBoundingSphere(), LLPrimLinkInfo< DATA_TYPE >::getData(), LLPrimLinkInfo< signed int >::getPrimCount(), LLPrimLinkInfo< DATA_TYPE >::LLPrimLinkInfo(), LLPrimLinkInfo< DATA_TYPE >::merge(), LLPrimLinkInfo< DATA_TYPE >::set(), LLPrimLinkInfo< DATA_TYPE >::transform(), and LLPrimLinkInfo< DATA_TYPE >::~LLPrimLinkInfo().
LLSphere LLPrimLinkInfo< DATA_TYPE >::mBoundingSphere [private] |
Definition at line 83 of file llprimlinkinfo.h.
Referenced by LLPrimLinkInfo< DATA_TYPE >::append(), LLPrimLinkInfo< DATA_TYPE >::canLink(), LLPrimLinkInfo< DATA_TYPE >::computeBoundingSphere(), LLPrimLinkInfo< DATA_TYPE >::getCenter(), LLPrimLinkInfo< DATA_TYPE >::getDiameter(), LLPrimLinkInfo< DATA_TYPE >::merge(), LLPrimLinkInfo< DATA_TYPE >::set(), and LLPrimLinkInfo< DATA_TYPE >::transform().
1.5.5