llGetBoundingBox

From Second Life Wiki
Revision as of 09:43, 1 February 2010 by WarKirby Magojiro (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Summary

Function: list llGetBoundingBox( key object );

Returns a list that is the bounding box of object relative to its root prim.
Format: [ (vector) min_corner, (vector) max_corner ]

Returns an empty list ([]) if object is not found.

• key object Object or agent in the sim.

The bounding box is for the entire link set, not just the requested prim.

Caveats

  • The reported box for objects and avatars is too small by 0.1 meter in all three dimensions, missing the physics tolerance buffer. This error is retained for backward script compatibility. Subtract <0.05, 0.05, 0.05> from min_corner and add <0.05, 0.05, 0.05> to max_corner for a corrected box.
  • For server 1.36 and up, the bounding box for an attachment is the avatar's bounding box with the 0.1 meter addition already applied.
    • Attachment bounding boxes do not include any object the avatar is sitting on.
All Issues ~ Search JIRA for related Bugs

Examples

<lsl>default//An avatar bounding box ruler thingy {

   state_entry()
   {
       llSetStatus(STATUS_PHANTOM, TRUE);
   }
   
   touch_start(integer total_number)
   {
       key target = llDetectedKey(0);
       list box = llGetBoundingBox(target);
       vector center = (llList2Vector(box, 0) + llList2Vector(box, 1)) * 0.5;
       vector size = llList2Vector(box, 1) - llList2Vector(box, 0);
       llSetPrimitiveParams([PRIM_POSITION, center, PRIM_SIZE, size]);
       llSetText("Name: " + llDetectedName(0) + ", UUID: " + (string)target + 
               "\nBounding Box Size: " + (string)size, <1.0, 1.0, 1.0>, 1.0);
   }
}</lsl>

See Also

Functions

•  llGetAgentSize

Deep Notes

Search JIRA for related Issues

Signature

function list llGetBoundingBox( key object );