2
0

ivec3.rst 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. .. default-domain:: C
  2. ivec3
  3. =====
  4. Header: cglm/ivec3.h
  5. Table of contents (click to go):
  6. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7. Macros:
  8. 1. GLM_IVEC3_ONE_INIT
  9. #. GLM_IVEC3_ZERO_INIT
  10. #. GLM_IVEC3_ONE
  11. #. GLM_IVEC3_ZERO
  12. Functions:
  13. 1. :c:func:`glm_ivec3`
  14. #. :c:func:`glm_ivec3_copy`
  15. #. :c:func:`glm_ivec3_zero`
  16. #. :c:func:`glm_ivec3_one`
  17. #. :c:func:`glm_ivec3_add`
  18. #. :c:func:`glm_ivec3_adds`
  19. #. :c:func:`glm_ivec3_sub`
  20. #. :c:func:`glm_ivec3_subs`
  21. #. :c:func:`glm_ivec3_mul`
  22. #. :c:func:`glm_ivec3_scale`
  23. #. :c:func:`glm_ivec3_distance2`
  24. #. :c:func:`glm_ivec3_distance`
  25. #. :c:func:`glm_ivec3_fill`
  26. #. :c:func:`glm_ivec3_eq`
  27. #. :c:func:`glm_ivec3_eqv`
  28. #. :c:func:`glm_ivec3_maxv`
  29. #. :c:func:`glm_ivec3_minv`
  30. #. :c:func:`glm_ivec3_clamp`
  31. #. :c:func:`glm_ivec2_abs`
  32. Functions documentation
  33. ~~~~~~~~~~~~~~~~~~~~~~~
  34. .. c:function:: void glm_ivec3(ivec4 v4, ivec3 dest)
  35. init ivec3 using ivec4
  36. Parameters:
  37. | *[in]* **v** vector
  38. | *[out]* **dest** destination
  39. .. c:function:: void glm_ivec3_copy(ivec3 a, ivec3 dest)
  40. copy all members of [a] to [dest]
  41. Parameters:
  42. | *[in]* **a** source vector
  43. | *[out]* **dest** destination
  44. .. c:function:: void glm_ivec3_zero(ivec3 v)
  45. set all members of [v] to zero
  46. Parameters:
  47. | *[out]* **v** vector
  48. .. c:function:: void glm_ivec3_one(ivec3 v)
  49. set all members of [v] to one
  50. Parameters:
  51. | *[out]* **v** vector
  52. .. c:function:: void glm_ivec3_add(ivec3 a, ivec3 b, ivec3 dest)
  53. add vector [a] to vector [b] and store result in [dest]
  54. Parameters:
  55. | *[in]* **a** first vector
  56. | *[in]* **b** second vector
  57. | *[out]* **dest** destination
  58. .. c:function:: void glm_ivec3_adds(ivec3 v, int s, ivec3 dest)
  59. add scalar s to vector [v] and store result in [dest]
  60. Parameters:
  61. | *[in]* **v** vector
  62. | *[in]* **s** scalar
  63. | *[out]* **dest** destination
  64. .. c:function:: void glm_ivec3_sub(ivec3 a, ivec3 b, ivec3 dest)
  65. subtract vector [b] from vector [a] and store result in [dest]
  66. Parameters:
  67. | *[in]* **a** first vector
  68. | *[in]* **b** second vector
  69. | *[out]* **dest** destination
  70. .. c:function:: void glm_ivec3_subs(ivec3 v, int s, ivec3 dest)
  71. subtract scalar s from vector [v] and store result in [dest]
  72. Parameters:
  73. | *[in]* **v** vector
  74. | *[in]* **s** scalar
  75. | *[out]* **dest** destination
  76. .. c:function:: void glm_ivec3_mul(ivec3 a, ivec3 b, ivec3 dest)
  77. multiply vector [a] with vector [b] and store result in [dest]
  78. Parameters:
  79. | *[in]* **a** first vector
  80. | *[in]* **b** second vector
  81. | *[out]* **dest** destination
  82. .. c:function:: void glm_ivec3_scale(ivec3 v, int s, ivec3 dest)
  83. multiply vector [a] with scalar s and store result in [dest]
  84. Parameters:
  85. | *[in]* **v** vector
  86. | *[in]* **s** scalar
  87. | *[out]* **dest** destination
  88. .. c:function:: int glm_ivec3_distance2(ivec3 a, ivec3 b)
  89. squared distance between two vectors
  90. Parameters:
  91. | *[in]* **a** first vector
  92. | *[in]* **b** second vector
  93. Returns:
  94. squared distance (distance * distance)
  95. .. c:function:: float glm_ivec3_distance(ivec3 a, ivec3 b)
  96. distance between two vectors
  97. Parameters:
  98. | *[in]* **a** first vector
  99. | *[in]* **b** second vector
  100. Returns:
  101. distance
  102. .. c:function:: void glm_ivec3_fill(ivec3 v, int val)
  103. fill a vector with specified value
  104. Parameters:
  105. | *[out]* **v** vector
  106. | *[in]* **val** value
  107. .. c:function:: bool glm_ivec3_eq(ivec3 v, int val)
  108. check if vector is equal to value
  109. Parameters:
  110. | *[in]* **v** vector
  111. | *[in]* **val** value
  112. .. c:function:: bool glm_ivec3_eqv(ivec3 v1, ivec3 v2)
  113. check if vector is equal to another vector
  114. Parameters:
  115. | *[in]* **vec** vector 1
  116. | *[in]* **vec** vector 2
  117. .. c:function:: void glm_ivec3_maxv(ivec3 a, ivec3 b, ivec3 dest)
  118. set each member of dest to greater of vector a and b
  119. Parameters:
  120. | *[in]* **a** first vector
  121. | *[in]* **b** second vector
  122. | *[out]* **dest** destination
  123. .. c:function:: void glm_ivec3_minv(ivec3 a, ivec3 b, ivec3 dest)
  124. set each member of dest to lesser of vector a and b
  125. Parameters:
  126. | *[in]* **a** first vector
  127. | *[in]* **b** second vector
  128. | *[out]* **dest** destination
  129. .. c:function:: void glm_ivec3_clamp(ivec3 v, int minVal, int maxVal)
  130. clamp each member of [v] between minVal and maxVal (inclusive)
  131. Parameters:
  132. | *[in, out]* **v** vector
  133. | *[in]* **minVal** minimum value
  134. | *[in]* **maxVal** maximum value
  135. .. c:function:: void glm_ivec3_abs(ivec3 v, ivec3 dest)
  136. absolute value of each vector item
  137. Parameters:
  138. | *[in]* **v** vector
  139. | *[out]* **dest** destination vector