Difference between revisions of "LlGetAgentSize"

From Second Life Wiki
Jump to navigation Jump to search
m (the the the the)
(link for defaults and limits)
Line 6: Line 6:
|return_text=that is the size of the [[llGetBoundingBox|bounding box]] of the requested avatar by '''id'''.
|return_text=that is the size of the [[llGetBoundingBox|bounding box]] of the requested avatar by '''id'''.
|spec
|spec
|caveats=* The returned vector is an estimate calculated from the avatar's current shape including shoes. x is a constant 0.45, y is a constant 0.60, z is smaller than the rendered height by a fixed amount. Add .17 to z for crown to sole standing height, or add .195 for crown to floor (standing avatars are rendered slightly above the floor or ground).{{Footnote|1= llGetAgentSize returns the same value as [http://svn.secondlife.com/trac/linden/browser/trunk/indra/newview/llvoavatar.cpp LLVOAvatar::computeBodySize()]}}
|caveats=* The returned vector is an estimate calculated from the avatar's current shape including shoes. x is a constant 0.45, y is a constant 0.60, z is smaller than the rendered height by a fixed amount. Add .17 to z for crown to sole standing height, or add .195 for crown to floor (standing avatars are rendered slightly above the floor or ground).{{Footnote|1= llGetAgentSize returns the same value as [http://svn.secondlife.com/trac/linden/browser/trunk/indra/newview/llvoavatar.cpp LLVOAvatar::computeBodySize()]. See [http://svn.secondlife.com/trac/linden/browser/trunk/indra/llcommon/indra_constants.h llcommon/indra_constants.h] for defaults and limits.}}
|constants
|constants
|examples=
|examples=

Revision as of 01:43, 15 January 2010

Summary

Function: vector llGetAgentSize( key id );

Returns a vector that is the size of the bounding box of the requested avatar by id.

• key id avatar UUID that is in the same region

ZERO_VECTOR is returned if id is not in the region or if it is not an avatar.

Caveats

  • The returned vector is an estimate calculated from the avatar's current shape including shoes. x is a constant 0.45, y is a constant 0.60, z is smaller than the rendered height by a fixed amount. Add .17 to z for crown to sole standing height, or add .195 for crown to floor (standing avatars are rendered slightly above the floor or ground).[1]
All Issues ~ Search JIRA for related Bugs

Examples

<lsl>//A simple script that makes a box hover above the owner's head. default {

   state_entry() {
       key owner = llGetOwner();
       vector pos = llList2Vector(llGetObjectDetails(owner, [OBJECT_POS]),0);
       vector agent = llGetAgentSize(owner);
       pos.z += 0.5 + agent.z / 2;//"pos" needs to be adjusted so it appears above the owner.
       if(agent)//makes sure it found the owner, a zero vector evaluates as false
           llSetPos(pos);
   }
   touch_start(integer num) {
       llResetScript();
   }
}</lsl>

Notes

  • This function is a good way to quickly test...
    • if an avatar is in the same region.
    • if a UUID known to be in the region is an avatar.

To use this function to test either case use as follows <lsl>if(llGetAgentSize(uuid)) {

   //uuid is an avatar in the region

} else {

   //uuid is not an avatar in the region

}</lsl>

See Also

Deep Notes

Search JIRA for related Issues

Footnotes

  1. ^ llGetAgentSize returns the same value as LLVOAvatar::computeBodySize(). See llcommon/indra_constants.h for defaults and limits.

Signature

function vector llGetAgentSize( key id );