Difference between revisions of "LlGetBoundingBox"

From Second Life Wiki
Jump to: navigation, search
m (Corrected "relative to it's" to possessive "its")
(attachments and avatars)
Line 7: Line 7:
 
|return_text=that is the bounding box of '''object''' relative to its root prim.<br/>Format: [ (vector) min_corner, (vector) max_corner ]
 
|return_text=that is the bounding box of '''object''' relative to its root prim.<br/>Format: [ (vector) min_corner, (vector) max_corner ]
 
|spec
 
|spec
|caveats
+
|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.
 
|constants
 
|constants
 
|examples=<lsl>default//An avatar bounding box ruler thingy
 
|examples=<lsl>default//An avatar bounding box ruler thingy

Revision as of 15:17, 25 January 2010

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 ]

• 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.
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 );