diff --git a/Bindings/Portable/External/MathHelper.cs b/Bindings/Portable/External/MathHelper.cs index d234529a1..b7e8b33c1 100644 --- a/Bindings/Portable/External/MathHelper.cs +++ b/Bindings/Portable/External/MathHelper.cs @@ -317,7 +317,7 @@ public static float Lerp(float lhs, float rhs, float t) return lhs * (1.0f - t) + rhs * t; } - public static string ToFixedSizeString(float number, int cellSize, int precision) + public static string ToFixedSizeString(this float number, int cellSize, int precision) { // Similiar to "G{cellSize}" format but without exponential format var value = number.ToString($"F{precision}"); diff --git a/Bindings/Portable/Structs.cs b/Bindings/Portable/Structs.cs index a9e717792..63a16d1bb 100644 --- a/Bindings/Portable/Structs.cs +++ b/Bindings/Portable/Structs.cs @@ -483,6 +483,14 @@ public Matrix3x4 Inverse() left.M41 * rhs.m03 + left.M42 * rhs.m13 + left.M43 * rhs.m23 + left.M44 ); } + + public override string ToString() + { + const int cellSize = 6, prec = 2; + return $"| {m00.ToFixedSizeString(cellSize, prec)} | {m01.ToFixedSizeString(cellSize, prec)} | {m02.ToFixedSizeString(cellSize, prec)} | {m03.ToFixedSizeString(cellSize, prec)} |\n" + + $"| {m10.ToFixedSizeString(cellSize, prec)} | {m11.ToFixedSizeString(cellSize, prec)} | {m12.ToFixedSizeString(cellSize, prec)} | {m13.ToFixedSizeString(cellSize, prec)} |\n" + + $"| {m20.ToFixedSizeString(cellSize, prec)} | {m21.ToFixedSizeString(cellSize, prec)} | {m22.ToFixedSizeString(cellSize, prec)} | {m23.ToFixedSizeString(cellSize, prec)} |"; + } } [StructLayout (LayoutKind.Sequential)]