io.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. /*
  8. Functions:
  9. CGLM_INLINE void glms_mat4_print(mat4s matrix, FILE *ostream);
  10. CGLM_INLINE void glms_mat3_print(mat3s matrix, FILE *ostream);
  11. CGLM_INLINE void glms_vec4_print(vec4s vec, FILE *ostream);
  12. CGLM_INLINE void glms_ivec4_print(ivec3s vec, FILE *ostream);
  13. CGLM_INLINE void glms_vec3_print(vec3s vec, FILE *ostream);
  14. CGLM_INLINE void glms_ivec3_print(ivec3s vec, FILE *ostream);
  15. CGLM_INLINE void glms_vec2_print(vec2s vec, FILE *ostream);
  16. CGLM_INLINE void glms_ivec2_print(ivec3s vec, FILE *ostream);
  17. CGLM_INLINE void glms_versor_print(versor vec, FILE *ostream);
  18. CGLM_INLINE void glms_aabb_print(vec3s bbox[2], const char *tag, FILE *ostream);
  19. */
  20. #ifndef cglms_ios_h
  21. #define cglms_ios_h
  22. #include "../common.h"
  23. #include "../io.h"
  24. #include "mat4.h"
  25. #include <stdio.h>
  26. #include <stdlib.h>
  27. CGLM_INLINE
  28. void
  29. glms_mat4_print(mat4s matrix,
  30. FILE * __restrict ostream) {
  31. glm_mat4_print(matrix.raw, ostream);
  32. }
  33. CGLM_INLINE
  34. void
  35. glms_mat3_print(mat3s matrix,
  36. FILE * __restrict ostream) {
  37. glm_mat3_print(matrix.raw, ostream);
  38. }
  39. CGLM_INLINE
  40. void
  41. glms_vec4_print(vec4s vec,
  42. FILE * __restrict ostream) {
  43. glm_vec4_print(vec.raw, ostream);
  44. }
  45. CGLM_INLINE
  46. void
  47. glms_ivec4_print(ivec4s vec,
  48. FILE * __restrict ostream) {
  49. glm_ivec4_print(vec.raw, ostream);
  50. }
  51. CGLM_INLINE
  52. void
  53. glms_vec3_print(vec3s vec,
  54. FILE * __restrict ostream) {
  55. glm_vec3_print(vec.raw, ostream);
  56. }
  57. CGLM_INLINE
  58. void
  59. glms_ivec3_print(ivec3s vec,
  60. FILE * __restrict ostream) {
  61. glm_ivec3_print(vec.raw, ostream);
  62. }
  63. CGLM_INLINE
  64. void
  65. glms_vec2_print(vec2s vec,
  66. FILE * __restrict ostream) {
  67. glm_vec2_print(vec.raw, ostream);
  68. }
  69. CGLM_INLINE
  70. void
  71. glms_ivec2_print(ivec2s vec,
  72. FILE * __restrict ostream) {
  73. glm_ivec2_print(vec.raw, ostream);
  74. }
  75. CGLM_INLINE
  76. void
  77. glms_versor_print(versors vec,
  78. FILE * __restrict ostream) {
  79. glm_versor_print(vec.raw, ostream);
  80. }
  81. CGLM_INLINE
  82. void
  83. glms_aabb_print(vec3s bbox[2],
  84. const char * __restrict tag,
  85. FILE * __restrict ostream) {
  86. vec3 rawBbox[2];
  87. glms_vec3_(unpack)(rawBbox, bbox, 2);
  88. glm_aabb_print(rawBbox, tag, ostream);
  89. }
  90. #endif /* cglms_ios_h */