euler.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /*
  2. * Copyright (c), Recep Aslantas.
  3. *
  4. * MIT License (MIT), http://opensource.org/licenses/MIT
  5. * Full license can be found in the LICENSE file
  6. */
  7. #ifndef cglmc_euler_h
  8. #define cglmc_euler_h
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #include "../cglm.h"
  13. CGLM_EXPORT
  14. void
  15. glmc_euler_angles(mat4 m, vec3 dest);
  16. CGLM_EXPORT
  17. void
  18. glmc_euler(vec3 angles, mat4 dest);
  19. CGLM_EXPORT
  20. void
  21. glmc_euler_xyz(vec3 angles, mat4 dest);
  22. CGLM_EXPORT
  23. void
  24. glmc_euler_zyx(vec3 angles, mat4 dest);
  25. CGLM_EXPORT
  26. void
  27. glmc_euler_zxy(vec3 angles, mat4 dest);
  28. CGLM_EXPORT
  29. void
  30. glmc_euler_xzy(vec3 angles, mat4 dest);
  31. CGLM_EXPORT
  32. void
  33. glmc_euler_yzx(vec3 angles, mat4 dest);
  34. CGLM_EXPORT
  35. void
  36. glmc_euler_yxz(vec3 angles, mat4 dest);
  37. CGLM_EXPORT
  38. void
  39. glmc_euler_by_order(vec3 angles, glm_euler_seq axis, mat4 dest);
  40. CGLM_EXPORT
  41. void
  42. glmc_euler_xyz_quat(vec3 angles, versor dest);
  43. CGLM_EXPORT
  44. void
  45. glmc_euler_xzy_quat(vec3 angles, versor dest);
  46. CGLM_EXPORT
  47. void
  48. glmc_euler_yxz_quat(vec3 angles, versor dest);
  49. CGLM_EXPORT
  50. void
  51. glmc_euler_yzx_quat(vec3 angles, versor dest);
  52. CGLM_EXPORT
  53. void
  54. glmc_euler_zxy_quat(vec3 angles, versor dest);
  55. CGLM_EXPORT
  56. void
  57. glmc_euler_zyx_quat(vec3 angles, versor dest);
  58. #ifdef __cplusplus
  59. }
  60. #endif
  61. #endif /* cglmc_euler_h */