No Description
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.

math_unity_conversion.cs 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #if !UNITY_DOTSPLAYER
  2. using UnityEngine;
  3. #pragma warning disable 0660, 0661
  4. namespace Unity.Mathematics
  5. {
  6. public partial struct float2
  7. {
  8. /// <summary>
  9. /// Converts a float2 to Vector2.
  10. /// </summary>
  11. /// <param name="v">float2 to convert.</param>
  12. /// <returns>The converted Vector2.</returns>
  13. public static implicit operator Vector2(float2 v) { return new Vector2(v.x, v.y); }
  14. /// <summary>
  15. /// Converts a Vector2 to float2.
  16. /// </summary>
  17. /// <param name="v">Vector2 to convert.</param>
  18. /// <returns>The converted float2.</returns>
  19. public static implicit operator float2(Vector2 v) { return new float2(v.x, v.y); }
  20. }
  21. public partial struct float3
  22. {
  23. /// <summary>
  24. /// Converts a float3 to Vector3.
  25. /// </summary>
  26. /// <param name="v">float3 to convert.</param>
  27. /// <returns>The converted Vector3.</returns>
  28. public static implicit operator Vector3(float3 v) { return new Vector3(v.x, v.y, v.z); }
  29. /// <summary>
  30. /// Converts a Vector3 to float3.
  31. /// </summary>
  32. /// <param name="v">Vector3 to convert.</param>
  33. /// <returns>The converted float3.</returns>
  34. public static implicit operator float3(Vector3 v) { return new float3(v.x, v.y, v.z); }
  35. }
  36. public partial struct float4
  37. {
  38. /// <summary>
  39. /// Converts a Vector4 to float4.
  40. /// </summary>
  41. /// <param name="v">Vector4 to convert.</param>
  42. /// <returns>The converted float4.</returns>
  43. public static implicit operator float4(Vector4 v) { return new float4(v.x, v.y, v.z, v.w); }
  44. /// <summary>
  45. /// Converts a float4 to Vector4.
  46. /// </summary>
  47. /// <param name="v">float4 to convert.</param>
  48. /// <returns>The converted Vector4.</returns>
  49. public static implicit operator Vector4(float4 v) { return new Vector4(v.x, v.y, v.z, v.w); }
  50. }
  51. public partial struct quaternion
  52. {
  53. /// <summary>
  54. /// Converts a quaternion to Quaternion.
  55. /// </summary>
  56. /// <param name="q">quaternion to convert.</param>
  57. /// <returns>The converted Quaternion.</returns>
  58. public static implicit operator Quaternion(quaternion q) { return new Quaternion(q.value.x, q.value.y, q.value.z, q.value.w); }
  59. /// <summary>
  60. /// Converts a Quaternion to quaternion.
  61. /// </summary>
  62. /// <param name="q">Quaternion to convert.</param>
  63. /// <returns>The converted quaternion.</returns>
  64. public static implicit operator quaternion(Quaternion q) { return new quaternion(q.x, q.y, q.z, q.w); }
  65. }
  66. public partial struct float4x4
  67. {
  68. /// <summary>
  69. /// Converts a Matrix4x4 to float4x4.
  70. /// </summary>
  71. /// <param name="m">Matrix4x4 to convert.</param>
  72. /// <returns>The converted float4x4.</returns>
  73. public static implicit operator float4x4(Matrix4x4 m) { return new float4x4(m.GetColumn(0), m.GetColumn(1), m.GetColumn(2), m.GetColumn(3)); }
  74. /// <summary>
  75. /// Converts a float4x4 to Matrix4x4.
  76. /// </summary>
  77. /// <param name="m">float4x4 to convert.</param>
  78. /// <returns>The converted Matrix4x4.</returns>
  79. public static implicit operator Matrix4x4(float4x4 m) { return new Matrix4x4(m.c0, m.c1, m.c2, m.c3); }
  80. }
  81. }
  82. #endif