Difference between revisions of "HPL3/SOMA/Scripting/cVector2f"
Jump to navigation
Jump to search
Line 16: | Line 16: | ||
! Return Type !! Function Name !! Parameters !! Description | ! Return Type !! Function Name !! Parameters !! Description | ||
|- | |- | ||
− | | <syntaxhighlight lang="c++" inline>float</syntaxhighlight> || GetElement || <syntaxhighlight lang="c++" inline>uint64 alIdx</syntaxhighlight | + | | <syntaxhighlight lang="c++" inline>float</syntaxhighlight> || GetElement || <syntaxhighlight lang="c++" inline>uint64 alIdx</syntaxhighlight> || Gets the value at the given index. (Indices 0 and 1 are equal to x and y, respectively.) |
|- | |- | ||
| <syntaxhighlight lang="c++" inline>float</syntaxhighlight> || Length || || Returns the length of this vector. | | <syntaxhighlight lang="c++" inline>float</syntaxhighlight> || Length || || Returns the length of this vector. | ||
Line 22: | Line 22: | ||
| <syntaxhighlight lang="c++" inline>float</syntaxhighlight> || Normalize || || Returns the normalization factor for this vector. (See Remarks.) | | <syntaxhighlight lang="c++" inline>float</syntaxhighlight> || Normalize || || Returns the normalization factor for this vector. (See Remarks.) | ||
|- | |- | ||
− | | <syntaxhighlight lang="c++" inline>void</syntaxhighlight> || SetElement || <syntaxhighlight lang="c++" inline>uint64 alIdx</syntaxhighlight>,<br /><syntaxhighlight lang="c++" inline>float</syntaxhighlight | + | | <syntaxhighlight lang="c++" inline>void</syntaxhighlight> || SetElement || <syntaxhighlight lang="c++" inline>uint64 alIdx</syntaxhighlight>,<br /><syntaxhighlight lang="c++" inline>float</syntaxhighlight> || Sets the value at the given index to the given value. (Indices 0 and 1 are equal to x and y, respectively.) |
|- | |- | ||
| <syntaxhighlight lang="c++" inline>float</syntaxhighlight> || SqrLength || || Returns the length-squared of this vector. | | <syntaxhighlight lang="c++" inline>float</syntaxhighlight> || SqrLength || || Returns the length-squared of this vector. |
Revision as of 01:31, 4 August 2020
A two dimensional vector unit whose elements are stored as floats.
Contents
Fields
Field Name | Type | Description |
---|---|---|
x | float |
The x value of the vector. |
y | float |
The y value of the vector. |
Functions
Return Type | Function Name | Parameters | Description |
---|---|---|---|
float |
GetElement | uint64 alIdx |
Gets the value at the given index. (Indices 0 and 1 are equal to x and y, respectively.) |
float |
Length | Returns the length of this vector. | |
float |
Normalize | Returns the normalization factor for this vector. (See Remarks.) | |
void |
SetElement | uint64 alIdx ,float |
Sets the value at the given index to the given value. (Indices 0 and 1 are equal to x and y, respectively.) |
float |
SqrLength | Returns the length-squared of this vector. |
Remarks
A normalized vector is a vector whose length is equal to one, otherwise known as a unit vector. To convert a vector into a unit vector, get the normalization factor by calling the Normalize function, then divide each of the vector's x and y coordinates by that factor.
cVector2f vBaseVector(2.0, 5.0);
float fNormFactor = vBaseVector.Normalize();
cVector2f vNormalizedVector(vBaseVector.x / fNormFactor,
vBaseVector.y / fNormFactor);