Represents one or many transformations in 3D space such as translation, rotation, or scaling. It consists of a [Basis] "basis" and an [Vector3] "origin". It is similar to a 3x4 matrix.
</description>
<tutorials>
</tutorials>
<demos>
</demos>
<methods>
<methodname="Transform">
<returntype="Transform">
</return>
<argumentindex="0"name="x_axis"type="Vector3">
</argument>
<argumentindex="1"name="y_axis"type="Vector3">
</argument>
<argumentindex="2"name="z_axis"type="Vector3">
</argument>
<argumentindex="3"name="origin"type="Vector3">
</argument>
<description>
Construct the Transform from four [Vector3]. Each axis corresponds to local basis vectors (some of which may be scaled).
</description>
</method>
<methodname="Transform">
<returntype="Transform">
</return>
<argumentindex="0"name="basis"type="Basis">
</argument>
<argumentindex="1"name="origin"type="Vector3">
</argument>
<description>
Construct the Transform from a [Basis] and [Vector3].
</description>
</method>
<methodname="Transform">
<returntype="Transform">
</return>
<argumentindex="0"name="from"type="Transform2D">
</argument>
<description>
Construct the Transform from a [Transform2D].
</description>
</method>
<methodname="Transform">
<returntype="Transform">
</return>
<argumentindex="0"name="from"type="Quat">
</argument>
<description>
Construct the Transform from a [Quat]. The origin will be Vector3(0, 0, 0).
</description>
</method>
<methodname="Transform">
<returntype="Transform">
</return>
<argumentindex="0"name="from"type="Basis">
</argument>
<description>
Construct the Transform from a [Basis]. The origin will be Vector3(0, 0, 0).
</description>
</method>
<methodname="affine_inverse">
<returntype="Transform">
</return>
<description>
Returns the inverse of the transfrom, under the assumption that the transformation is composed of rotation, scaling and translation.
Interpolate to other Transform by weight amount (0-1).
</description>
</method>
<methodname="inverse">
<returntype="Transform">
</return>
<description>
Returns the inverse of the transform, under the assumption that the transformation is composed of rotation and translation (no scaling, use affine_inverse for transforms with scaling).
</description>
</method>
<methodname="looking_at">
<returntype="Transform">
</return>
<argumentindex="0"name="target"type="Vector3">
</argument>
<argumentindex="1"name="up"type="Vector3">
</argument>
<description>
Rotate the transform around the up vector to face the target.
</description>
</method>
<methodname="orthonormalized">
<returntype="Transform">
</return>
<description>
Returns a transfrom with the basis orthogonal (90 degrees), and normalized axis vectors.
</description>
</method>
<methodname="rotated">
<returntype="Transform">
</return>
<argumentindex="0"name="axis"type="Vector3">
</argument>
<argumentindex="1"name="phi"type="float">
</argument>
<description>
Rotate the transform around given axis by phi. The axis must be a normalized vector.
</description>
</method>
<methodname="scaled">
<returntype="Transform">
</return>
<argumentindex="0"name="scale"type="Vector3">
</argument>
<description>
Scale the transform by the specified 3D scaling factors.
</description>
</method>
<methodname="translated">
<returntype="Transform">
</return>
<argumentindex="0"name="ofs"type="Vector3">
</argument>
<description>
Translate the transform by the specified offset.
</description>
</method>
<methodname="xform">
<returntype="var">
</return>
<argumentindex="0"name="v"type="var">
</argument>
<description>
Transforms the given vector "v" by this transform.
The basis is a matrix containing 3 [Vector3] as its columns: X axis, Y axis, and Z axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.