Difference between revisions of "LlList2Rot"
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
m |
m |
||
Line 1: | Line 1: | ||
{{LSL_Function/ | {{LSL_Function/list/element|src|index|rotation|nc=*|return={{HoverLink|ZERO_ROTATION|<0.0, 0.0, 0.0, 1.0>}}}} {{LSL_Function | ||
|func_id=191|func_sleep=0.0|func_energy=10.0 | |func_id=191|func_sleep=0.0|func_energy=10.0 | ||
|func=llList2Rot|return_type=rotation|p1_type=list|p1_name=src|p2_type=integer|p2_name=index | |func=llList2Rot|return_type=rotation|p1_type=list|p1_name=src|p2_type=integer|p2_name=index | ||
|func_footnote=If the entry at '''index''' in '''src''' is not a rotation {{LSLG| | |func_footnote=If the entry at '''index''' in '''src''' is not a rotation {{LSLG|}} is returned (or if '''index''' is out of range).<br/> In this case use: ({{LSLG|rotation}}){{LSLG|llList2String}}(src, index); | ||
|func_desc | |func_desc | ||
|return_text=that is at '''index''' in '''src'''. | |return_text=that is at '''index''' in '''src'''. | ||
Line 40: | Line 40: | ||
|sort=List2Rot | |sort=List2Rot | ||
|cat1=List | |cat1=List | ||
|cat2 | |cat2 | ||
|cat3 | |cat3 | ||
|cat4 | |cat4 | ||
}} | }} |
Revision as of 05:29, 16 May 2008
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: rotation llList2Rot( list src, integer index );191 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a rotation that is at index in src.
• list | src | – | List containing the element of interest. | |
• integer | index | – | Index of the element of interest. |
index supports negative indexes.
If index describes a location not in src then <span title="<0.0, 0.0, 0.0, 1.0>">ZERO_ROTATION is returned.
If the type of the element at index in src is not a rotation then <span title="<0.0, 0.0, 0.0, 1.0>">ZERO_ROTATION is returned.
Here is a workaround: (rotation)llList2String(src, index);
If the entry at index in src is not a rotation [[]] is returned (or if index is out of range).
In this case use: (rotation)llList2String(src, index);
Specification
Index | Positive | Negative |
---|---|---|
First | 0
|
-length
|
Last | length - 1
|
-1
|
Indexes
- Positive indexes count from the beginning, the first item being indexed as
0
, the last as(length - 1)
.
- Negative indexes count from the far end, the first item being indexed as
-length
, the last as-1
.
Caveats
- If index is out of bounds the script continues to execute without an error message.
- When used to typecast from a string it will result in a ZERO_ROTATION
- A true typecast will solves this: (rotation)llList2String(src, index);
Examples
<lsl> // Best viewed in Chat History (ctrl-h) default {
state_entry() { list my_list = ["a", 1, 2.0, <1,2,3>, <1,2,3,4>, llGetOwner()]; integer i; for (i=0;i<llGetListLength(my_list); ++i) { llOwnerSay("string=" + llList2String(my_list,i) + "\n integer=" + (string)llList2Integer(my_list,i) + "\n float=" + (string)llList2Float(my_list,i) + "\n vector=" + (string)llList2Vector(my_list,i) + "\n rot=" + (string)llList2Rot(my_list,i) + "\n key=" + (string)llList2Key(my_list,i) ); } }
}
</lsl>