llGetBoundingBox

From Second Life Wiki
Revision as of 14:17, 25 January 2010 by Cerise Sorbet (talk | contribs) (attachments and avatars)
Jump to navigation Jump to search

Summary

Function: list llGetBoundingBox( key object );
0.0 Forced Delay
10.0 Energy

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

• key object Object or agent in the sim.

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

Caveats

  • if object is an avatar, the reported bounding box is too small by 0.1 meter in all three dimensions. This error is retained for backward script compatibility. Subtract <0.05, 0.05, 0.05> from the first value and add <0.05, 0.05, 0.05> to the second for a corrected box.
  • The bounding box of an avatar sitting on an object includes that object.
  • 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.

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

Signature

function list llGetBoundingBox( key object );