mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Rename Quat to Quaternion
This commit is contained in:
308
doc/classes/Quaternion.xml
Normal file
308
doc/classes/Quaternion.xml
Normal file
@@ -0,0 +1,308 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="Quaternion" version="4.0">
|
||||
<brief_description>
|
||||
Quaternion.
|
||||
</brief_description>
|
||||
<description>
|
||||
A unit quaternion used for representing 3D rotations. Quaternions need to be normalized to be used for rotation.
|
||||
It is similar to Basis, which implements matrix representation of rotations, and can be parametrized using both an axis-angle pair or Euler angles. Basis stores rotation, scale, and shearing, while Quaternion only stores rotation.
|
||||
Due to its compactness and the way it is stored in memory, certain operations (obtaining axis-angle and performing SLERP, in particular) are more efficient and robust against floating-point errors.
|
||||
</description>
|
||||
<tutorials>
|
||||
<link title="Using 3D transforms">https://docs.godotengine.org/en/latest/tutorials/3d/using_transforms.html#interpolating-with-quaternions</link>
|
||||
<link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link>
|
||||
</tutorials>
|
||||
<methods>
|
||||
<method name="Quaternion" qualifiers="constructor">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<description>
|
||||
Constructs a default-initialized quaternion with all components set to [code]0[/code].
|
||||
</description>
|
||||
</method>
|
||||
<method name="Quaternion" qualifiers="constructor">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="from" type="Quaternion">
|
||||
</argument>
|
||||
<description>
|
||||
Constructs a [Quaternion] as a copy of the given [Quaternion].
|
||||
</description>
|
||||
</method>
|
||||
<method name="Quaternion" qualifiers="constructor">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="arc_from" type="Vector3">
|
||||
</argument>
|
||||
<argument index="1" name="arc_to" type="Vector3">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="Quaternion" qualifiers="constructor">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="axis" type="Vector3">
|
||||
</argument>
|
||||
<argument index="1" name="angle" type="float">
|
||||
</argument>
|
||||
<description>
|
||||
Constructs a quaternion that will rotate around the given axis by the specified angle. The axis must be a normalized vector.
|
||||
</description>
|
||||
</method>
|
||||
<method name="Quaternion" qualifiers="constructor">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="euler" type="Vector3">
|
||||
</argument>
|
||||
<description>
|
||||
Constructs a quaternion that will perform a rotation specified by Euler angles (in the YXZ convention: when decomposing, first Z, then X, and Y last), given in the vector format as (X angle, Y angle, Z angle).
|
||||
</description>
|
||||
</method>
|
||||
<method name="Quaternion" qualifiers="constructor">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="from" type="Basis">
|
||||
</argument>
|
||||
<description>
|
||||
Constructs a quaternion from the given [Basis].
|
||||
</description>
|
||||
</method>
|
||||
<method name="Quaternion" qualifiers="constructor">
|
||||
<return type="Quaternion">
|
||||
</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>
|
||||
Constructs a quaternion defined by the given values.
|
||||
</description>
|
||||
</method>
|
||||
<method name="cubic_slerp" qualifiers="const">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="b" type="Quaternion">
|
||||
</argument>
|
||||
<argument index="1" name="pre_a" type="Quaternion">
|
||||
</argument>
|
||||
<argument index="2" name="post_b" type="Quaternion">
|
||||
</argument>
|
||||
<argument index="3" name="weight" type="float">
|
||||
</argument>
|
||||
<description>
|
||||
Performs a cubic spherical interpolation between quaternions [code]pre_a[/code], this vector, [code]b[/code], and [code]post_b[/code], by the given amount [code]weight[/code].
|
||||
</description>
|
||||
</method>
|
||||
<method name="dot" qualifiers="const">
|
||||
<return type="float">
|
||||
</return>
|
||||
<argument index="0" name="with" type="Quaternion">
|
||||
</argument>
|
||||
<description>
|
||||
Returns the dot product of two quaternions.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_euler" qualifiers="const">
|
||||
<return type="Vector3">
|
||||
</return>
|
||||
<description>
|
||||
Returns Euler angles (in the YXZ convention: when decomposing, first Z, then X, and Y last) corresponding to the rotation represented by the unit quaternion. Returned vector contains the rotation angles in the format (X angle, Y angle, Z angle).
|
||||
</description>
|
||||
</method>
|
||||
<method name="inverse" qualifiers="const">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<description>
|
||||
Returns the inverse of the quaternion.
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_equal_approx" qualifiers="const">
|
||||
<return type="bool">
|
||||
</return>
|
||||
<argument index="0" name="to" type="Quaternion">
|
||||
</argument>
|
||||
<description>
|
||||
Returns [code]true[/code] if this quaternion and [code]quat[/code] are approximately equal, by running [method @GlobalScope.is_equal_approx] on each component.
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_normalized" qualifiers="const">
|
||||
<return type="bool">
|
||||
</return>
|
||||
<description>
|
||||
Returns whether the quaternion is normalized or not.
|
||||
</description>
|
||||
</method>
|
||||
<method name="length" qualifiers="const">
|
||||
<return type="float">
|
||||
</return>
|
||||
<description>
|
||||
Returns the length of the quaternion.
|
||||
</description>
|
||||
</method>
|
||||
<method name="length_squared" qualifiers="const">
|
||||
<return type="float">
|
||||
</return>
|
||||
<description>
|
||||
Returns the length of the quaternion, squared.
|
||||
</description>
|
||||
</method>
|
||||
<method name="normalized" qualifiers="const">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<description>
|
||||
Returns a copy of the quaternion, normalized to unit length.
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator !=" qualifiers="operator">
|
||||
<return type="bool">
|
||||
</return>
|
||||
<argument index="0" name="right" type="Quaternion">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator *" qualifiers="operator">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="right" type="Quaternion">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator *" qualifiers="operator">
|
||||
<return type="Vector3">
|
||||
</return>
|
||||
<argument index="0" name="right" type="Vector3">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator *" qualifiers="operator">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="right" type="float">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator *" qualifiers="operator">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="right" type="int">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator +" qualifiers="operator">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator +" qualifiers="operator">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="right" type="Quaternion">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator -" qualifiers="operator">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator -" qualifiers="operator">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="right" type="Quaternion">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator /" qualifiers="operator">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="right" type="float">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator /" qualifiers="operator">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="right" type="int">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator ==" qualifiers="operator">
|
||||
<return type="bool">
|
||||
</return>
|
||||
<argument index="0" name="right" type="Quaternion">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="operator []" qualifiers="operator">
|
||||
<return type="float">
|
||||
</return>
|
||||
<argument index="0" name="index" type="int">
|
||||
</argument>
|
||||
<description>
|
||||
</description>
|
||||
</method>
|
||||
<method name="slerp" qualifiers="const">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="to" type="Quaternion">
|
||||
</argument>
|
||||
<argument index="1" name="weight" type="float">
|
||||
</argument>
|
||||
<description>
|
||||
Returns the result of the spherical linear interpolation between this quaternion and [code]to[/code] by amount [code]weight[/code].
|
||||
[b]Note:[/b] Both quaternions must be normalized.
|
||||
</description>
|
||||
</method>
|
||||
<method name="slerpni" qualifiers="const">
|
||||
<return type="Quaternion">
|
||||
</return>
|
||||
<argument index="0" name="to" type="Quaternion">
|
||||
</argument>
|
||||
<argument index="1" name="weight" type="float">
|
||||
</argument>
|
||||
<description>
|
||||
Returns the result of the spherical linear interpolation between this quaternion and [code]to[/code] by amount [code]weight[/code], but without checking if the rotation path is not bigger than 90 degrees.
|
||||
</description>
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="w" type="float" setter="" getter="" default="1.0">
|
||||
W component of the quaternion (real part).
|
||||
Quaternion components should usually not be manipulated directly.
|
||||
</member>
|
||||
<member name="x" type="float" setter="" getter="" default="0.0">
|
||||
X component of the quaternion (imaginary [code]i[/code] axis part).
|
||||
Quaternion components should usually not be manipulated directly.
|
||||
</member>
|
||||
<member name="y" type="float" setter="" getter="" default="0.0">
|
||||
Y component of the quaternion (imaginary [code]j[/code] axis part).
|
||||
Quaternion components should usually not be manipulated directly.
|
||||
</member>
|
||||
<member name="z" type="float" setter="" getter="" default="0.0">
|
||||
Z component of the quaternion (imaginary [code]k[/code] axis part).
|
||||
Quaternion components should usually not be manipulated directly.
|
||||
</member>
|
||||
</members>
|
||||
<constants>
|
||||
<constant name="IDENTITY" value="Quaternion( 0, 0, 0, 1 )">
|
||||
The identity quaternion, representing no rotation. Equivalent to an identity [Basis] matrix. If a vector is transformed by an identity quaternion, it will not change.
|
||||
</constant>
|
||||
</constants>
|
||||
</class>
|
||||
Reference in New Issue
Block a user