eina: add eina_quaternion_set
authorperepelits.m <perepelits.m@samsung.com>
Wed, 17 Jun 2015 14:15:36 +0000 (16:15 +0200)
committerCedric BAIL <cedric@osg.samsung.com>
Wed, 17 Jun 2015 15:52:10 +0000 (17:52 +0200)
Reviewers: cedric, raster, Hermet

Subscribers: cedric, artem.popov

Differential Revision: https://phab.enlightenment.org/D2717

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
src/lib/eina/eina_quaternion.c
src/lib/eina/eina_quaternion.h

index 2ef0ede..8c751ac 100644 (file)
 #include "eina_matrix.h"
 #include "eina_quaternion.h"
 
+EAPI void
+eina_quaternion_f16p16_set(Eina_Quaternion *out,
+                           Eina_F16p16 x, Eina_F16p16 y,
+                           Eina_F16p16 z, Eina_F16p16 w)
+{
+   out->w = w;
+   out->x = x;
+   out->y = y;
+   out->z = z;
+}
+
 EAPI Eina_F16p16
 eina_quaternion_f16p16_norm(const Eina_Quaternion_F16p16 *q)
 {
@@ -338,6 +349,16 @@ eina_quaternion_f16p16_rotation_matrix3_get(Eina_Matrix3_F16p16 *m,
                            eina_f16p16_add(xx, yy));
 }
 
+EAPI void
+eina_quaternion_set(Eina_Quaternion *out, double x,
+                    double y, double z, double w)
+{
+   out->w = w;
+   out->x = x;
+   out->y = y;
+   out->z = z;
+}
+
 EAPI double
 eina_quaternion_norm(const Eina_Quaternion *q)
 {
index 7191c96..42d3cfe 100644 (file)
@@ -53,6 +53,9 @@ struct _Eina_Point_3D_F16p16
    Eina_F16p16 z;
 };
 
+EAPI void eina_quaternion_f16p16_set(Eina_Quaternion *out,
+                                     Eina_F16p16 x, Eina_F16p16 y,
+                                     Eina_F16p16 z, Eina_F16p16 w);
 EAPI Eina_F16p16 eina_quaternion_f16p16_norm(const Eina_Quaternion_F16p16 *q);
 EAPI void eina_quaternion_f16p16_negative(Eina_Quaternion_F16p16 *out,
                                           const Eina_Quaternion_F16p16 *in);
@@ -87,6 +90,8 @@ EAPI void eina_quaternion_f16p16_rotate(Eina_Point_3D_F16p16 *p,
 EAPI void eina_quaternion_f16p16_rotation_matri3_get(Eina_Matrix3_F16p16 *m,
                                                      const Eina_Quaternion_F16p16 *q);
 
+EAPI void eina_quaternion_set(Eina_Quaternion *q, double x,
+                              double y, double z, double w);
 EAPI double eina_quaternion_norm(const Eina_Quaternion *q);
 EAPI void eina_quaternion_negative(Eina_Quaternion *out,
                                    const Eina_Quaternion *in);