~~Title: Efl.Gfx.Mapping.rotate_quat~~ ====== Efl.Gfx.Mapping.rotate_quat ====== ===== Description ===== %%Rotate the object in 3D using a unit quaternion.%% %%This is similar to %%[[:develop:api:efl:gfx:mapping:method:rotate_3d|Efl.Gfx.Mapping.rotate_3d]]%% but uses a unit quaternion (also known as versor) rather than a direct angle-based rotation around a center point. Use this to avoid gimbal locks.%% %%As with %%[[:develop:api:efl:gfx:mapping:method:rotate|Efl.Gfx.Mapping.rotate]]%%, you provide a pivot and center point to rotate around (in 3D). The Z coordinate of this center point is an absolute value, and not a relative one like X and Y, as objects are flat in a 2D space.%% //Since 1.22// {{page>:develop:api-include:efl:gfx:mapping:method:rotate_quat:description&nouser&nolink&nodate}} ===== Signature ===== rotate_quat { params { @in qx: double; @in qy: double; @in qz: double; @in qw: double; @in pivot: const(Efl.Gfx.Entity); @in cx: double; @in cy: double; @in cz: double; } } ===== C signature ===== void efl_gfx_mapping_rotate_quat(Eo *obj, double qx, double qy, double qz, double qw, const Efl_Gfx_Entity *pivot, double cx, double cy, double cz); ===== Parameters ===== * **qx** //(in)// - %%The x component of the imaginary part of the quaternion.%% * **qy** //(in)// - %%The y component of the imaginary part of the quaternion.%% * **qz** //(in)// - %%The z component of the imaginary part of the quaternion.%% * **qw** //(in)// - %%The w component of the real part of the quaternion.%% * **pivot** //(in)// - %%A pivot object for the center point, can be %%''null''%%.%% * **cx** //(in)// - %%X relative coordinate of the center point.%% * **cy** //(in)// - %%y relative coordinate of the center point.%% * **cz** //(in)// - %%Z absolute coordinate of the center point.%% ===== Implemented by ===== * [[:develop:api:efl:gfx:mapping:method:rotate_quat|Efl.Gfx.Mapping.rotate_quat]]