Tizen Native API  7.0
Quaternion

Functions

void eina_quaternion_f16p16_set (Eina_Quaternion *out, Eina_F16p16 x, Eina_F16p16 y, Eina_F16p16 z, Eina_F16p16 w)
Eina_F16p16 eina_quaternion_f16p16_norm (const Eina_Quaternion_F16p16 *q)
void eina_quaternion_f16p16_negative (Eina_Quaternion_F16p16 *out, const Eina_Quaternion_F16p16 *in)
void eina_quaternion_f16p16_add (Eina_Quaternion_F16p16 *out, const Eina_Quaternion_F16p16 *a, const Eina_Quaternion_F16p16 *b)
void eina_quaternion_f16p16_mul (Eina_Quaternion_F16p16 *out, const Eina_Quaternion_F16p16 *a, const Eina_Quaternion_F16p16 *b)
void eina_quaternion_f16p16_scale (Eina_Quaternion_F16p16 *out, const Eina_Quaternion_F16p16 *a, Eina_F16p16 b)
void eina_quaternion_f16p16_conjugate (Eina_Quaternion_F16p16 *out, const Eina_Quaternion_F16p16 *in)
Eina_F16p16 eina_quaternion_f16p16_dot (const Eina_Quaternion_F16p16 *a, const Eina_Quaternion_F16p16 *b)
void eina_quaternion_f16p16_lerp (Eina_Quaternion_F16p16 *out, const Eina_Quaternion_F16p16 *a, const Eina_Quaternion_F16p16 *b, Eina_F16p16 pos)
void eina_quaternion_f16p16_slerp (Eina_Quaternion_F16p16 *out, const Eina_Quaternion_F16p16 *a, const Eina_Quaternion_F16p16 *b, Eina_F16p16 pos)
void eina_quaternion_f16p16_nlerp (Eina_Quaternion_F16p16 *out, const Eina_Quaternion_F16p16 *a, const Eina_Quaternion_F16p16 *b, Eina_F16p16 pos)
void eina_quaternion_f16p16_rotate (Eina_Point_3D_F16p16 *p, const Eina_Point_3D_F16p16 *center, const Eina_Quaternion_F16p16 *q)
void eina_quaternion_f16p16_rotation_matrix3_get (Eina_Matrix3_F16p16 *m, const Eina_Quaternion_F16p16 *q)
void eina_quaternion_set (Eina_Quaternion *q, double x, double y, double z, double w)
double eina_quaternion_norm (const Eina_Quaternion *q)
void eina_quaternion_negative (Eina_Quaternion *out, const Eina_Quaternion *in)
void eina_quaternion_add (Eina_Quaternion *out, const Eina_Quaternion *a, const Eina_Quaternion *b)
void eina_quaternion_mul (Eina_Quaternion *out, const Eina_Quaternion *a, const Eina_Quaternion *b)
void eina_quaternion_scale (Eina_Quaternion *out, const Eina_Quaternion *a, double b)
void eina_quaternion_conjugate (Eina_Quaternion *out, const Eina_Quaternion *in)
double eina_quaternion_dot (const Eina_Quaternion *a, const Eina_Quaternion *b)
void eina_quaternion_normalized (Eina_Quaternion *out, const Eina_Quaternion *in)
void eina_quaternion_lerp (Eina_Quaternion *out, const Eina_Quaternion *a, const Eina_Quaternion *b, double pos)
void eina_quaternion_slerp (Eina_Quaternion *out, const Eina_Quaternion *a, const Eina_Quaternion *b, double pos)
void eina_quaternion_nlerp (Eina_Quaternion *out, const Eina_Quaternion *a, const Eina_Quaternion *b, double pos)
void eina_quaternion_rotate (Eina_Point_3D *p, const Eina_Point_3D *center, const Eina_Quaternion *q)
void eina_quaternion_rotation_matrix3_get (Eina_Matrix3 *m, const Eina_Quaternion *q)
void eina_matrix3_quaternion_get (Eina_Quaternion *q, const Eina_Matrix3 *m)
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)
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)
void eina_quaternion_inverse (Eina_Quaternion *out, const Eina_Quaternion *q)
 Compute the inverse of the given quaternion.
void eina_quaternion_array_set (Eina_Quaternion *dst, const double *v)
 Set array to quaternion.
void eina_quaternion_copy (Eina_Quaternion *dst, const Eina_Quaternion *src)
 Copy quaternion.
void eina_quaternion_homogeneous_regulate (Eina_Quaternion *out, const Eina_Quaternion *v)
 Homogeneous quaternion.
void eina_quaternion_subtract (Eina_Quaternion *out, const Eina_Quaternion *a, const Eina_Quaternion *b)
 Subtract two quaternions.
double eina_quaternion_length_get (const Eina_Quaternion *v)
 Return the length of the given quaternion.
double eina_quaternion_length_square_get (const Eina_Quaternion *v)
 Return the length in square of the given quaternion.
double eina_quaternion_distance_get (const Eina_Quaternion *a, const Eina_Quaternion *b)
 Return the distance between of two quaternions.
double eina_quaternion_distance_square_get (const Eina_Quaternion *a, const Eina_Quaternion *b)
 Return the distance in square between of two quaternions.
void eina_quaternion_transform (Eina_Quaternion *out, const Eina_Quaternion *v, const Eina_Matrix4 *m)
 Transform quaternion.
double eina_quaternion_angle_plains (Eina_Quaternion *a, Eina_Quaternion *b)
 Return the angle plains between of two quaternions.

Function Documentation

void eina_matrix3_quaternion_get ( Eina_Quaternion *  q,
const Eina_Matrix3 m 
)
Since (EFL) :
1.15
Since :
3.0
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 
)
Since (EFL) :
1.16
Since :
3.0
void eina_quaternion_add ( Eina_Quaternion *  out,
const Eina_Quaternion *  a,
const Eina_Quaternion *  b 
)
Since (EFL) :
1.15
Since :
3.0
double eina_quaternion_angle_plains ( Eina_Quaternion *  a,
Eina_Quaternion *  b 
)

Return the angle plains between of two quaternions.

Parameters:
[in]aThe first quaternion.
[in]bThe second quaternion.
Returns:
The angle.
Since (EFL) :
1.17
void eina_quaternion_array_set ( Eina_Quaternion *  dst,
const double *  v 
)

Set array to quaternion.

Parameters:
[out]dstThe result quaternion
[in]vThe the array[4] for set

Set to quaternion first 4 elements from array

Since (EFL) :
1.17
void eina_quaternion_conjugate ( Eina_Quaternion *  out,
const Eina_Quaternion *  in 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_copy ( Eina_Quaternion *  dst,
const Eina_Quaternion *  src 
)

Copy quaternion.

Parameters:
[out]dstThe quaternion copy
[in]srcThe quaternion for copy.
Since (EFL) :
1.17
double eina_quaternion_distance_get ( const Eina_Quaternion *  a,
const Eina_Quaternion *  b 
)

Return the distance between of two quaternions.

Parameters:
[in]aThe first quaternion.
[in]bThe second quaternion.
Returns:
The distance.
Since (EFL) :
1.17
double eina_quaternion_distance_square_get ( const Eina_Quaternion *  a,
const Eina_Quaternion *  b 
)

Return the distance in square between of two quaternions.

Parameters:
[in]aThe first quaternion.
[in]bThe second quaternion.
Returns:
The distance in square.
Since (EFL) :
1.17
double eina_quaternion_dot ( const Eina_Quaternion *  a,
const Eina_Quaternion *  b 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_add ( Eina_Quaternion_F16p16 *  out,
const Eina_Quaternion_F16p16 *  a,
const Eina_Quaternion_F16p16 *  b 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_conjugate ( Eina_Quaternion_F16p16 *  out,
const Eina_Quaternion_F16p16 *  in 
)
Since (EFL) :
1.15
Since :
3.0
Eina_F16p16 eina_quaternion_f16p16_dot ( const Eina_Quaternion_F16p16 *  a,
const Eina_Quaternion_F16p16 *  b 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_lerp ( Eina_Quaternion_F16p16 *  out,
const Eina_Quaternion_F16p16 *  a,
const Eina_Quaternion_F16p16 *  b,
Eina_F16p16  pos 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_mul ( Eina_Quaternion_F16p16 *  out,
const Eina_Quaternion_F16p16 *  a,
const Eina_Quaternion_F16p16 *  b 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_negative ( Eina_Quaternion_F16p16 *  out,
const Eina_Quaternion_F16p16 *  in 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_nlerp ( Eina_Quaternion_F16p16 *  out,
const Eina_Quaternion_F16p16 *  a,
const Eina_Quaternion_F16p16 *  b,
Eina_F16p16  pos 
)
Since (EFL) :
1.15
Since :
3.0
Eina_F16p16 eina_quaternion_f16p16_norm ( const Eina_Quaternion_F16p16 *  q)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_rotate ( Eina_Point_3D_F16p16 *  p,
const Eina_Point_3D_F16p16 *  center,
const Eina_Quaternion_F16p16 *  q 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_rotation_matrix3_get ( Eina_Matrix3_F16p16 m,
const Eina_Quaternion_F16p16 *  q 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_scale ( Eina_Quaternion_F16p16 *  out,
const Eina_Quaternion_F16p16 *  a,
Eina_F16p16  b 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_set ( Eina_Quaternion *  out,
Eina_F16p16  x,
Eina_F16p16  y,
Eina_F16p16  z,
Eina_F16p16  w 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_f16p16_slerp ( Eina_Quaternion_F16p16 *  out,
const Eina_Quaternion_F16p16 *  a,
const Eina_Quaternion_F16p16 *  b,
Eina_F16p16  pos 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_homogeneous_regulate ( Eina_Quaternion *  out,
const Eina_Quaternion *  v 
)

Homogeneous quaternion.

Parameters:
[out]outThe resulting quaternion
[in]vThe given quaternion
Since (EFL) :
1.17
void eina_quaternion_inverse ( Eina_Quaternion *  out,
const Eina_Quaternion *  q 
)

Compute the inverse of the given quaternion.

Parameters:
[out]outThe quaternion to invert.
[in]qThe quaternion matrix.

This function inverses the quaternion q and stores the result in out.

Since (EFL) :
1.17
double eina_quaternion_length_get ( const Eina_Quaternion *  v)

Return the length of the given quaternion.

Parameters:
[out]vThe quaternion.
Returns:
The length.
Since (EFL) :
1.17
double eina_quaternion_length_square_get ( const Eina_Quaternion *  v)

Return the length in square of the given quaternion.

Parameters:
[out]vThe quaternion.
Returns:
The length in square.
Since (EFL) :
1.17
void eina_quaternion_lerp ( Eina_Quaternion *  out,
const Eina_Quaternion *  a,
const Eina_Quaternion *  b,
double  pos 
)
Since (EFL) :
1.15
Since :
3.0
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 
)
Since (EFL) :
1.16
Since :
3.0
void eina_quaternion_mul ( Eina_Quaternion *  out,
const Eina_Quaternion *  a,
const Eina_Quaternion *  b 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_negative ( Eina_Quaternion *  out,
const Eina_Quaternion *  in 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_nlerp ( Eina_Quaternion *  out,
const Eina_Quaternion *  a,
const Eina_Quaternion *  b,
double  pos 
)
Since (EFL) :
1.15
Since :
3.0
double eina_quaternion_norm ( const Eina_Quaternion *  q)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_normalized ( Eina_Quaternion *  out,
const Eina_Quaternion *  in 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_rotate ( Eina_Point_3D *  p,
const Eina_Point_3D *  center,
const Eina_Quaternion *  q 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_rotation_matrix3_get ( Eina_Matrix3 m,
const Eina_Quaternion *  q 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_scale ( Eina_Quaternion *  out,
const Eina_Quaternion *  a,
double  b 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_set ( Eina_Quaternion *  q,
double  x,
double  y,
double  z,
double  w 
)
Since :
3.0
void eina_quaternion_slerp ( Eina_Quaternion *  out,
const Eina_Quaternion *  a,
const Eina_Quaternion *  b,
double  pos 
)
Since (EFL) :
1.15
Since :
3.0
void eina_quaternion_subtract ( Eina_Quaternion *  out,
const Eina_Quaternion *  a,
const Eina_Quaternion *  b 
)

Subtract two quaternions.

Parameters:
[out]outThe resulting quaternion
[in]aThe first member of the subtract
[in]bThe second member of the subtract
Since (EFL) :
1.17
void eina_quaternion_transform ( Eina_Quaternion *  out,
const Eina_Quaternion *  v,
const Eina_Matrix4 m 
)

Transform quaternion.

Parameters:
[out]outThe result quaternion.
[in]vThe quaternion for transform.
[in]mThe matrix for transform.
Since (EFL) :
1.17