quat: add new function glm_quat_make

Function takes in a 4 element float array
and converts it into a quaternion.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
This commit is contained in:
Vincent Davis Jr
2023-06-28 22:49:49 -05:00
parent 6d39ef0026
commit bfe5ea6ab7
7 changed files with 66 additions and 0 deletions

View File

@@ -44,6 +44,7 @@
CGLM_INLINE mat4s glms_quat_rotate(mat4s m, versors q)
CGLM_INLINE mat4s glms_quat_rotate_at(mat4s m, versors q, vec3s pivot)
CGLM_INLINE mat4s glms_quat_rotate_atm(versors q, vec3s pivot)
CGLM_INLINE void glms_quat_make(float * restrict src)
*/
#ifndef cglms_quat_h
@@ -565,4 +566,18 @@ glms_quat_(rotate_atm)(versors q, vec3s pivot) {
return dest;
}
/*!
* @brief Create CGLM quaternion from pointer
*
* @param[in] src pointer to an array of floats
* @returns constructed quaternion from raw pointer
*/
CGLM_INLINE
versors
glms_quat_(make)(float * __restrict src) {
versors dest;
glm_quat_make(src, dest.raw);
return dest;
}
#endif /* cglms_quat_h */