2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2017-11-24 09:16:52 +01:00
<class name= "Quat" category= "Built-In Types" version= "3.0-beta" >
2017-09-12 22:42:36 +02:00
<brief_description >
Quaternion.
</brief_description>
<description >
2017-10-22 22:43:35 +02:00
A 4-dimensional vector representing a rotation.
The vector represents a 4 dimensional complex number where multiplication of the basis elements is not commutative (multiplying i with j gives a different result than multiplying j with i).
Multiplying quaternions reproduces rotation sequences. However quaternions need to be often renormalized, or else they suffer from precision issues.
It can be used to perform SLERP (spherical-linear interpolation) between two rotations.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<demos >
</demos>
<methods >
<method name= "Quat" >
<return type= "Quat" >
</return>
<argument index= "0" name= "x" type= "float" >
</argument>
<argument index= "1" name= "y" type= "float" >
</argument>
<argument index= "2" name= "z" type= "float" >
</argument>
<argument index= "3" name= "w" type= "float" >
</argument>
<description >
2017-10-22 22:43:35 +02:00
Returns a quaternion defined by these values.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "Quat" >
<return type= "Quat" >
</return>
<argument index= "0" name= "axis" type= "Vector3" >
</argument>
<argument index= "1" name= "angle" type= "float" >
</argument>
<description >
Returns a quaternion that will rotate around the given axis by the specified angle. The axis must be a normalized vector.
</description>
</method>
<method name= "Quat" >
<return type= "Quat" >
</return>
<argument index= "0" name= "from" type= "Basis" >
</argument>
<description >
Returns the rotation matrix corresponding to the given quaternion.
</description>
</method>
<method name= "cubic_slerp" >
<return type= "Quat" >
</return>
<argument index= "0" name= "b" type= "Quat" >
</argument>
<argument index= "1" name= "pre_a" type= "Quat" >
</argument>
<argument index= "2" name= "post_b" type= "Quat" >
</argument>
<argument index= "3" name= "t" type= "float" >
</argument>
<description >
2017-10-22 22:43:35 +02:00
Performs a cubic spherical-linear interpolation with another quaternion.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "dot" >
<return type= "float" >
</return>
<argument index= "0" name= "b" type= "Quat" >
</argument>
<description >
Returns the dot product of two quaternions.
</description>
</method>
<method name= "inverse" >
<return type= "Quat" >
</return>
<description >
Returns the inverse of the quaternion.
</description>
</method>
<method name= "is_normalized" >
<return type= "bool" >
</return>
<description >
Returns whether the quaternion is normalized or not.
</description>
</method>
<method name= "length" >
<return type= "float" >
</return>
<description >
Returns the length of the quaternion.
</description>
</method>
<method name= "length_squared" >
<return type= "float" >
</return>
<description >
Returns the length of the quaternion, squared.
</description>
</method>
<method name= "normalized" >
<return type= "Quat" >
</return>
<description >
Returns a copy of the quaternion, normalized to unit length.
</description>
</method>
<method name= "slerp" >
<return type= "Quat" >
</return>
<argument index= "0" name= "b" type= "Quat" >
</argument>
<argument index= "1" name= "t" type= "float" >
</argument>
<description >
2017-10-22 22:43:35 +02:00
Performs a spherical-linear interpolation with another quaternion.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "slerpni" >
<return type= "Quat" >
</return>
<argument index= "0" name= "b" type= "Quat" >
</argument>
<argument index= "1" name= "t" type= "float" >
</argument>
<description >
2017-10-24 19:22:37 +02:00
Performs a spherical-linear interpolation with another quaterion without checking if the rotation path is not bigger than 90°.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "xform" >
<return type= "Vector3" >
</return>
<argument index= "0" name= "v" type= "Vector3" >
</argument>
<description >
2017-10-22 22:43:35 +02:00
Transforms the vector [code]v[/code] by this quaternion.
2017-09-12 22:42:36 +02:00
</description>
</method>
</methods>
<members >
2017-09-13 08:49:40 +02:00
<member name= "w" type= "float" setter= "" getter= "" >
2017-10-22 22:43:35 +02:00
W component of the quaternion. Default value: [code]1[/code]
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "x" type= "float" setter= "" getter= "" >
2017-10-22 22:43:35 +02:00
X component of the quaternion. Default value: [code]0[/code]
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "y" type= "float" setter= "" getter= "" >
2017-10-22 22:43:35 +02:00
Y component of the quaternion. Default value: [code]0[/code]
2017-09-12 22:42:36 +02:00
</member>
2017-09-13 08:49:40 +02:00
<member name= "z" type= "float" setter= "" getter= "" >
2017-10-22 22:43:35 +02:00
Z component of the quaternion. Default value: [code]0[/code]
2017-09-12 22:42:36 +02:00
</member>
</members>
<constants >
</constants>
</class>