Category:LSL Vector
Revision as of 09:27, 11 April 2020 by Tapple Gao (talk | contribs) (added note about scaling being supported)
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.
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Vector
A vector is a data type that contains a set of three float values.
Components
Each element can be accessed individually by appending .x, .y, or .z to the variable name.
vector vec;
float x = vec.x;
float y = vec.y;
float z = vec.z;
Uses
Vectors can be used to hold the following:
- Position: x, y and z are in metres.
- Velocity: x, y and z represent speeds.
- Colour: Red is x, Green is y and Blue is z.
Operators
Vectors support the following operations:
- Addition, Operator "+"
- Subtraction, Operator "-"
- Multiplication (Dot Product), Operator "*"
- Cross Product, Operator "%"
A vector can be multiplied or divided by a Quaternion to rotate it.
A vector can be multiplied or divided by a Float or Integer to scale it.
Example
vector test=<1.0, 2.0, 3.0>;
llOwnerSay((string)test.z); // Outputs 3.0
Useful Snippets
integer IsVector(string s)
{
list split = llParseString2List(s, [" "], ["<", ">", ","]);
if(llGetListLength(split) != 7)//we must check the list length, or the next test won't work properly.
return FALSE;
return !((string)((vector)s) == (string)((vector)((string)llListInsertList(split, ["-"], 5))));
//it works by trying to flip the sign on the Z element of the vector,
//if it works or breaks the vector then the values won't match.
//if the vector was already broken then the sign flip will have no affect and the values will match
//we cast back to string so we can catch negative zero which allows for support of ZERO_VECTOR
}//Strife Onizuka
Subcategories
This category has the following 2 subcategories, out of 2 total.
Pages in category "LSL Vector"
The following 6 pages are in this category, out of 6 total.