Brak opisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921
  1. //------------------------------------------------------------------------------
  2. // <auto-generated>
  3. // This code was generated by a tool.
  4. //
  5. // Changes to this file may cause incorrect behavior and will be lost if
  6. // the code is regenerated. To update the generation of this file, modify and re-run Unity.Mathematics.CodeGen.
  7. // </auto-generated>
  8. //------------------------------------------------------------------------------
  9. using System;
  10. using System.Runtime.CompilerServices;
  11. using System.Diagnostics;
  12. using Unity.IL2CPP.CompilerServices;
  13. #pragma warning disable 0660, 0661
  14. namespace Unity.Mathematics
  15. {
  16. /// <summary>A 3 component vector of ints.</summary>
  17. [DebuggerTypeProxy(typeof(int3.DebuggerProxy))]
  18. [System.Serializable]
  19. [Il2CppEagerStaticClassConstruction]
  20. public partial struct int3 : System.IEquatable<int3>, IFormattable
  21. {
  22. /// <summary>x component of the vector.</summary>
  23. public int x;
  24. /// <summary>y component of the vector.</summary>
  25. public int y;
  26. /// <summary>z component of the vector.</summary>
  27. public int z;
  28. /// <summary>int3 zero value.</summary>
  29. public static readonly int3 zero;
  30. /// <summary>Constructs a int3 vector from three int values.</summary>
  31. /// <param name="x">The constructed vector's x component will be set to this value.</param>
  32. /// <param name="y">The constructed vector's y component will be set to this value.</param>
  33. /// <param name="z">The constructed vector's z component will be set to this value.</param>
  34. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  35. public int3(int x, int y, int z)
  36. {
  37. this.x = x;
  38. this.y = y;
  39. this.z = z;
  40. }
  41. /// <summary>Constructs a int3 vector from an int value and an int2 vector.</summary>
  42. /// <param name="x">The constructed vector's x component will be set to this value.</param>
  43. /// <param name="yz">The constructed vector's yz components will be set to this value.</param>
  44. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  45. public int3(int x, int2 yz)
  46. {
  47. this.x = x;
  48. this.y = yz.x;
  49. this.z = yz.y;
  50. }
  51. /// <summary>Constructs a int3 vector from an int2 vector and an int value.</summary>
  52. /// <param name="xy">The constructed vector's xy components will be set to this value.</param>
  53. /// <param name="z">The constructed vector's z component will be set to this value.</param>
  54. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  55. public int3(int2 xy, int z)
  56. {
  57. this.x = xy.x;
  58. this.y = xy.y;
  59. this.z = z;
  60. }
  61. /// <summary>Constructs a int3 vector from an int3 vector.</summary>
  62. /// <param name="xyz">The constructed vector's xyz components will be set to this value.</param>
  63. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  64. public int3(int3 xyz)
  65. {
  66. this.x = xyz.x;
  67. this.y = xyz.y;
  68. this.z = xyz.z;
  69. }
  70. /// <summary>Constructs a int3 vector from a single int value by assigning it to every component.</summary>
  71. /// <param name="v">int to convert to int3</param>
  72. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  73. public int3(int v)
  74. {
  75. this.x = v;
  76. this.y = v;
  77. this.z = v;
  78. }
  79. /// <summary>Constructs a int3 vector from a single bool value by converting it to int and assigning it to every component.</summary>
  80. /// <param name="v">bool to convert to int3</param>
  81. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  82. public int3(bool v)
  83. {
  84. this.x = v ? 1 : 0;
  85. this.y = v ? 1 : 0;
  86. this.z = v ? 1 : 0;
  87. }
  88. /// <summary>Constructs a int3 vector from a bool3 vector by componentwise conversion.</summary>
  89. /// <param name="v">bool3 to convert to int3</param>
  90. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  91. public int3(bool3 v)
  92. {
  93. this.x = v.x ? 1 : 0;
  94. this.y = v.y ? 1 : 0;
  95. this.z = v.z ? 1 : 0;
  96. }
  97. /// <summary>Constructs a int3 vector from a single uint value by converting it to int and assigning it to every component.</summary>
  98. /// <param name="v">uint to convert to int3</param>
  99. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  100. public int3(uint v)
  101. {
  102. this.x = (int)v;
  103. this.y = (int)v;
  104. this.z = (int)v;
  105. }
  106. /// <summary>Constructs a int3 vector from a uint3 vector by componentwise conversion.</summary>
  107. /// <param name="v">uint3 to convert to int3</param>
  108. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  109. public int3(uint3 v)
  110. {
  111. this.x = (int)v.x;
  112. this.y = (int)v.y;
  113. this.z = (int)v.z;
  114. }
  115. /// <summary>Constructs a int3 vector from a single float value by converting it to int and assigning it to every component.</summary>
  116. /// <param name="v">float to convert to int3</param>
  117. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  118. public int3(float v)
  119. {
  120. this.x = (int)v;
  121. this.y = (int)v;
  122. this.z = (int)v;
  123. }
  124. /// <summary>Constructs a int3 vector from a float3 vector by componentwise conversion.</summary>
  125. /// <param name="v">float3 to convert to int3</param>
  126. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  127. public int3(float3 v)
  128. {
  129. this.x = (int)v.x;
  130. this.y = (int)v.y;
  131. this.z = (int)v.z;
  132. }
  133. /// <summary>Constructs a int3 vector from a single double value by converting it to int and assigning it to every component.</summary>
  134. /// <param name="v">double to convert to int3</param>
  135. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  136. public int3(double v)
  137. {
  138. this.x = (int)v;
  139. this.y = (int)v;
  140. this.z = (int)v;
  141. }
  142. /// <summary>Constructs a int3 vector from a double3 vector by componentwise conversion.</summary>
  143. /// <param name="v">double3 to convert to int3</param>
  144. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  145. public int3(double3 v)
  146. {
  147. this.x = (int)v.x;
  148. this.y = (int)v.y;
  149. this.z = (int)v.z;
  150. }
  151. /// <summary>Implicitly converts a single int value to a int3 vector by assigning it to every component.</summary>
  152. /// <param name="v">int to convert to int3</param>
  153. /// <returns>Converted value.</returns>
  154. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  155. public static implicit operator int3(int v) { return new int3(v); }
  156. /// <summary>Explicitly converts a single bool value to a int3 vector by converting it to int and assigning it to every component.</summary>
  157. /// <param name="v">bool to convert to int3</param>
  158. /// <returns>Converted value.</returns>
  159. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  160. public static explicit operator int3(bool v) { return new int3(v); }
  161. /// <summary>Explicitly converts a bool3 vector to a int3 vector by componentwise conversion.</summary>
  162. /// <param name="v">bool3 to convert to int3</param>
  163. /// <returns>Converted value.</returns>
  164. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  165. public static explicit operator int3(bool3 v) { return new int3(v); }
  166. /// <summary>Explicitly converts a single uint value to a int3 vector by converting it to int and assigning it to every component.</summary>
  167. /// <param name="v">uint to convert to int3</param>
  168. /// <returns>Converted value.</returns>
  169. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  170. public static explicit operator int3(uint v) { return new int3(v); }
  171. /// <summary>Explicitly converts a uint3 vector to a int3 vector by componentwise conversion.</summary>
  172. /// <param name="v">uint3 to convert to int3</param>
  173. /// <returns>Converted value.</returns>
  174. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  175. public static explicit operator int3(uint3 v) { return new int3(v); }
  176. /// <summary>Explicitly converts a single float value to a int3 vector by converting it to int and assigning it to every component.</summary>
  177. /// <param name="v">float to convert to int3</param>
  178. /// <returns>Converted value.</returns>
  179. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  180. public static explicit operator int3(float v) { return new int3(v); }
  181. /// <summary>Explicitly converts a float3 vector to a int3 vector by componentwise conversion.</summary>
  182. /// <param name="v">float3 to convert to int3</param>
  183. /// <returns>Converted value.</returns>
  184. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  185. public static explicit operator int3(float3 v) { return new int3(v); }
  186. /// <summary>Explicitly converts a single double value to a int3 vector by converting it to int and assigning it to every component.</summary>
  187. /// <param name="v">double to convert to int3</param>
  188. /// <returns>Converted value.</returns>
  189. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  190. public static explicit operator int3(double v) { return new int3(v); }
  191. /// <summary>Explicitly converts a double3 vector to a int3 vector by componentwise conversion.</summary>
  192. /// <param name="v">double3 to convert to int3</param>
  193. /// <returns>Converted value.</returns>
  194. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  195. public static explicit operator int3(double3 v) { return new int3(v); }
  196. /// <summary>Returns the result of a componentwise multiplication operation on two int3 vectors.</summary>
  197. /// <param name="lhs">Left hand side int3 to use to compute componentwise multiplication.</param>
  198. /// <param name="rhs">Right hand side int3 to use to compute componentwise multiplication.</param>
  199. /// <returns>int3 result of the componentwise multiplication.</returns>
  200. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  201. public static int3 operator * (int3 lhs, int3 rhs) { return new int3 (lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z); }
  202. /// <summary>Returns the result of a componentwise multiplication operation on an int3 vector and an int value.</summary>
  203. /// <param name="lhs">Left hand side int3 to use to compute componentwise multiplication.</param>
  204. /// <param name="rhs">Right hand side int to use to compute componentwise multiplication.</param>
  205. /// <returns>int3 result of the componentwise multiplication.</returns>
  206. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  207. public static int3 operator * (int3 lhs, int rhs) { return new int3 (lhs.x * rhs, lhs.y * rhs, lhs.z * rhs); }
  208. /// <summary>Returns the result of a componentwise multiplication operation on an int value and an int3 vector.</summary>
  209. /// <param name="lhs">Left hand side int to use to compute componentwise multiplication.</param>
  210. /// <param name="rhs">Right hand side int3 to use to compute componentwise multiplication.</param>
  211. /// <returns>int3 result of the componentwise multiplication.</returns>
  212. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  213. public static int3 operator * (int lhs, int3 rhs) { return new int3 (lhs * rhs.x, lhs * rhs.y, lhs * rhs.z); }
  214. /// <summary>Returns the result of a componentwise addition operation on two int3 vectors.</summary>
  215. /// <param name="lhs">Left hand side int3 to use to compute componentwise addition.</param>
  216. /// <param name="rhs">Right hand side int3 to use to compute componentwise addition.</param>
  217. /// <returns>int3 result of the componentwise addition.</returns>
  218. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  219. public static int3 operator + (int3 lhs, int3 rhs) { return new int3 (lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z); }
  220. /// <summary>Returns the result of a componentwise addition operation on an int3 vector and an int value.</summary>
  221. /// <param name="lhs">Left hand side int3 to use to compute componentwise addition.</param>
  222. /// <param name="rhs">Right hand side int to use to compute componentwise addition.</param>
  223. /// <returns>int3 result of the componentwise addition.</returns>
  224. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  225. public static int3 operator + (int3 lhs, int rhs) { return new int3 (lhs.x + rhs, lhs.y + rhs, lhs.z + rhs); }
  226. /// <summary>Returns the result of a componentwise addition operation on an int value and an int3 vector.</summary>
  227. /// <param name="lhs">Left hand side int to use to compute componentwise addition.</param>
  228. /// <param name="rhs">Right hand side int3 to use to compute componentwise addition.</param>
  229. /// <returns>int3 result of the componentwise addition.</returns>
  230. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  231. public static int3 operator + (int lhs, int3 rhs) { return new int3 (lhs + rhs.x, lhs + rhs.y, lhs + rhs.z); }
  232. /// <summary>Returns the result of a componentwise subtraction operation on two int3 vectors.</summary>
  233. /// <param name="lhs">Left hand side int3 to use to compute componentwise subtraction.</param>
  234. /// <param name="rhs">Right hand side int3 to use to compute componentwise subtraction.</param>
  235. /// <returns>int3 result of the componentwise subtraction.</returns>
  236. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  237. public static int3 operator - (int3 lhs, int3 rhs) { return new int3 (lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z); }
  238. /// <summary>Returns the result of a componentwise subtraction operation on an int3 vector and an int value.</summary>
  239. /// <param name="lhs">Left hand side int3 to use to compute componentwise subtraction.</param>
  240. /// <param name="rhs">Right hand side int to use to compute componentwise subtraction.</param>
  241. /// <returns>int3 result of the componentwise subtraction.</returns>
  242. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  243. public static int3 operator - (int3 lhs, int rhs) { return new int3 (lhs.x - rhs, lhs.y - rhs, lhs.z - rhs); }
  244. /// <summary>Returns the result of a componentwise subtraction operation on an int value and an int3 vector.</summary>
  245. /// <param name="lhs">Left hand side int to use to compute componentwise subtraction.</param>
  246. /// <param name="rhs">Right hand side int3 to use to compute componentwise subtraction.</param>
  247. /// <returns>int3 result of the componentwise subtraction.</returns>
  248. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  249. public static int3 operator - (int lhs, int3 rhs) { return new int3 (lhs - rhs.x, lhs - rhs.y, lhs - rhs.z); }
  250. /// <summary>Returns the result of a componentwise division operation on two int3 vectors.</summary>
  251. /// <param name="lhs">Left hand side int3 to use to compute componentwise division.</param>
  252. /// <param name="rhs">Right hand side int3 to use to compute componentwise division.</param>
  253. /// <returns>int3 result of the componentwise division.</returns>
  254. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  255. public static int3 operator / (int3 lhs, int3 rhs) { return new int3 (lhs.x / rhs.x, lhs.y / rhs.y, lhs.z / rhs.z); }
  256. /// <summary>Returns the result of a componentwise division operation on an int3 vector and an int value.</summary>
  257. /// <param name="lhs">Left hand side int3 to use to compute componentwise division.</param>
  258. /// <param name="rhs">Right hand side int to use to compute componentwise division.</param>
  259. /// <returns>int3 result of the componentwise division.</returns>
  260. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  261. public static int3 operator / (int3 lhs, int rhs) { return new int3 (lhs.x / rhs, lhs.y / rhs, lhs.z / rhs); }
  262. /// <summary>Returns the result of a componentwise division operation on an int value and an int3 vector.</summary>
  263. /// <param name="lhs">Left hand side int to use to compute componentwise division.</param>
  264. /// <param name="rhs">Right hand side int3 to use to compute componentwise division.</param>
  265. /// <returns>int3 result of the componentwise division.</returns>
  266. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  267. public static int3 operator / (int lhs, int3 rhs) { return new int3 (lhs / rhs.x, lhs / rhs.y, lhs / rhs.z); }
  268. /// <summary>Returns the result of a componentwise modulus operation on two int3 vectors.</summary>
  269. /// <param name="lhs">Left hand side int3 to use to compute componentwise modulus.</param>
  270. /// <param name="rhs">Right hand side int3 to use to compute componentwise modulus.</param>
  271. /// <returns>int3 result of the componentwise modulus.</returns>
  272. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  273. public static int3 operator % (int3 lhs, int3 rhs) { return new int3 (lhs.x % rhs.x, lhs.y % rhs.y, lhs.z % rhs.z); }
  274. /// <summary>Returns the result of a componentwise modulus operation on an int3 vector and an int value.</summary>
  275. /// <param name="lhs">Left hand side int3 to use to compute componentwise modulus.</param>
  276. /// <param name="rhs">Right hand side int to use to compute componentwise modulus.</param>
  277. /// <returns>int3 result of the componentwise modulus.</returns>
  278. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  279. public static int3 operator % (int3 lhs, int rhs) { return new int3 (lhs.x % rhs, lhs.y % rhs, lhs.z % rhs); }
  280. /// <summary>Returns the result of a componentwise modulus operation on an int value and an int3 vector.</summary>
  281. /// <param name="lhs">Left hand side int to use to compute componentwise modulus.</param>
  282. /// <param name="rhs">Right hand side int3 to use to compute componentwise modulus.</param>
  283. /// <returns>int3 result of the componentwise modulus.</returns>
  284. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  285. public static int3 operator % (int lhs, int3 rhs) { return new int3 (lhs % rhs.x, lhs % rhs.y, lhs % rhs.z); }
  286. /// <summary>Returns the result of a componentwise increment operation on an int3 vector.</summary>
  287. /// <param name="val">Value to use when computing the componentwise increment.</param>
  288. /// <returns>int3 result of the componentwise increment.</returns>
  289. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  290. public static int3 operator ++ (int3 val) { return new int3 (++val.x, ++val.y, ++val.z); }
  291. /// <summary>Returns the result of a componentwise decrement operation on an int3 vector.</summary>
  292. /// <param name="val">Value to use when computing the componentwise decrement.</param>
  293. /// <returns>int3 result of the componentwise decrement.</returns>
  294. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  295. public static int3 operator -- (int3 val) { return new int3 (--val.x, --val.y, --val.z); }
  296. /// <summary>Returns the result of a componentwise less than operation on two int3 vectors.</summary>
  297. /// <param name="lhs">Left hand side int3 to use to compute componentwise less than.</param>
  298. /// <param name="rhs">Right hand side int3 to use to compute componentwise less than.</param>
  299. /// <returns>bool3 result of the componentwise less than.</returns>
  300. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  301. public static bool3 operator < (int3 lhs, int3 rhs) { return new bool3 (lhs.x < rhs.x, lhs.y < rhs.y, lhs.z < rhs.z); }
  302. /// <summary>Returns the result of a componentwise less than operation on an int3 vector and an int value.</summary>
  303. /// <param name="lhs">Left hand side int3 to use to compute componentwise less than.</param>
  304. /// <param name="rhs">Right hand side int to use to compute componentwise less than.</param>
  305. /// <returns>bool3 result of the componentwise less than.</returns>
  306. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  307. public static bool3 operator < (int3 lhs, int rhs) { return new bool3 (lhs.x < rhs, lhs.y < rhs, lhs.z < rhs); }
  308. /// <summary>Returns the result of a componentwise less than operation on an int value and an int3 vector.</summary>
  309. /// <param name="lhs">Left hand side int to use to compute componentwise less than.</param>
  310. /// <param name="rhs">Right hand side int3 to use to compute componentwise less than.</param>
  311. /// <returns>bool3 result of the componentwise less than.</returns>
  312. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  313. public static bool3 operator < (int lhs, int3 rhs) { return new bool3 (lhs < rhs.x, lhs < rhs.y, lhs < rhs.z); }
  314. /// <summary>Returns the result of a componentwise less or equal operation on two int3 vectors.</summary>
  315. /// <param name="lhs">Left hand side int3 to use to compute componentwise less or equal.</param>
  316. /// <param name="rhs">Right hand side int3 to use to compute componentwise less or equal.</param>
  317. /// <returns>bool3 result of the componentwise less or equal.</returns>
  318. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  319. public static bool3 operator <= (int3 lhs, int3 rhs) { return new bool3 (lhs.x <= rhs.x, lhs.y <= rhs.y, lhs.z <= rhs.z); }
  320. /// <summary>Returns the result of a componentwise less or equal operation on an int3 vector and an int value.</summary>
  321. /// <param name="lhs">Left hand side int3 to use to compute componentwise less or equal.</param>
  322. /// <param name="rhs">Right hand side int to use to compute componentwise less or equal.</param>
  323. /// <returns>bool3 result of the componentwise less or equal.</returns>
  324. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  325. public static bool3 operator <= (int3 lhs, int rhs) { return new bool3 (lhs.x <= rhs, lhs.y <= rhs, lhs.z <= rhs); }
  326. /// <summary>Returns the result of a componentwise less or equal operation on an int value and an int3 vector.</summary>
  327. /// <param name="lhs">Left hand side int to use to compute componentwise less or equal.</param>
  328. /// <param name="rhs">Right hand side int3 to use to compute componentwise less or equal.</param>
  329. /// <returns>bool3 result of the componentwise less or equal.</returns>
  330. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  331. public static bool3 operator <= (int lhs, int3 rhs) { return new bool3 (lhs <= rhs.x, lhs <= rhs.y, lhs <= rhs.z); }
  332. /// <summary>Returns the result of a componentwise greater than operation on two int3 vectors.</summary>
  333. /// <param name="lhs">Left hand side int3 to use to compute componentwise greater than.</param>
  334. /// <param name="rhs">Right hand side int3 to use to compute componentwise greater than.</param>
  335. /// <returns>bool3 result of the componentwise greater than.</returns>
  336. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  337. public static bool3 operator > (int3 lhs, int3 rhs) { return new bool3 (lhs.x > rhs.x, lhs.y > rhs.y, lhs.z > rhs.z); }
  338. /// <summary>Returns the result of a componentwise greater than operation on an int3 vector and an int value.</summary>
  339. /// <param name="lhs">Left hand side int3 to use to compute componentwise greater than.</param>
  340. /// <param name="rhs">Right hand side int to use to compute componentwise greater than.</param>
  341. /// <returns>bool3 result of the componentwise greater than.</returns>
  342. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  343. public static bool3 operator > (int3 lhs, int rhs) { return new bool3 (lhs.x > rhs, lhs.y > rhs, lhs.z > rhs); }
  344. /// <summary>Returns the result of a componentwise greater than operation on an int value and an int3 vector.</summary>
  345. /// <param name="lhs">Left hand side int to use to compute componentwise greater than.</param>
  346. /// <param name="rhs">Right hand side int3 to use to compute componentwise greater than.</param>
  347. /// <returns>bool3 result of the componentwise greater than.</returns>
  348. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  349. public static bool3 operator > (int lhs, int3 rhs) { return new bool3 (lhs > rhs.x, lhs > rhs.y, lhs > rhs.z); }
  350. /// <summary>Returns the result of a componentwise greater or equal operation on two int3 vectors.</summary>
  351. /// <param name="lhs">Left hand side int3 to use to compute componentwise greater or equal.</param>
  352. /// <param name="rhs">Right hand side int3 to use to compute componentwise greater or equal.</param>
  353. /// <returns>bool3 result of the componentwise greater or equal.</returns>
  354. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  355. public static bool3 operator >= (int3 lhs, int3 rhs) { return new bool3 (lhs.x >= rhs.x, lhs.y >= rhs.y, lhs.z >= rhs.z); }
  356. /// <summary>Returns the result of a componentwise greater or equal operation on an int3 vector and an int value.</summary>
  357. /// <param name="lhs">Left hand side int3 to use to compute componentwise greater or equal.</param>
  358. /// <param name="rhs">Right hand side int to use to compute componentwise greater or equal.</param>
  359. /// <returns>bool3 result of the componentwise greater or equal.</returns>
  360. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  361. public static bool3 operator >= (int3 lhs, int rhs) { return new bool3 (lhs.x >= rhs, lhs.y >= rhs, lhs.z >= rhs); }
  362. /// <summary>Returns the result of a componentwise greater or equal operation on an int value and an int3 vector.</summary>
  363. /// <param name="lhs">Left hand side int to use to compute componentwise greater or equal.</param>
  364. /// <param name="rhs">Right hand side int3 to use to compute componentwise greater or equal.</param>
  365. /// <returns>bool3 result of the componentwise greater or equal.</returns>
  366. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  367. public static bool3 operator >= (int lhs, int3 rhs) { return new bool3 (lhs >= rhs.x, lhs >= rhs.y, lhs >= rhs.z); }
  368. /// <summary>Returns the result of a componentwise unary minus operation on an int3 vector.</summary>
  369. /// <param name="val">Value to use when computing the componentwise unary minus.</param>
  370. /// <returns>int3 result of the componentwise unary minus.</returns>
  371. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  372. public static int3 operator - (int3 val) { return new int3 (-val.x, -val.y, -val.z); }
  373. /// <summary>Returns the result of a componentwise unary plus operation on an int3 vector.</summary>
  374. /// <param name="val">Value to use when computing the componentwise unary plus.</param>
  375. /// <returns>int3 result of the componentwise unary plus.</returns>
  376. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  377. public static int3 operator + (int3 val) { return new int3 (+val.x, +val.y, +val.z); }
  378. /// <summary>Returns the result of a componentwise left shift operation on an int3 vector by a number of bits specified by a single int.</summary>
  379. /// <param name="x">The vector to left shift.</param>
  380. /// <param name="n">The number of bits to left shift.</param>
  381. /// <returns>The result of the componentwise left shift.</returns>
  382. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  383. public static int3 operator << (int3 x, int n) { return new int3 (x.x << n, x.y << n, x.z << n); }
  384. /// <summary>Returns the result of a componentwise right shift operation on an int3 vector by a number of bits specified by a single int.</summary>
  385. /// <param name="x">The vector to right shift.</param>
  386. /// <param name="n">The number of bits to right shift.</param>
  387. /// <returns>The result of the componentwise right shift.</returns>
  388. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  389. public static int3 operator >> (int3 x, int n) { return new int3 (x.x >> n, x.y >> n, x.z >> n); }
  390. /// <summary>Returns the result of a componentwise equality operation on two int3 vectors.</summary>
  391. /// <param name="lhs">Left hand side int3 to use to compute componentwise equality.</param>
  392. /// <param name="rhs">Right hand side int3 to use to compute componentwise equality.</param>
  393. /// <returns>bool3 result of the componentwise equality.</returns>
  394. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  395. public static bool3 operator == (int3 lhs, int3 rhs) { return new bool3 (lhs.x == rhs.x, lhs.y == rhs.y, lhs.z == rhs.z); }
  396. /// <summary>Returns the result of a componentwise equality operation on an int3 vector and an int value.</summary>
  397. /// <param name="lhs">Left hand side int3 to use to compute componentwise equality.</param>
  398. /// <param name="rhs">Right hand side int to use to compute componentwise equality.</param>
  399. /// <returns>bool3 result of the componentwise equality.</returns>
  400. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  401. public static bool3 operator == (int3 lhs, int rhs) { return new bool3 (lhs.x == rhs, lhs.y == rhs, lhs.z == rhs); }
  402. /// <summary>Returns the result of a componentwise equality operation on an int value and an int3 vector.</summary>
  403. /// <param name="lhs">Left hand side int to use to compute componentwise equality.</param>
  404. /// <param name="rhs">Right hand side int3 to use to compute componentwise equality.</param>
  405. /// <returns>bool3 result of the componentwise equality.</returns>
  406. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  407. public static bool3 operator == (int lhs, int3 rhs) { return new bool3 (lhs == rhs.x, lhs == rhs.y, lhs == rhs.z); }
  408. /// <summary>Returns the result of a componentwise not equal operation on two int3 vectors.</summary>
  409. /// <param name="lhs">Left hand side int3 to use to compute componentwise not equal.</param>
  410. /// <param name="rhs">Right hand side int3 to use to compute componentwise not equal.</param>
  411. /// <returns>bool3 result of the componentwise not equal.</returns>
  412. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  413. public static bool3 operator != (int3 lhs, int3 rhs) { return new bool3 (lhs.x != rhs.x, lhs.y != rhs.y, lhs.z != rhs.z); }
  414. /// <summary>Returns the result of a componentwise not equal operation on an int3 vector and an int value.</summary>
  415. /// <param name="lhs">Left hand side int3 to use to compute componentwise not equal.</param>
  416. /// <param name="rhs">Right hand side int to use to compute componentwise not equal.</param>
  417. /// <returns>bool3 result of the componentwise not equal.</returns>
  418. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  419. public static bool3 operator != (int3 lhs, int rhs) { return new bool3 (lhs.x != rhs, lhs.y != rhs, lhs.z != rhs); }
  420. /// <summary>Returns the result of a componentwise not equal operation on an int value and an int3 vector.</summary>
  421. /// <param name="lhs">Left hand side int to use to compute componentwise not equal.</param>
  422. /// <param name="rhs">Right hand side int3 to use to compute componentwise not equal.</param>
  423. /// <returns>bool3 result of the componentwise not equal.</returns>
  424. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  425. public static bool3 operator != (int lhs, int3 rhs) { return new bool3 (lhs != rhs.x, lhs != rhs.y, lhs != rhs.z); }
  426. /// <summary>Returns the result of a componentwise bitwise not operation on an int3 vector.</summary>
  427. /// <param name="val">Value to use when computing the componentwise bitwise not.</param>
  428. /// <returns>int3 result of the componentwise bitwise not.</returns>
  429. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  430. public static int3 operator ~ (int3 val) { return new int3 (~val.x, ~val.y, ~val.z); }
  431. /// <summary>Returns the result of a componentwise bitwise and operation on two int3 vectors.</summary>
  432. /// <param name="lhs">Left hand side int3 to use to compute componentwise bitwise and.</param>
  433. /// <param name="rhs">Right hand side int3 to use to compute componentwise bitwise and.</param>
  434. /// <returns>int3 result of the componentwise bitwise and.</returns>
  435. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  436. public static int3 operator & (int3 lhs, int3 rhs) { return new int3 (lhs.x & rhs.x, lhs.y & rhs.y, lhs.z & rhs.z); }
  437. /// <summary>Returns the result of a componentwise bitwise and operation on an int3 vector and an int value.</summary>
  438. /// <param name="lhs">Left hand side int3 to use to compute componentwise bitwise and.</param>
  439. /// <param name="rhs">Right hand side int to use to compute componentwise bitwise and.</param>
  440. /// <returns>int3 result of the componentwise bitwise and.</returns>
  441. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  442. public static int3 operator & (int3 lhs, int rhs) { return new int3 (lhs.x & rhs, lhs.y & rhs, lhs.z & rhs); }
  443. /// <summary>Returns the result of a componentwise bitwise and operation on an int value and an int3 vector.</summary>
  444. /// <param name="lhs">Left hand side int to use to compute componentwise bitwise and.</param>
  445. /// <param name="rhs">Right hand side int3 to use to compute componentwise bitwise and.</param>
  446. /// <returns>int3 result of the componentwise bitwise and.</returns>
  447. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  448. public static int3 operator & (int lhs, int3 rhs) { return new int3 (lhs & rhs.x, lhs & rhs.y, lhs & rhs.z); }
  449. /// <summary>Returns the result of a componentwise bitwise or operation on two int3 vectors.</summary>
  450. /// <param name="lhs">Left hand side int3 to use to compute componentwise bitwise or.</param>
  451. /// <param name="rhs">Right hand side int3 to use to compute componentwise bitwise or.</param>
  452. /// <returns>int3 result of the componentwise bitwise or.</returns>
  453. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  454. public static int3 operator | (int3 lhs, int3 rhs) { return new int3 (lhs.x | rhs.x, lhs.y | rhs.y, lhs.z | rhs.z); }
  455. /// <summary>Returns the result of a componentwise bitwise or operation on an int3 vector and an int value.</summary>
  456. /// <param name="lhs">Left hand side int3 to use to compute componentwise bitwise or.</param>
  457. /// <param name="rhs">Right hand side int to use to compute componentwise bitwise or.</param>
  458. /// <returns>int3 result of the componentwise bitwise or.</returns>
  459. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  460. public static int3 operator | (int3 lhs, int rhs) { return new int3 (lhs.x | rhs, lhs.y | rhs, lhs.z | rhs); }
  461. /// <summary>Returns the result of a componentwise bitwise or operation on an int value and an int3 vector.</summary>
  462. /// <param name="lhs">Left hand side int to use to compute componentwise bitwise or.</param>
  463. /// <param name="rhs">Right hand side int3 to use to compute componentwise bitwise or.</param>
  464. /// <returns>int3 result of the componentwise bitwise or.</returns>
  465. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  466. public static int3 operator | (int lhs, int3 rhs) { return new int3 (lhs | rhs.x, lhs | rhs.y, lhs | rhs.z); }
  467. /// <summary>Returns the result of a componentwise bitwise exclusive or operation on two int3 vectors.</summary>
  468. /// <param name="lhs">Left hand side int3 to use to compute componentwise bitwise exclusive or.</param>
  469. /// <param name="rhs">Right hand side int3 to use to compute componentwise bitwise exclusive or.</param>
  470. /// <returns>int3 result of the componentwise bitwise exclusive or.</returns>
  471. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  472. public static int3 operator ^ (int3 lhs, int3 rhs) { return new int3 (lhs.x ^ rhs.x, lhs.y ^ rhs.y, lhs.z ^ rhs.z); }
  473. /// <summary>Returns the result of a componentwise bitwise exclusive or operation on an int3 vector and an int value.</summary>
  474. /// <param name="lhs">Left hand side int3 to use to compute componentwise bitwise exclusive or.</param>
  475. /// <param name="rhs">Right hand side int to use to compute componentwise bitwise exclusive or.</param>
  476. /// <returns>int3 result of the componentwise bitwise exclusive or.</returns>
  477. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  478. public static int3 operator ^ (int3 lhs, int rhs) { return new int3 (lhs.x ^ rhs, lhs.y ^ rhs, lhs.z ^ rhs); }
  479. /// <summary>Returns the result of a componentwise bitwise exclusive or operation on an int value and an int3 vector.</summary>
  480. /// <param name="lhs">Left hand side int to use to compute componentwise bitwise exclusive or.</param>
  481. /// <param name="rhs">Right hand side int3 to use to compute componentwise bitwise exclusive or.</param>
  482. /// <returns>int3 result of the componentwise bitwise exclusive or.</returns>
  483. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  484. public static int3 operator ^ (int lhs, int3 rhs) { return new int3 (lhs ^ rhs.x, lhs ^ rhs.y, lhs ^ rhs.z); }
  485. /// <summary>Swizzles the vector.</summary>
  486. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  487. public int4 xxxx
  488. {
  489. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  490. get { return new int4(x, x, x, x); }
  491. }
  492. /// <summary>Swizzles the vector.</summary>
  493. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  494. public int4 xxxy
  495. {
  496. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  497. get { return new int4(x, x, x, y); }
  498. }
  499. /// <summary>Swizzles the vector.</summary>
  500. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  501. public int4 xxxz
  502. {
  503. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  504. get { return new int4(x, x, x, z); }
  505. }
  506. /// <summary>Swizzles the vector.</summary>
  507. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  508. public int4 xxyx
  509. {
  510. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  511. get { return new int4(x, x, y, x); }
  512. }
  513. /// <summary>Swizzles the vector.</summary>
  514. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  515. public int4 xxyy
  516. {
  517. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  518. get { return new int4(x, x, y, y); }
  519. }
  520. /// <summary>Swizzles the vector.</summary>
  521. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  522. public int4 xxyz
  523. {
  524. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  525. get { return new int4(x, x, y, z); }
  526. }
  527. /// <summary>Swizzles the vector.</summary>
  528. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  529. public int4 xxzx
  530. {
  531. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  532. get { return new int4(x, x, z, x); }
  533. }
  534. /// <summary>Swizzles the vector.</summary>
  535. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  536. public int4 xxzy
  537. {
  538. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  539. get { return new int4(x, x, z, y); }
  540. }
  541. /// <summary>Swizzles the vector.</summary>
  542. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  543. public int4 xxzz
  544. {
  545. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  546. get { return new int4(x, x, z, z); }
  547. }
  548. /// <summary>Swizzles the vector.</summary>
  549. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  550. public int4 xyxx
  551. {
  552. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  553. get { return new int4(x, y, x, x); }
  554. }
  555. /// <summary>Swizzles the vector.</summary>
  556. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  557. public int4 xyxy
  558. {
  559. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  560. get { return new int4(x, y, x, y); }
  561. }
  562. /// <summary>Swizzles the vector.</summary>
  563. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  564. public int4 xyxz
  565. {
  566. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  567. get { return new int4(x, y, x, z); }
  568. }
  569. /// <summary>Swizzles the vector.</summary>
  570. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  571. public int4 xyyx
  572. {
  573. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  574. get { return new int4(x, y, y, x); }
  575. }
  576. /// <summary>Swizzles the vector.</summary>
  577. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  578. public int4 xyyy
  579. {
  580. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  581. get { return new int4(x, y, y, y); }
  582. }
  583. /// <summary>Swizzles the vector.</summary>
  584. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  585. public int4 xyyz
  586. {
  587. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  588. get { return new int4(x, y, y, z); }
  589. }
  590. /// <summary>Swizzles the vector.</summary>
  591. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  592. public int4 xyzx
  593. {
  594. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  595. get { return new int4(x, y, z, x); }
  596. }
  597. /// <summary>Swizzles the vector.</summary>
  598. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  599. public int4 xyzy
  600. {
  601. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  602. get { return new int4(x, y, z, y); }
  603. }
  604. /// <summary>Swizzles the vector.</summary>
  605. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  606. public int4 xyzz
  607. {
  608. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  609. get { return new int4(x, y, z, z); }
  610. }
  611. /// <summary>Swizzles the vector.</summary>
  612. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  613. public int4 xzxx
  614. {
  615. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  616. get { return new int4(x, z, x, x); }
  617. }
  618. /// <summary>Swizzles the vector.</summary>
  619. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  620. public int4 xzxy
  621. {
  622. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  623. get { return new int4(x, z, x, y); }
  624. }
  625. /// <summary>Swizzles the vector.</summary>
  626. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  627. public int4 xzxz
  628. {
  629. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  630. get { return new int4(x, z, x, z); }
  631. }
  632. /// <summary>Swizzles the vector.</summary>
  633. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  634. public int4 xzyx
  635. {
  636. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  637. get { return new int4(x, z, y, x); }
  638. }
  639. /// <summary>Swizzles the vector.</summary>
  640. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  641. public int4 xzyy
  642. {
  643. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  644. get { return new int4(x, z, y, y); }
  645. }
  646. /// <summary>Swizzles the vector.</summary>
  647. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  648. public int4 xzyz
  649. {
  650. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  651. get { return new int4(x, z, y, z); }
  652. }
  653. /// <summary>Swizzles the vector.</summary>
  654. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  655. public int4 xzzx
  656. {
  657. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  658. get { return new int4(x, z, z, x); }
  659. }
  660. /// <summary>Swizzles the vector.</summary>
  661. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  662. public int4 xzzy
  663. {
  664. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  665. get { return new int4(x, z, z, y); }
  666. }
  667. /// <summary>Swizzles the vector.</summary>
  668. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  669. public int4 xzzz
  670. {
  671. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  672. get { return new int4(x, z, z, z); }
  673. }
  674. /// <summary>Swizzles the vector.</summary>
  675. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  676. public int4 yxxx
  677. {
  678. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  679. get { return new int4(y, x, x, x); }
  680. }
  681. /// <summary>Swizzles the vector.</summary>
  682. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  683. public int4 yxxy
  684. {
  685. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  686. get { return new int4(y, x, x, y); }
  687. }
  688. /// <summary>Swizzles the vector.</summary>
  689. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  690. public int4 yxxz
  691. {
  692. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  693. get { return new int4(y, x, x, z); }
  694. }
  695. /// <summary>Swizzles the vector.</summary>
  696. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  697. public int4 yxyx
  698. {
  699. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  700. get { return new int4(y, x, y, x); }
  701. }
  702. /// <summary>Swizzles the vector.</summary>
  703. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  704. public int4 yxyy
  705. {
  706. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  707. get { return new int4(y, x, y, y); }
  708. }
  709. /// <summary>Swizzles the vector.</summary>
  710. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  711. public int4 yxyz
  712. {
  713. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  714. get { return new int4(y, x, y, z); }
  715. }
  716. /// <summary>Swizzles the vector.</summary>
  717. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  718. public int4 yxzx
  719. {
  720. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  721. get { return new int4(y, x, z, x); }
  722. }
  723. /// <summary>Swizzles the vector.</summary>
  724. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  725. public int4 yxzy
  726. {
  727. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  728. get { return new int4(y, x, z, y); }
  729. }
  730. /// <summary>Swizzles the vector.</summary>
  731. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  732. public int4 yxzz
  733. {
  734. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  735. get { return new int4(y, x, z, z); }
  736. }
  737. /// <summary>Swizzles the vector.</summary>
  738. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  739. public int4 yyxx
  740. {
  741. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  742. get { return new int4(y, y, x, x); }
  743. }
  744. /// <summary>Swizzles the vector.</summary>
  745. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  746. public int4 yyxy
  747. {
  748. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  749. get { return new int4(y, y, x, y); }
  750. }
  751. /// <summary>Swizzles the vector.</summary>
  752. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  753. public int4 yyxz
  754. {
  755. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  756. get { return new int4(y, y, x, z); }
  757. }
  758. /// <summary>Swizzles the vector.</summary>
  759. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  760. public int4 yyyx
  761. {
  762. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  763. get { return new int4(y, y, y, x); }
  764. }
  765. /// <summary>Swizzles the vector.</summary>
  766. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  767. public int4 yyyy
  768. {
  769. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  770. get { return new int4(y, y, y, y); }
  771. }
  772. /// <summary>Swizzles the vector.</summary>
  773. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  774. public int4 yyyz
  775. {
  776. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  777. get { return new int4(y, y, y, z); }
  778. }
  779. /// <summary>Swizzles the vector.</summary>
  780. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  781. public int4 yyzx
  782. {
  783. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  784. get { return new int4(y, y, z, x); }
  785. }
  786. /// <summary>Swizzles the vector.</summary>
  787. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  788. public int4 yyzy
  789. {
  790. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  791. get { return new int4(y, y, z, y); }
  792. }
  793. /// <summary>Swizzles the vector.</summary>
  794. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  795. public int4 yyzz
  796. {
  797. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  798. get { return new int4(y, y, z, z); }
  799. }
  800. /// <summary>Swizzles the vector.</summary>
  801. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  802. public int4 yzxx
  803. {
  804. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  805. get { return new int4(y, z, x, x); }
  806. }
  807. /// <summary>Swizzles the vector.</summary>
  808. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  809. public int4 yzxy
  810. {
  811. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  812. get { return new int4(y, z, x, y); }
  813. }
  814. /// <summary>Swizzles the vector.</summary>
  815. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  816. public int4 yzxz
  817. {
  818. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  819. get { return new int4(y, z, x, z); }
  820. }
  821. /// <summary>Swizzles the vector.</summary>
  822. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  823. public int4 yzyx
  824. {
  825. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  826. get { return new int4(y, z, y, x); }
  827. }
  828. /// <summary>Swizzles the vector.</summary>
  829. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  830. public int4 yzyy
  831. {
  832. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  833. get { return new int4(y, z, y, y); }
  834. }
  835. /// <summary>Swizzles the vector.</summary>
  836. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  837. public int4 yzyz
  838. {
  839. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  840. get { return new int4(y, z, y, z); }
  841. }
  842. /// <summary>Swizzles the vector.</summary>
  843. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  844. public int4 yzzx
  845. {
  846. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  847. get { return new int4(y, z, z, x); }
  848. }
  849. /// <summary>Swizzles the vector.</summary>
  850. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  851. public int4 yzzy
  852. {
  853. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  854. get { return new int4(y, z, z, y); }
  855. }
  856. /// <summary>Swizzles the vector.</summary>
  857. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  858. public int4 yzzz
  859. {
  860. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  861. get { return new int4(y, z, z, z); }
  862. }
  863. /// <summary>Swizzles the vector.</summary>
  864. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  865. public int4 zxxx
  866. {
  867. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  868. get { return new int4(z, x, x, x); }
  869. }
  870. /// <summary>Swizzles the vector.</summary>
  871. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  872. public int4 zxxy
  873. {
  874. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  875. get { return new int4(z, x, x, y); }
  876. }
  877. /// <summary>Swizzles the vector.</summary>
  878. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  879. public int4 zxxz
  880. {
  881. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  882. get { return new int4(z, x, x, z); }
  883. }
  884. /// <summary>Swizzles the vector.</summary>
  885. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  886. public int4 zxyx
  887. {
  888. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  889. get { return new int4(z, x, y, x); }
  890. }
  891. /// <summary>Swizzles the vector.</summary>
  892. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  893. public int4 zxyy
  894. {
  895. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  896. get { return new int4(z, x, y, y); }
  897. }
  898. /// <summary>Swizzles the vector.</summary>
  899. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  900. public int4 zxyz
  901. {
  902. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  903. get { return new int4(z, x, y, z); }
  904. }
  905. /// <summary>Swizzles the vector.</summary>
  906. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  907. public int4 zxzx
  908. {
  909. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  910. get { return new int4(z, x, z, x); }
  911. }
  912. /// <summary>Swizzles the vector.</summary>
  913. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  914. public int4 zxzy
  915. {
  916. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  917. get { return new int4(z, x, z, y); }
  918. }
  919. /// <summary>Swizzles the vector.</summary>
  920. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  921. public int4 zxzz
  922. {
  923. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  924. get { return new int4(z, x, z, z); }
  925. }
  926. /// <summary>Swizzles the vector.</summary>
  927. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  928. public int4 zyxx
  929. {
  930. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  931. get { return new int4(z, y, x, x); }
  932. }
  933. /// <summary>Swizzles the vector.</summary>
  934. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  935. public int4 zyxy
  936. {
  937. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  938. get { return new int4(z, y, x, y); }
  939. }
  940. /// <summary>Swizzles the vector.</summary>
  941. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  942. public int4 zyxz
  943. {
  944. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  945. get { return new int4(z, y, x, z); }
  946. }
  947. /// <summary>Swizzles the vector.</summary>
  948. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  949. public int4 zyyx
  950. {
  951. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  952. get { return new int4(z, y, y, x); }
  953. }
  954. /// <summary>Swizzles the vector.</summary>
  955. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  956. public int4 zyyy
  957. {
  958. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  959. get { return new int4(z, y, y, y); }
  960. }
  961. /// <summary>Swizzles the vector.</summary>
  962. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  963. public int4 zyyz
  964. {
  965. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  966. get { return new int4(z, y, y, z); }
  967. }
  968. /// <summary>Swizzles the vector.</summary>
  969. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  970. public int4 zyzx
  971. {
  972. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  973. get { return new int4(z, y, z, x); }
  974. }
  975. /// <summary>Swizzles the vector.</summary>
  976. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  977. public int4 zyzy
  978. {
  979. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  980. get { return new int4(z, y, z, y); }
  981. }
  982. /// <summary>Swizzles the vector.</summary>
  983. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  984. public int4 zyzz
  985. {
  986. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  987. get { return new int4(z, y, z, z); }
  988. }
  989. /// <summary>Swizzles the vector.</summary>
  990. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  991. public int4 zzxx
  992. {
  993. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  994. get { return new int4(z, z, x, x); }
  995. }
  996. /// <summary>Swizzles the vector.</summary>
  997. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  998. public int4 zzxy
  999. {
  1000. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1001. get { return new int4(z, z, x, y); }
  1002. }
  1003. /// <summary>Swizzles the vector.</summary>
  1004. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1005. public int4 zzxz
  1006. {
  1007. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1008. get { return new int4(z, z, x, z); }
  1009. }
  1010. /// <summary>Swizzles the vector.</summary>
  1011. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1012. public int4 zzyx
  1013. {
  1014. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1015. get { return new int4(z, z, y, x); }
  1016. }
  1017. /// <summary>Swizzles the vector.</summary>
  1018. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1019. public int4 zzyy
  1020. {
  1021. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1022. get { return new int4(z, z, y, y); }
  1023. }
  1024. /// <summary>Swizzles the vector.</summary>
  1025. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1026. public int4 zzyz
  1027. {
  1028. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1029. get { return new int4(z, z, y, z); }
  1030. }
  1031. /// <summary>Swizzles the vector.</summary>
  1032. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1033. public int4 zzzx
  1034. {
  1035. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1036. get { return new int4(z, z, z, x); }
  1037. }
  1038. /// <summary>Swizzles the vector.</summary>
  1039. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1040. public int4 zzzy
  1041. {
  1042. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1043. get { return new int4(z, z, z, y); }
  1044. }
  1045. /// <summary>Swizzles the vector.</summary>
  1046. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1047. public int4 zzzz
  1048. {
  1049. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1050. get { return new int4(z, z, z, z); }
  1051. }
  1052. /// <summary>Swizzles the vector.</summary>
  1053. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1054. public int3 xxx
  1055. {
  1056. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1057. get { return new int3(x, x, x); }
  1058. }
  1059. /// <summary>Swizzles the vector.</summary>
  1060. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1061. public int3 xxy
  1062. {
  1063. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1064. get { return new int3(x, x, y); }
  1065. }
  1066. /// <summary>Swizzles the vector.</summary>
  1067. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1068. public int3 xxz
  1069. {
  1070. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1071. get { return new int3(x, x, z); }
  1072. }
  1073. /// <summary>Swizzles the vector.</summary>
  1074. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1075. public int3 xyx
  1076. {
  1077. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1078. get { return new int3(x, y, x); }
  1079. }
  1080. /// <summary>Swizzles the vector.</summary>
  1081. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1082. public int3 xyy
  1083. {
  1084. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1085. get { return new int3(x, y, y); }
  1086. }
  1087. /// <summary>Swizzles the vector.</summary>
  1088. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1089. public int3 xyz
  1090. {
  1091. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1092. get { return new int3(x, y, z); }
  1093. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1094. set { x = value.x; y = value.y; z = value.z; }
  1095. }
  1096. /// <summary>Swizzles the vector.</summary>
  1097. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1098. public int3 xzx
  1099. {
  1100. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1101. get { return new int3(x, z, x); }
  1102. }
  1103. /// <summary>Swizzles the vector.</summary>
  1104. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1105. public int3 xzy
  1106. {
  1107. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1108. get { return new int3(x, z, y); }
  1109. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1110. set { x = value.x; z = value.y; y = value.z; }
  1111. }
  1112. /// <summary>Swizzles the vector.</summary>
  1113. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1114. public int3 xzz
  1115. {
  1116. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1117. get { return new int3(x, z, z); }
  1118. }
  1119. /// <summary>Swizzles the vector.</summary>
  1120. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1121. public int3 yxx
  1122. {
  1123. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1124. get { return new int3(y, x, x); }
  1125. }
  1126. /// <summary>Swizzles the vector.</summary>
  1127. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1128. public int3 yxy
  1129. {
  1130. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1131. get { return new int3(y, x, y); }
  1132. }
  1133. /// <summary>Swizzles the vector.</summary>
  1134. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1135. public int3 yxz
  1136. {
  1137. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1138. get { return new int3(y, x, z); }
  1139. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1140. set { y = value.x; x = value.y; z = value.z; }
  1141. }
  1142. /// <summary>Swizzles the vector.</summary>
  1143. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1144. public int3 yyx
  1145. {
  1146. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1147. get { return new int3(y, y, x); }
  1148. }
  1149. /// <summary>Swizzles the vector.</summary>
  1150. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1151. public int3 yyy
  1152. {
  1153. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1154. get { return new int3(y, y, y); }
  1155. }
  1156. /// <summary>Swizzles the vector.</summary>
  1157. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1158. public int3 yyz
  1159. {
  1160. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1161. get { return new int3(y, y, z); }
  1162. }
  1163. /// <summary>Swizzles the vector.</summary>
  1164. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1165. public int3 yzx
  1166. {
  1167. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1168. get { return new int3(y, z, x); }
  1169. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1170. set { y = value.x; z = value.y; x = value.z; }
  1171. }
  1172. /// <summary>Swizzles the vector.</summary>
  1173. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1174. public int3 yzy
  1175. {
  1176. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1177. get { return new int3(y, z, y); }
  1178. }
  1179. /// <summary>Swizzles the vector.</summary>
  1180. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1181. public int3 yzz
  1182. {
  1183. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1184. get { return new int3(y, z, z); }
  1185. }
  1186. /// <summary>Swizzles the vector.</summary>
  1187. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1188. public int3 zxx
  1189. {
  1190. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1191. get { return new int3(z, x, x); }
  1192. }
  1193. /// <summary>Swizzles the vector.</summary>
  1194. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1195. public int3 zxy
  1196. {
  1197. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1198. get { return new int3(z, x, y); }
  1199. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1200. set { z = value.x; x = value.y; y = value.z; }
  1201. }
  1202. /// <summary>Swizzles the vector.</summary>
  1203. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1204. public int3 zxz
  1205. {
  1206. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1207. get { return new int3(z, x, z); }
  1208. }
  1209. /// <summary>Swizzles the vector.</summary>
  1210. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1211. public int3 zyx
  1212. {
  1213. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1214. get { return new int3(z, y, x); }
  1215. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1216. set { z = value.x; y = value.y; x = value.z; }
  1217. }
  1218. /// <summary>Swizzles the vector.</summary>
  1219. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1220. public int3 zyy
  1221. {
  1222. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1223. get { return new int3(z, y, y); }
  1224. }
  1225. /// <summary>Swizzles the vector.</summary>
  1226. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1227. public int3 zyz
  1228. {
  1229. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1230. get { return new int3(z, y, z); }
  1231. }
  1232. /// <summary>Swizzles the vector.</summary>
  1233. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1234. public int3 zzx
  1235. {
  1236. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1237. get { return new int3(z, z, x); }
  1238. }
  1239. /// <summary>Swizzles the vector.</summary>
  1240. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1241. public int3 zzy
  1242. {
  1243. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1244. get { return new int3(z, z, y); }
  1245. }
  1246. /// <summary>Swizzles the vector.</summary>
  1247. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1248. public int3 zzz
  1249. {
  1250. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1251. get { return new int3(z, z, z); }
  1252. }
  1253. /// <summary>Swizzles the vector.</summary>
  1254. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1255. public int2 xx
  1256. {
  1257. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1258. get { return new int2(x, x); }
  1259. }
  1260. /// <summary>Swizzles the vector.</summary>
  1261. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1262. public int2 xy
  1263. {
  1264. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1265. get { return new int2(x, y); }
  1266. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1267. set { x = value.x; y = value.y; }
  1268. }
  1269. /// <summary>Swizzles the vector.</summary>
  1270. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1271. public int2 xz
  1272. {
  1273. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1274. get { return new int2(x, z); }
  1275. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1276. set { x = value.x; z = value.y; }
  1277. }
  1278. /// <summary>Swizzles the vector.</summary>
  1279. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1280. public int2 yx
  1281. {
  1282. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1283. get { return new int2(y, x); }
  1284. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1285. set { y = value.x; x = value.y; }
  1286. }
  1287. /// <summary>Swizzles the vector.</summary>
  1288. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1289. public int2 yy
  1290. {
  1291. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1292. get { return new int2(y, y); }
  1293. }
  1294. /// <summary>Swizzles the vector.</summary>
  1295. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1296. public int2 yz
  1297. {
  1298. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1299. get { return new int2(y, z); }
  1300. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1301. set { y = value.x; z = value.y; }
  1302. }
  1303. /// <summary>Swizzles the vector.</summary>
  1304. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1305. public int2 zx
  1306. {
  1307. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1308. get { return new int2(z, x); }
  1309. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1310. set { z = value.x; x = value.y; }
  1311. }
  1312. /// <summary>Swizzles the vector.</summary>
  1313. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1314. public int2 zy
  1315. {
  1316. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1317. get { return new int2(z, y); }
  1318. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1319. set { z = value.x; y = value.y; }
  1320. }
  1321. /// <summary>Swizzles the vector.</summary>
  1322. [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  1323. public int2 zz
  1324. {
  1325. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1326. get { return new int2(z, z); }
  1327. }
  1328. /// <summary>Returns the int element at a specified index.</summary>
  1329. unsafe public int this[int index]
  1330. {
  1331. get
  1332. {
  1333. #if ENABLE_UNITY_COLLECTIONS_CHECKS
  1334. if ((uint)index >= 3)
  1335. throw new System.ArgumentException("index must be between[0...2]");
  1336. #endif
  1337. fixed (int3* array = &this) { return ((int*)array)[index]; }
  1338. }
  1339. set
  1340. {
  1341. #if ENABLE_UNITY_COLLECTIONS_CHECKS
  1342. if ((uint)index >= 3)
  1343. throw new System.ArgumentException("index must be between[0...2]");
  1344. #endif
  1345. fixed (int* array = &x) { array[index] = value; }
  1346. }
  1347. }
  1348. /// <summary>Returns true if the int3 is equal to a given int3, false otherwise.</summary>
  1349. /// <param name="rhs">Right hand side argument to compare equality with.</param>
  1350. /// <returns>The result of the equality comparison.</returns>
  1351. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1352. public bool Equals(int3 rhs) { return x == rhs.x && y == rhs.y && z == rhs.z; }
  1353. /// <summary>Returns true if the int3 is equal to a given int3, false otherwise.</summary>
  1354. /// <param name="o">Right hand side argument to compare equality with.</param>
  1355. /// <returns>The result of the equality comparison.</returns>
  1356. public override bool Equals(object o) { return o is int3 converted && Equals(converted); }
  1357. /// <summary>Returns a hash code for the int3.</summary>
  1358. /// <returns>The computed hash code.</returns>
  1359. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1360. public override int GetHashCode() { return (int)math.hash(this); }
  1361. /// <summary>Returns a string representation of the int3.</summary>
  1362. /// <returns>String representation of the value.</returns>
  1363. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1364. public override string ToString()
  1365. {
  1366. return string.Format("int3({0}, {1}, {2})", x, y, z);
  1367. }
  1368. /// <summary>Returns a string representation of the int3 using a specified format and culture-specific format information.</summary>
  1369. /// <param name="format">Format string to use during string formatting.</param>
  1370. /// <param name="formatProvider">Format provider to use during string formatting.</param>
  1371. /// <returns>String representation of the value.</returns>
  1372. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1373. public string ToString(string format, IFormatProvider formatProvider)
  1374. {
  1375. return string.Format("int3({0}, {1}, {2})", x.ToString(format, formatProvider), y.ToString(format, formatProvider), z.ToString(format, formatProvider));
  1376. }
  1377. internal sealed class DebuggerProxy
  1378. {
  1379. public int x;
  1380. public int y;
  1381. public int z;
  1382. public DebuggerProxy(int3 v)
  1383. {
  1384. x = v.x;
  1385. y = v.y;
  1386. z = v.z;
  1387. }
  1388. }
  1389. }
  1390. public static partial class math
  1391. {
  1392. /// <summary>Returns a int3 vector constructed from three int values.</summary>
  1393. /// <param name="x">The constructed vector's x component will be set to this value.</param>
  1394. /// <param name="y">The constructed vector's y component will be set to this value.</param>
  1395. /// <param name="z">The constructed vector's z component will be set to this value.</param>
  1396. /// <returns>int3 constructed from arguments.</returns>
  1397. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1398. public static int3 int3(int x, int y, int z) { return new int3(x, y, z); }
  1399. /// <summary>Returns a int3 vector constructed from an int value and an int2 vector.</summary>
  1400. /// <param name="x">The constructed vector's x component will be set to this value.</param>
  1401. /// <param name="yz">The constructed vector's yz components will be set to this value.</param>
  1402. /// <returns>int3 constructed from arguments.</returns>
  1403. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1404. public static int3 int3(int x, int2 yz) { return new int3(x, yz); }
  1405. /// <summary>Returns a int3 vector constructed from an int2 vector and an int value.</summary>
  1406. /// <param name="xy">The constructed vector's xy components will be set to this value.</param>
  1407. /// <param name="z">The constructed vector's z component will be set to this value.</param>
  1408. /// <returns>int3 constructed from arguments.</returns>
  1409. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1410. public static int3 int3(int2 xy, int z) { return new int3(xy, z); }
  1411. /// <summary>Returns a int3 vector constructed from an int3 vector.</summary>
  1412. /// <param name="xyz">The constructed vector's xyz components will be set to this value.</param>
  1413. /// <returns>int3 constructed from arguments.</returns>
  1414. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1415. public static int3 int3(int3 xyz) { return new int3(xyz); }
  1416. /// <summary>Returns a int3 vector constructed from a single int value by assigning it to every component.</summary>
  1417. /// <param name="v">int to convert to int3</param>
  1418. /// <returns>Converted value.</returns>
  1419. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1420. public static int3 int3(int v) { return new int3(v); }
  1421. /// <summary>Returns a int3 vector constructed from a single bool value by converting it to int and assigning it to every component.</summary>
  1422. /// <param name="v">bool to convert to int3</param>
  1423. /// <returns>Converted value.</returns>
  1424. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1425. public static int3 int3(bool v) { return new int3(v); }
  1426. /// <summary>Return a int3 vector constructed from a bool3 vector by componentwise conversion.</summary>
  1427. /// <param name="v">bool3 to convert to int3</param>
  1428. /// <returns>Converted value.</returns>
  1429. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1430. public static int3 int3(bool3 v) { return new int3(v); }
  1431. /// <summary>Returns a int3 vector constructed from a single uint value by converting it to int and assigning it to every component.</summary>
  1432. /// <param name="v">uint to convert to int3</param>
  1433. /// <returns>Converted value.</returns>
  1434. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1435. public static int3 int3(uint v) { return new int3(v); }
  1436. /// <summary>Return a int3 vector constructed from a uint3 vector by componentwise conversion.</summary>
  1437. /// <param name="v">uint3 to convert to int3</param>
  1438. /// <returns>Converted value.</returns>
  1439. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1440. public static int3 int3(uint3 v) { return new int3(v); }
  1441. /// <summary>Returns a int3 vector constructed from a single float value by converting it to int and assigning it to every component.</summary>
  1442. /// <param name="v">float to convert to int3</param>
  1443. /// <returns>Converted value.</returns>
  1444. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1445. public static int3 int3(float v) { return new int3(v); }
  1446. /// <summary>Return a int3 vector constructed from a float3 vector by componentwise conversion.</summary>
  1447. /// <param name="v">float3 to convert to int3</param>
  1448. /// <returns>Converted value.</returns>
  1449. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1450. public static int3 int3(float3 v) { return new int3(v); }
  1451. /// <summary>Returns a int3 vector constructed from a single double value by converting it to int and assigning it to every component.</summary>
  1452. /// <param name="v">double to convert to int3</param>
  1453. /// <returns>Converted value.</returns>
  1454. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1455. public static int3 int3(double v) { return new int3(v); }
  1456. /// <summary>Return a int3 vector constructed from a double3 vector by componentwise conversion.</summary>
  1457. /// <param name="v">double3 to convert to int3</param>
  1458. /// <returns>Converted value.</returns>
  1459. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1460. public static int3 int3(double3 v) { return new int3(v); }
  1461. /// <summary>Returns a uint hash code of a int3 vector.</summary>
  1462. /// <param name="v">Vector value to hash.</param>
  1463. /// <returns>uint hash of the argument.</returns>
  1464. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1465. public static uint hash(int3 v)
  1466. {
  1467. return csum(asuint(v) * uint3(0x4C7F6DD1u, 0x4822A3E9u, 0xAAC3C25Du)) + 0xD21D0945u;
  1468. }
  1469. /// <summary>
  1470. /// Returns a uint3 vector hash code of a int3 vector.
  1471. /// When multiple elements are to be hashes together, it can more efficient to calculate and combine wide hash
  1472. /// that are only reduced to a narrow uint hash at the very end instead of at every step.
  1473. /// </summary>
  1474. /// <param name="v">Vector value to hash.</param>
  1475. /// <returns>uint3 hash of the argument.</returns>
  1476. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1477. public static uint3 hashwide(int3 v)
  1478. {
  1479. return (asuint(v) * uint3(0x88FCAB2Du, 0x614DA60Du, 0x5BA2C50Bu)) + 0x8C455ACBu;
  1480. }
  1481. /// <summary>Returns the result of specified shuffling of the components from two int3 vectors into an int value.</summary>
  1482. /// <param name="left">int3 to use as the left argument of the shuffle operation.</param>
  1483. /// <param name="right">int3 to use as the right argument of the shuffle operation.</param>
  1484. /// <param name="x">The ShuffleComponent to use when setting the resulting int.</param>
  1485. /// <returns>int result of the shuffle operation.</returns>
  1486. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1487. public static int shuffle(int3 left, int3 right, ShuffleComponent x)
  1488. {
  1489. return select_shuffle_component(left, right, x);
  1490. }
  1491. /// <summary>Returns the result of specified shuffling of the components from two int3 vectors into an int2 vector.</summary>
  1492. /// <param name="left">int3 to use as the left argument of the shuffle operation.</param>
  1493. /// <param name="right">int3 to use as the right argument of the shuffle operation.</param>
  1494. /// <param name="x">The ShuffleComponent to use when setting the resulting int2 x component.</param>
  1495. /// <param name="y">The ShuffleComponent to use when setting the resulting int2 y component.</param>
  1496. /// <returns>int2 result of the shuffle operation.</returns>
  1497. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1498. public static int2 shuffle(int3 left, int3 right, ShuffleComponent x, ShuffleComponent y)
  1499. {
  1500. return int2(
  1501. select_shuffle_component(left, right, x),
  1502. select_shuffle_component(left, right, y));
  1503. }
  1504. /// <summary>Returns the result of specified shuffling of the components from two int3 vectors into an int3 vector.</summary>
  1505. /// <param name="left">int3 to use as the left argument of the shuffle operation.</param>
  1506. /// <param name="right">int3 to use as the right argument of the shuffle operation.</param>
  1507. /// <param name="x">The ShuffleComponent to use when setting the resulting int3 x component.</param>
  1508. /// <param name="y">The ShuffleComponent to use when setting the resulting int3 y component.</param>
  1509. /// <param name="z">The ShuffleComponent to use when setting the resulting int3 z component.</param>
  1510. /// <returns>int3 result of the shuffle operation.</returns>
  1511. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1512. public static int3 shuffle(int3 left, int3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z)
  1513. {
  1514. return int3(
  1515. select_shuffle_component(left, right, x),
  1516. select_shuffle_component(left, right, y),
  1517. select_shuffle_component(left, right, z));
  1518. }
  1519. /// <summary>Returns the result of specified shuffling of the components from two int3 vectors into an int4 vector.</summary>
  1520. /// <param name="left">int3 to use as the left argument of the shuffle operation.</param>
  1521. /// <param name="right">int3 to use as the right argument of the shuffle operation.</param>
  1522. /// <param name="x">The ShuffleComponent to use when setting the resulting int4 x component.</param>
  1523. /// <param name="y">The ShuffleComponent to use when setting the resulting int4 y component.</param>
  1524. /// <param name="z">The ShuffleComponent to use when setting the resulting int4 z component.</param>
  1525. /// <param name="w">The ShuffleComponent to use when setting the resulting int4 w component.</param>
  1526. /// <returns>int4 result of the shuffle operation.</returns>
  1527. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1528. public static int4 shuffle(int3 left, int3 right, ShuffleComponent x, ShuffleComponent y, ShuffleComponent z, ShuffleComponent w)
  1529. {
  1530. return int4(
  1531. select_shuffle_component(left, right, x),
  1532. select_shuffle_component(left, right, y),
  1533. select_shuffle_component(left, right, z),
  1534. select_shuffle_component(left, right, w));
  1535. }
  1536. [MethodImpl(MethodImplOptions.AggressiveInlining)]
  1537. internal static int select_shuffle_component(int3 a, int3 b, ShuffleComponent component)
  1538. {
  1539. switch(component)
  1540. {
  1541. case ShuffleComponent.LeftX:
  1542. return a.x;
  1543. case ShuffleComponent.LeftY:
  1544. return a.y;
  1545. case ShuffleComponent.LeftZ:
  1546. return a.z;
  1547. case ShuffleComponent.RightX:
  1548. return b.x;
  1549. case ShuffleComponent.RightY:
  1550. return b.y;
  1551. case ShuffleComponent.RightZ:
  1552. return b.z;
  1553. default:
  1554. throw new System.ArgumentException("Invalid shuffle component: " + component);
  1555. }
  1556. }
  1557. }
  1558. }