ivec2.rst 4.8 KB

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