Vector class, which performs basic 3D vector math operations.
</brief_description>
<description>
Vector3 is one of the core classes of the engine, and includes several built-in helper functions to perform basic vector math operations.
</description>
<tutorials>
</tutorials>
<demos>
</demos>
<methods>
<methodname="Vector3">
<returntype="Vector3">
</return>
<argumentindex="0"name="x"type="float">
</argument>
<argumentindex="1"name="y"type="float">
</argument>
<argumentindex="2"name="z"type="float">
</argument>
<description>
Returns a Vector3 with the given components.
</description>
</method>
<methodname="abs">
<returntype="Vector3">
</return>
<description>
Returns a new vector with all components in absolute values (i.e. positive).
</description>
</method>
<methodname="angle_to">
<returntype="float">
</return>
<argumentindex="0"name="to"type="Vector3">
</argument>
<description>
</description>
</method>
<methodname="bounce">
<returntype="Vector3">
</return>
<argumentindex="0"name="n"type="Vector3">
</argument>
<description>
Bounce returns the vector "bounced off" from the given plane, specified by its normal vector.
</description>
</method>
<methodname="ceil">
<returntype="Vector3">
</return>
<description>
Returns a new vector with all components rounded up.
</description>
</method>
<methodname="cross">
<returntype="Vector3">
</return>
<argumentindex="0"name="b"type="Vector3">
</argument>
<description>
Return the cross product with b.
</description>
</method>
<methodname="cubic_interpolate">
<returntype="Vector3">
</return>
<argumentindex="0"name="b"type="Vector3">
</argument>
<argumentindex="1"name="pre_a"type="Vector3">
</argument>
<argumentindex="2"name="post_b"type="Vector3">
</argument>
<argumentindex="3"name="t"type="float">
</argument>
<description>
Perform a cubic interpolation between vectors pre_a, a, b, post_b (a is current), by the given amount (t).
</description>
</method>
<methodname="distance_squared_to">
<returntype="float">
</return>
<argumentindex="0"name="b"type="Vector3">
</argument>
<description>
Return the squared distance (distance minus the last square root) to b. Prefer this function over distance_to if you need to sort vectors or need the squared distance for some formula.
</description>
</method>
<methodname="distance_to">
<returntype="float">
</return>
<argumentindex="0"name="b"type="Vector3">
</argument>
<description>
Return the distance to b.
</description>
</method>
<methodname="dot">
<returntype="float">
</return>
<argumentindex="0"name="b"type="Vector3">
</argument>
<description>
Return the dot product with b.
</description>
</method>
<methodname="floor">
<returntype="Vector3">
</return>
<description>
Returns a new vector with all components rounded down.
</description>
</method>
<methodname="inverse">
<returntype="Vector3">
</return>
<description>
Returns the inverse of the vector. This is the same as Vector3( 1.0 / v.x, 1.0 / v.y, 1.0 / v.z )
</description>
</method>
<methodname="is_normalized">
<returntype="bool">
</return>
<description>
Returns whether the vector is normalized or not.
</description>
</method>
<methodname="length">
<returntype="float">
</return>
<description>
Return the length of the vector.
</description>
</method>
<methodname="length_squared">
<returntype="float">
</return>
<description>
Return the length of the vector, squared. Prefer this function over "length" if you need to sort vectors or need the squared length for some formula.
</description>
</method>
<methodname="linear_interpolate">
<returntype="Vector3">
</return>
<argumentindex="0"name="b"type="Vector3">
</argument>
<argumentindex="1"name="t"type="float">
</argument>
<description>
Linearly interpolates the vector to a given one (b), by the given amount (t).
</description>
</method>
<methodname="max_axis">
<returntype="int">
</return>
<description>
Returns AXIS_X, AXIS_Y or AXIS_Z depending on which axis is the largest.
</description>
</method>
<methodname="min_axis">
<returntype="int">
</return>
<description>
Returns AXIS_X, AXIS_Y or AXIS_Z depending on which axis is the smallest.
</description>
</method>
<methodname="normalized">
<returntype="Vector3">
</return>
<description>
Return a copy of the normalized vector to unit length. This is the same as v / v.length().
</description>
</method>
<methodname="outer">
<returntype="Basis">
</return>
<argumentindex="0"name="b"type="Vector3">
</argument>
<description>
Return the outer product with b.
</description>
</method>
<methodname="reflect">
<returntype="Vector3">
</return>
<argumentindex="0"name="n"type="Vector3">
</argument>
<description>
Reflects the vector along the given plane, specified by its normal vector.
</description>
</method>
<methodname="rotated">
<returntype="Vector3">
</return>
<argumentindex="0"name="axis"type="Vector3">
</argument>
<argumentindex="1"name="phi"type="float">
</argument>
<description>
Rotates the vector around some axis by phi radians. The axis must be a normalized vector.
</description>
</method>
<methodname="slide">
<returntype="Vector3">
</return>
<argumentindex="0"name="n"type="Vector3">
</argument>
<description>
Slide returns the component of the vector along the given plane, specified by its normal vector.
</description>
</method>
<methodname="snapped">
<returntype="Vector3">
</return>
<argumentindex="0"name="by"type="float">
</argument>
<description>
Return a copy of the vector, snapped to the lowest neared multiple.
</description>
</method>
<methodname="to_diagonal_matrix">
<returntype="Basis">
</return>
<description>
Return a diagonal matrix with the vector as main diagonal.