new name for euler sequence (#94)

* new name for angle sequence
This commit is contained in:
Luigi Castelli
2019-08-21 21:52:01 +02:00
committed by Recep Aslantas
parent e294fc744b
commit d03d4b8df5
4 changed files with 16 additions and 14 deletions

View File

@@ -47,7 +47,7 @@ glmc_euler_yxz(vec3 angles, mat4 dest);
CGLM_EXPORT CGLM_EXPORT
void void
glmc_euler_by_order(vec3 angles, glm_euler_sq axis, mat4 dest); glmc_euler_by_order(vec3 angles, glm_euler_seq axis, mat4 dest);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@@ -15,10 +15,10 @@
/* /*
Types: Types:
enum glm_euler_sq enum glm_euler_seq
Functions: Functions:
CGLM_INLINE glm_euler_sq glm_euler_order(int newOrder[3]); CGLM_INLINE glm_euler_seq glm_euler_order(int newOrder[3]);
CGLM_INLINE void glm_euler_angles(mat4 m, vec3 dest); CGLM_INLINE void glm_euler_angles(mat4 m, vec3 dest);
CGLM_INLINE void glm_euler(vec3 angles, mat4 dest); CGLM_INLINE void glm_euler(vec3 angles, mat4 dest);
CGLM_INLINE void glm_euler_xyz(vec3 angles, mat4 dest); CGLM_INLINE void glm_euler_xyz(vec3 angles, mat4 dest);
@@ -28,7 +28,7 @@
CGLM_INLINE void glm_euler_yzx(vec3 angles, mat4 dest); CGLM_INLINE void glm_euler_yzx(vec3 angles, mat4 dest);
CGLM_INLINE void glm_euler_yxz(vec3 angles, mat4 dest); CGLM_INLINE void glm_euler_yxz(vec3 angles, mat4 dest);
CGLM_INLINE void glm_euler_by_order(vec3 angles, CGLM_INLINE void glm_euler_by_order(vec3 angles,
glm_euler_sq ord, glm_euler_seq ord,
mat4 dest); mat4 dest);
*/ */
@@ -41,24 +41,26 @@
* if you have axis order like vec3 orderVec = [0, 1, 2] or [0, 2, 1]... * if you have axis order like vec3 orderVec = [0, 1, 2] or [0, 2, 1]...
* vector then you can convert it to this enum by doing this: * vector then you can convert it to this enum by doing this:
* @code * @code
* glm_euler_sq order; * glm_euler_seq order;
* order = orderVec[0] | orderVec[1] << 2 | orderVec[2] << 4; * order = orderVec[0] | orderVec[1] << 2 | orderVec[2] << 4;
* @endcode * @endcode
* you may need to explicit cast if required * you may need to explicit cast if required
*/ */
typedef enum glm_euler_sq { typedef enum glm_euler_seq {
GLM_EULER_XYZ = 0 << 0 | 1 << 2 | 2 << 4, GLM_EULER_XYZ = 0 << 0 | 1 << 2 | 2 << 4,
GLM_EULER_XZY = 0 << 0 | 2 << 2 | 1 << 4, GLM_EULER_XZY = 0 << 0 | 2 << 2 | 1 << 4,
GLM_EULER_YZX = 1 << 0 | 2 << 2 | 0 << 4, GLM_EULER_YZX = 1 << 0 | 2 << 2 | 0 << 4,
GLM_EULER_YXZ = 1 << 0 | 0 << 2 | 2 << 4, GLM_EULER_YXZ = 1 << 0 | 0 << 2 | 2 << 4,
GLM_EULER_ZXY = 2 << 0 | 0 << 2 | 1 << 4, GLM_EULER_ZXY = 2 << 0 | 0 << 2 | 1 << 4,
GLM_EULER_ZYX = 2 << 0 | 1 << 2 | 0 << 4 GLM_EULER_ZYX = 2 << 0 | 1 << 2 | 0 << 4
} glm_euler_sq; } glm_euler_seq;
typedef glm_euler_seq glm_euler_sq;
CGLM_INLINE CGLM_INLINE
glm_euler_sq glm_euler_seq
glm_euler_order(int ord[3]) { glm_euler_order(int ord[3]) {
return (glm_euler_sq)(ord[0] << 0 | ord[1] << 2 | ord[2] << 4); return (glm_euler_seq)(ord[0] << 0 | ord[1] << 2 | ord[2] << 4);
} }
/*! /*!
@@ -352,7 +354,7 @@ glm_euler_zyx(vec3 angles, mat4 dest) {
*/ */
CGLM_INLINE CGLM_INLINE
void void
glm_euler_by_order(vec3 angles, glm_euler_sq ord, mat4 dest) { glm_euler_by_order(vec3 angles, glm_euler_seq ord, mat4 dest) {
float cx, cy, cz, float cx, cy, cz,
sx, sy, sz; sx, sy, sz;

View File

@@ -15,7 +15,7 @@
/* /*
Types: Types:
enum glm_euler_sq enum glm_euler_seq
Functions: Functions:
CGLM_INLINE vec3s glms_euler_angles(mat4s m) CGLM_INLINE vec3s glms_euler_angles(mat4s m)
@@ -25,7 +25,7 @@
CGLM_INLINE mat4s glms_euler_yzx(vec3s angles) CGLM_INLINE mat4s glms_euler_yzx(vec3s angles)
CGLM_INLINE mat4s glms_euler_zxy(vec3s angles) CGLM_INLINE mat4s glms_euler_zxy(vec3s angles)
CGLM_INLINE mat4s glms_euler_zyx(vec3s angles) CGLM_INLINE mat4s glms_euler_zyx(vec3s angles)
CGLM_INLINE mat4s glms_euler_by_order(vec3s angles, glm_euler_sq ord) CGLM_INLINE mat4s glms_euler_by_order(vec3s angles, glm_euler_seq ord)
*/ */
#ifndef cglms_euler_h #ifndef cglms_euler_h
@@ -143,7 +143,7 @@ glms_euler_zyx(vec3s angles) {
*/ */
CGLM_INLINE CGLM_INLINE
mat4s mat4s
glms_euler_by_order(vec3s angles, glm_euler_sq ord) { glms_euler_by_order(vec3s angles, glm_euler_seq ord) {
mat4s dest; mat4s dest;
glm_euler_by_order(angles.raw, ord, dest.raw); glm_euler_by_order(angles.raw, ord, dest.raw);
return dest; return dest;

View File

@@ -58,6 +58,6 @@ glmc_euler_yxz(vec3 angles, mat4 dest) {
CGLM_EXPORT CGLM_EXPORT
void void
glmc_euler_by_order(vec3 angles, glm_euler_sq axis, mat4 dest) { glmc_euler_by_order(vec3 angles, glm_euler_seq axis, mat4 dest) {
glm_euler_by_order(angles, axis, dest); glm_euler_by_order(angles, axis, dest);
} }