+ /*
+Copyright (C) 2018 John Tsiombikas <nuclear@member.fsf.org>
+
+This program is free software. Feel free to use, modify, and/or redistribute
+it under the terms of the MIT/X11 license. See LICENSE for details.
+If you intend to redistribute parts of the code without the LICENSE file
+replace this paragraph with the full contents of the LICENSE file.
+*/
static inline void cgm_vcons(cgm_vec3 *v, float x, float y, float z)
{
v->x = x;
cgm_vcons(v, vq.x, vq.y, vq.z);
}
-static inline void cgm_vrotate_axis(cgm_vec3 *v, const cgm_vec3 *axis, float angle)
+static inline void cgm_vrotate_axis(cgm_vec3 *v, int axis, float angle)
{
float m[16];
cgm_mrotation_axis(m, axis, angle);
cgm_vmul_m3v3(v, m);
}
-static inline void cgm_vrotate_euler(cgm_vec3 *v, const cgm_vec3 *euler, enum cgm_euler_mode mode)
+static inline void cgm_vrotate(cgm_vec3 *v, float angle, float x, float y, float z)
{
float m[16];
- cgm_mrotation_euler(m, euler, mode);
+ cgm_mrotation(m, angle, x, y, z);
+ cgm_vmul_m3v3(v, m);
+}
+
+static inline void cgm_vrotate_euler(cgm_vec3 *v, float a, float b, float c, enum cgm_euler_mode mode)
+{
+ float m[16];
+ cgm_mrotation_euler(m, a, b, c, mode);
cgm_vmul_m3v3(v, m);
}