public static void Multiply(ref Matrix2D left, ref Matrix3x3 right, out Matrix2D result) { result.NormalMatrix = left.NormalMatrix; Matrix3x3.Multiply(ref left.VertexMatrix, ref right, out result.VertexMatrix); }
public static Matrix2D Multiply(Matrix2D left, Matrix3x3 right) { Matrix2D result; Multiply(ref left, ref right, out result); return result; }
public static void FromALVector2D(ref ALVector2D source,out Matrix2D result) { Matrix2x2.FromRotation(ref source.Angular, out result.NormalMatrix); Matrix3x3.FromTranslate2D(ref source.Linear, out result.VertexMatrix); Matrix3x3.Multiply(ref result.VertexMatrix, ref result.NormalMatrix, out result.VertexMatrix); }
public static void Invert(ref Matrix2D value, out Matrix2D result) { Matrix2x2.Invert(ref value.NormalMatrix, out result.NormalMatrix); Matrix3x3.Invert(ref value.VertexMatrix, out result.VertexMatrix); }
public static void Multiply(ref Matrix2x2 left, ref Matrix2D right, out Matrix2D result) { Matrix2x2.Multiply(ref left, ref right.NormalMatrix, out result.NormalMatrix); Matrix3x3.Multiply(ref left, ref right.VertexMatrix, out result.VertexMatrix); }
public override void ApplyMatrix(ref Matrix2D matrix) { Vector2D.Transform(ref matrix.VertexMatrix, ref Zero, out position); base.ApplyMatrix(ref matrix); }