示例#1
0
 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);
 }
示例#2
0
 public static Matrix2D Multiply(Matrix2D left, Matrix3x3 right)
 {
     Matrix2D result;
     Multiply(ref left, ref right, out result);
     return result;
 }
示例#3
0
 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);
 }
示例#4
0
 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);
 }
示例#5
0
 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);
 }
示例#6
0
 public override void ApplyMatrix(ref Matrix2D matrix)
 {
     Vector2D.Transform(ref matrix.VertexMatrix, ref Zero, out position);
     base.ApplyMatrix(ref matrix);
 }