PageRenderTime 45ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/PhysicsEngines/Jitter/JitterDatatypesMapping.cs

#
C# | 122 lines | 74 code | 7 blank | 41 comment | 0 complexity | fd2c9ef5f62c05ba0b9328fdce8cb911 MD5 | raw file
Possible License(s): Apache-2.0
  1. using Delta.Utilities.Datatypes;
  2. using Jitter.LinearMath;
  3. namespace Delta.PhysicsEngines.Jitter
  4. {
  5. /// <summary>
  6. /// Implements mapping between Jitter data types and Delta engine data types.
  7. ///
  8. /// Sadly we can't do all the nice union stuff we do with XNA, because we
  9. /// don't have Jitter referenced in the datatypes.
  10. /// </summary>
  11. internal static class JitterDatatypesMapping
  12. {
  13. #region Convert (Static)
  14. /// <summary>
  15. /// Perform conversion between DeltaEngine Matrix and Jitter Matrix.
  16. /// </summary>
  17. /// <param name="matrix">The DeltaEngine matrix.</param>
  18. /// <returns>The converted Jitter matrix.</returns>
  19. public static JMatrix Convert(ref Matrix matrix)
  20. {
  21. JMatrix result;
  22. result.M11 = matrix.M11;
  23. result.M12 = matrix.M12;
  24. result.M13 = matrix.M13;
  25. result.M21 = matrix.M21;
  26. result.M22 = matrix.M22;
  27. result.M23 = matrix.M23;
  28. result.M31 = matrix.M31;
  29. result.M32 = matrix.M32;
  30. result.M33 = matrix.M33;
  31. return result;
  32. }
  33. /// <summary>
  34. /// Convert a Jitter matrix into a Delta Matrix.
  35. /// </summary>
  36. /// <param name="matrix">The Jitter matrix to convert.</param>
  37. /// <param name="result">The converterd delta matrix.</param>
  38. public static void Convert(JMatrix matrix, ref Matrix result)
  39. {
  40. result.M11 = matrix.M11;
  41. result.M12 = matrix.M12;
  42. result.M13 = matrix.M13;
  43. result.M21 = matrix.M21;
  44. result.M22 = matrix.M22;
  45. result.M23 = matrix.M23;
  46. result.M31 = matrix.M31;
  47. result.M32 = matrix.M32;
  48. result.M33 = matrix.M33;
  49. }
  50. /// <summary>
  51. /// Convert DeltaEngine vector to Jitter vector.
  52. /// </summary>
  53. /// <param name="vector">DeltaEngine vector.</param>
  54. /// <returns>The converted Jitter vector.</returns>
  55. public static JVector Convert(ref Vector vector)
  56. {
  57. JVector result;
  58. result.X = vector.X;
  59. result.Y = vector.Y;
  60. result.Z = vector.Z;
  61. return result;
  62. }
  63. /// <summary>
  64. /// Convert DeltaEngine vector to Jitter vector.
  65. /// </summary>
  66. /// <param name="vector">DeltaEngine vector.</param>
  67. /// <param name="result">The converted Jitter vector.</param>
  68. public static void Convert(ref Vector vector, out JVector result)
  69. {
  70. result.X = vector.X;
  71. result.Y = vector.Y;
  72. result.Z = vector.Z;
  73. }
  74. #endregion
  75. #region ConvertSlow (Static)
  76. /// <summary>
  77. /// Convert DeltaEngine vector to Jitter vector.
  78. /// </summary>
  79. /// <param name="vector">DeltaEngine vector.</param>
  80. /// <returns>The converted Jitter vector.</returns>
  81. public static JVector ConvertSlow(Vector vector)
  82. {
  83. JVector result;
  84. result.X = vector.X;
  85. result.Y = vector.Y;
  86. result.Z = vector.Z;
  87. return result;
  88. }
  89. #endregion
  90. #region Convert (Static)
  91. /// <summary>
  92. /// Convert Jitter vector to DeltaEngine vector.
  93. /// </summary>
  94. /// <param name="vector">Jitter vector.</param>
  95. /// <param name="result">The converted Jitter vector.</param>
  96. public static void Convert(JVector vector, out Vector result)
  97. {
  98. result.X = vector.X;
  99. result.Y = vector.Y;
  100. result.Z = vector.Z;
  101. }
  102. /// <summary>
  103. /// Convert Jitter vector to DeltaEngine vector.
  104. /// </summary>
  105. /// <param name="vector">Jitter vector.</param>
  106. /// <param name="result">The converted Jitter vector.</param>
  107. public static void Convert(ref JVector vector, out Vector result)
  108. {
  109. result.X = vector.X;
  110. result.Y = vector.Y;
  111. result.Z = vector.Z;
  112. }
  113. #endregion
  114. }
  115. }