Data Structures | |
struct | _Eina_Quaternion |
struct | _Eina_Quaternion_F16p16 |
struct | _Eina_Point_3D |
struct | _Eina_Point_3D_F16p16 |
Typedefs | |
typedef struct _Eina_Quaternion_F16p16 | Eina_Quaternion_F16p16 |
typedef struct _Eina_Quaternion | Eina_Quaternion |
typedef struct _Eina_Point_3D | Eina_Point_3D |
typedef struct _Eina_Point_3D_F16p16 | Eina_Point_3D_F16p16 |
EINA_API void eina_quaternion_f16p16_set | ( | Eina_Quaternion * | out, |
Eina_F16p16 | x, | ||
Eina_F16p16 | y, | ||
Eina_F16p16 | z, | ||
Eina_F16p16 | w | ||
) |
References EINA_API.
EINA_API Eina_F16p16 eina_quaternion_f16p16_norm | ( | const Eina_Quaternion_F16p16 * | q | ) |
References EINA_API, eina_f16p16_add(), eina_f16p16_mul(), and eina_f16p16_sqrt().
Referenced by eina_quaternion_f16p16_dot().
EINA_API void eina_quaternion_f16p16_negative | ( | Eina_Quaternion_F16p16 * | out, |
const Eina_Quaternion_F16p16 * | in | ||
) |
References EINA_API, and eina_f16p16_sub().
Referenced by eina_quaternion_f16p16_nlerp(), and eina_quaternion_f16p16_slerp().
EINA_API void eina_quaternion_f16p16_add | ( | Eina_Quaternion_F16p16 * | out, |
const Eina_Quaternion_F16p16 * | a, | ||
const Eina_Quaternion_F16p16 * | b | ||
) |
References EINA_API, and eina_f16p16_add().
Referenced by eina_quaternion_f16p16_nlerp(), and eina_quaternion_f16p16_slerp().
EINA_API void eina_quaternion_f16p16_mul | ( | Eina_Quaternion_F16p16 * | out, |
const Eina_Quaternion_F16p16 * | a, | ||
const Eina_Quaternion_F16p16 * | b | ||
) |
References EINA_API, eina_f16p16_add(), eina_f16p16_mul(), and eina_f16p16_sub().
EINA_API void eina_quaternion_f16p16_scale | ( | Eina_Quaternion_F16p16 * | out, |
const Eina_Quaternion_F16p16 * | a, | ||
Eina_F16p16 | b | ||
) |
References EINA_API, and eina_f16p16_scale().
Referenced by eina_quaternion_f16p16_dot(), eina_quaternion_f16p16_nlerp(), and eina_quaternion_f16p16_slerp().
EINA_API void eina_quaternion_f16p16_conjugate | ( | Eina_Quaternion_F16p16 * | out, |
const Eina_Quaternion_F16p16 * | in | ||
) |
References EINA_API, and eina_f16p16_sub().
EINA_API Eina_F16p16 eina_quaternion_f16p16_dot | ( | const Eina_Quaternion_F16p16 * | a, |
const Eina_Quaternion_F16p16 * | b | ||
) |
References EINA_API, eina_f16p16_add(), eina_f16p16_div(), eina_f16p16_int_from(), eina_f16p16_mul(), eina_quaternion_f16p16_norm(), and eina_quaternion_f16p16_scale().
Referenced by eina_quaternion_f16p16_nlerp(), and eina_quaternion_f16p16_slerp().
EINA_API void eina_quaternion_f16p16_lerp | ( | Eina_Quaternion_F16p16 * | out, |
const Eina_Quaternion_F16p16 * | a, | ||
const Eina_Quaternion_F16p16 * | b, | ||
Eina_F16p16 | pos | ||
) |
References EINA_API, eina_f16p16_add(), eina_f16p16_int_from(), eina_f16p16_mul(), and eina_f16p16_sub().
EINA_API void eina_quaternion_f16p16_slerp | ( | Eina_Quaternion_F16p16 * | out, |
const Eina_Quaternion_F16p16 * | a, | ||
const Eina_Quaternion_F16p16 * | b, | ||
Eina_F16p16 | pos | ||
) |
References EINA_API, eina_f16p16_double_to(), eina_f16p16_float_from(), eina_f16p16_int_from(), eina_f16p16_sub(), eina_f16p16_to_f32p32(), eina_f32p32_div(), eina_f32p32_double_from(), eina_f32p32_mul(), eina_f32p32_sin(), eina_f32p32_to_f16p16(), eina_quaternion_f16p16_add(), eina_quaternion_f16p16_dot(), eina_quaternion_f16p16_negative(), and eina_quaternion_f16p16_scale().
EINA_API void eina_quaternion_f16p16_nlerp | ( | Eina_Quaternion_F16p16 * | out, |
const Eina_Quaternion_F16p16 * | a, | ||
const Eina_Quaternion_F16p16 * | b, | ||
Eina_F16p16 | pos | ||
) |
EINA_API void eina_quaternion_f16p16_rotate | ( | Eina_Point_3D_F16p16 * | p, |
const Eina_Point_3D_F16p16 * | center, | ||
const Eina_Quaternion_F16p16 * | q | ||
) |
References EINA_API, eina_f16p16_add(), eina_f16p16_mul(), eina_f16p16_scale(), and eina_f16p16_sub().
EINA_API void eina_quaternion_f16p16_rotation_matrix3_get | ( | Eina_Matrix3_F16p16 * | m, |
const Eina_Quaternion_F16p16 * | q | ||
) |
References EINA_API, eina_f16p16_add(), eina_f16p16_int_to(), eina_f16p16_mul(), eina_f16p16_scale(), and eina_f16p16_sub().
EINA_API double eina_quaternion_norm | ( | const Eina_Quaternion * | q | ) |
EINA_API void eina_quaternion_negative | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | in | ||
) |
EINA_API void eina_quaternion_add | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | a, | ||
const Eina_Quaternion * | b | ||
) |
EINA_API void eina_quaternion_mul | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | a, | ||
const Eina_Quaternion * | b | ||
) |
References EINA_API.
EINA_API void eina_quaternion_scale | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | a, | ||
double | b | ||
) |
References EINA_API.
Referenced by eina_quaternion_nlerp(), eina_quaternion_normalized(), and eina_quaternion_slerp().
EINA_API void eina_quaternion_conjugate | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | in | ||
) |
References EINA_API.
EINA_API double eina_quaternion_dot | ( | const Eina_Quaternion * | a, |
const Eina_Quaternion * | b | ||
) |
EINA_API void eina_quaternion_normalized | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | in | ||
) |
References EINA_API, eina_quaternion_norm(), and eina_quaternion_scale().
Referenced by eina_quaternion_nlerp().
EINA_API void eina_quaternion_lerp | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | a, | ||
const Eina_Quaternion * | b, | ||
double | pos | ||
) |
References EINA_API, and EINA_DBL_EQ.
EINA_API void eina_quaternion_slerp | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | a, | ||
const Eina_Quaternion * | b, | ||
double | pos | ||
) |
References EINA_API, EINA_DBL_EQ, eina_quaternion_add(), eina_quaternion_dot(), eina_quaternion_negative(), and eina_quaternion_scale().
EINA_API void eina_quaternion_nlerp | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | a, | ||
const Eina_Quaternion * | b, | ||
double | pos | ||
) |
References EINA_API, EINA_DBL_EQ, eina_quaternion_add(), eina_quaternion_dot(), eina_quaternion_negative(), eina_quaternion_normalized(), and eina_quaternion_scale().
EINA_API void eina_quaternion_rotate | ( | Eina_Point_3D * | p, |
const Eina_Point_3D * | center, | ||
const Eina_Quaternion * | q | ||
) |
EINA_API void eina_quaternion_rotation_matrix3_get | ( | Eina_Matrix3 * | m, |
const Eina_Quaternion * | q | ||
) |
References EINA_API, _Eina_Matrix3::xx, _Eina_Matrix3::xy, _Eina_Matrix3::xz, _Eina_Matrix3::yx, _Eina_Matrix3::yy, _Eina_Matrix3::yz, _Eina_Matrix3::zx, _Eina_Matrix3::zy, and _Eina_Matrix3::zz.
EINA_API void eina_matrix3_quaternion_get | ( | Eina_Quaternion * | q, |
const Eina_Matrix3 * | m | ||
) |
References EINA_API, _Eina_Matrix3::xx, _Eina_Matrix3::xy, _Eina_Matrix3::xz, _Eina_Matrix3::yx, _Eina_Matrix3::yy, _Eina_Matrix3::yz, _Eina_Matrix3::zx, _Eina_Matrix3::zy, and _Eina_Matrix3::zz.
EINA_API Eina_Bool eina_matrix4_quaternion_to | ( | Eina_Quaternion * | rotation, |
Eina_Quaternion * | perspective, | ||
Eina_Point_3D * | translation, | ||
Eina_Point_3D * | scale, | ||
Eina_Point_3D * | skew, | ||
const Eina_Matrix4 * | m | ||
) |
References EINA_API, EINA_DBL_EQ, EINA_FALSE, eina_matrix4_determinant(), eina_matrix4_inverse(), eina_matrix4_transpose(), and EINA_TRUE.
EINA_API void eina_quaternion_matrix4_to | ( | Eina_Matrix4 * | m, |
const Eina_Quaternion * | rotation, | ||
const Eina_Quaternion * | perspective, | ||
const Eina_Point_3D * | translation, | ||
const Eina_Point_3D * | scale, | ||
const Eina_Point_3D * | skew | ||
) |
References EINA_API, EINA_DBL_EQ, eina_matrix4_identity(), and eina_matrix4_multiply().
EINA_API void eina_quaternion_inverse | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | q | ||
) |
Compute the inverse of the given quaternion.
[out] | out | The quaternion to invert. |
[in] | q | The quaternion matrix. |
This function inverses the quaternion q
and stores the result in out
.
References EINA_API.
EINA_API void eina_quaternion_array_set | ( | Eina_Quaternion * | dst, |
const double * | v | ||
) |
Set array to quaternion.
[out] | dst | The result quaternion |
[in] | v | The the array[4] for set |
Set to quaternion first 4 elements from array
References EINA_API.
EINA_API void eina_quaternion_copy | ( | Eina_Quaternion * | dst, |
const Eina_Quaternion * | src | ||
) |
Copy quaternion.
[out] | dst | The quaternion copy |
[in] | src | The quaternion for copy. |
References EINA_API.
Referenced by eina_quaternion_transform().
EINA_API void eina_quaternion_homogeneous_regulate | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | v | ||
) |
Homogeneous quaternion.
[out] | out | The resulting quaternion |
[in] | v | The given quaternion |
References EINA_API, and EINA_DBL_EQ.
EINA_API void eina_quaternion_subtract | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | a, | ||
const Eina_Quaternion * | b | ||
) |
Subtract two quaternions.
[out] | out | The resulting quaternion |
[in] | a | The first member of the subtract |
[in] | b | The second member of the subtract |
References EINA_API.
Referenced by eina_quaternion_distance_get(), and eina_quaternion_distance_square_get().
EINA_API double eina_quaternion_length_get | ( | const Eina_Quaternion * | v | ) |
Return the length of the given quaternion.
[out] | v | The quaternion. |
References EINA_API.
Referenced by eina_quaternion_distance_get().
EINA_API double eina_quaternion_length_square_get | ( | const Eina_Quaternion * | v | ) |
Return the length in square of the given quaternion.
[out] | v | The quaternion. |
References EINA_API.
Referenced by eina_quaternion_distance_square_get().
EINA_API double eina_quaternion_distance_get | ( | const Eina_Quaternion * | a, |
const Eina_Quaternion * | b | ||
) |
Return the distance between of two quaternions.
[in] | a | The first quaternion. |
[in] | b | The second quaternion. |
References EINA_API, eina_quaternion_length_get(), and eina_quaternion_subtract().
EINA_API double eina_quaternion_distance_square_get | ( | const Eina_Quaternion * | a, |
const Eina_Quaternion * | b | ||
) |
Return the distance in square between of two quaternions.
[in] | a | The first quaternion. |
[in] | b | The second quaternion. |
References EINA_API, eina_quaternion_length_square_get(), and eina_quaternion_subtract().
EINA_API void eina_quaternion_transform | ( | Eina_Quaternion * | out, |
const Eina_Quaternion * | v, | ||
const Eina_Matrix4 * | m | ||
) |
Transform quaternion.
[out] | out | The result quaternion. |
[in] | v | The quaternion for transform. |
[in] | m | The matrix for transform. |
References EINA_API, eina_matrix4_type_get(), EINA_MATRIX_TYPE_IDENTITY, and eina_quaternion_copy().
EINA_API double eina_quaternion_angle_plains | ( | Eina_Quaternion * | a, |
Eina_Quaternion * | b | ||
) |
Return the angle plains between of two quaternions.
[in] | a | The first quaternion. |
[in] | b | The second quaternion. |