Example #1
0
 public static M33d Multiply(Rot2d rot2, Rot3d rot3)
 {
     return(Rot2d.Multiply(rot2, (M33d)rot3));
 }
 /// <summary>
 /// Multiplies 2 Euclidean transformations.
 /// This concatenates the two rigid transformations into a single one, first b is applied, then a.
 /// Attention: Multiplication is NOT commutative!
 /// </summary>
 public static Euclidean2d Multiply(Euclidean2d a, Euclidean2d b)
 {
     //a.Rot * b.Rot, a.Trans + a.Rot * b.Trans
     return(new Euclidean2d(Rot2d.Multiply(a.Rot, b.Rot), a.Trans + a.Rot.TransformDir(b.Trans)));
 }
Example #3
0
 /// <summary>
 /// </summary>
 public static M33d operator *(Rot2d rot, Scale3d scale)
 {
     return(Rot2d.Multiply(rot, scale));
 }
Example #4
0
 /// <summary>
 /// </summary>
 public static M34d operator *(Rot2d rot, Shift3d shift)
 {
     return(Rot2d.Multiply(rot, shift));
 }
Example #5
0
 /// <summary>
 /// </summary>
 public static Rot2d operator *(Rot2d r0, Rot2d r1)
 {
     return(Rot2d.Multiply(r0, r1));
 }
Example #6
0
 /// <summary>
 /// </summary>
 public static M33d operator *(Rot2d rot2, Rot3d rot3)
 {
     return(Rot2d.Multiply(rot2, rot3));
 }
Example #7
0
 /// <summary>
 /// </summary>
 public static M44d operator *(Rot2d rot, M44d mat)
 {
     return(Rot2d.Multiply(rot, mat));
 }
Example #8
0
 /// <summary>
 /// </summary>
 public static V4d operator *(Rot2d rot, V4d vec)
 {
     return(Rot2d.Multiply(rot, vec));
 }
Example #9
0
 /// <summary>
 /// Multiplies rotation with scalar value.
 /// </summary>
 public static Rot2d operator *(double val, Rot2d rot)
 {
     return(Rot2d.Multiply(rot, val));
 }