llGetBoundingBox
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: list llGetBoundingBox( key object );277 | Function ID |
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 |