diff --git a/src/Xna.Framework/Pose3.cs b/src/Xna.Framework/Pose3.cs index cd6515e3e25..c8bfc73cefb 100644 --- a/src/Xna.Framework/Pose3.cs +++ b/src/Xna.Framework/Pose3.cs @@ -2,12 +2,14 @@ using System; using System.Diagnostics; +using System.Runtime.InteropServices; using System.Runtime.Serialization; namespace Microsoft.Xna.Framework { [DataContract] [DebuggerDisplay("{DebugDisplayString,nq}")] + [StructLayout(LayoutKind.Sequential, Size = 32)] public struct Pose3 : IEquatable { #region Private Fields @@ -30,7 +32,6 @@ public struct Pose3 : IEquatable /// [DataMember] public Vector3 Translation; - private float _padw; #endregion @@ -64,7 +65,6 @@ public Pose3(Quaternion orientation, Vector3 translation) { this.Orientation = orientation; this.Translation = translation; - this._padw = default; } /// @@ -77,7 +77,6 @@ public static Pose3 Inverse(Pose3 value) Pose3 result; result.Orientation = Quaternion.Inverse(value.Orientation); result.Translation = Vector3.Transform(-value.Translation, result.Orientation); - result._padw = default; return result; } @@ -92,7 +91,6 @@ public static Pose3 Multiply(Pose3 left, Pose3 right) Pose3 result; result.Orientation = Quaternion.Multiply(left.Orientation, right.Orientation); result.Translation = Vector3.Transform(left.Translation, right); - result._padw = default; return result; }